日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2020年5月面试精心整理java面试题,覆盖了大部分面试题(附答案)

發布時間:2024/1/8 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020年5月面试精心整理java面试题,覆盖了大部分面试题(附答案) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今年的工作格外難找,不知道別的小伙伴什么樣子,反正我是不好找,由于疫情影響,每個公司都在縮減成本,要求也變高了。很多公司要求第一學歷統招本科,雖然是本科,但不是統招,很難混啊。面了一個多月,初試復試面了30多次,精心整理了面試題。

答案附在公眾號上

Java基礎


  • 談談你對java的看法?
  • 集合的接口有哪些?
  • list接口有哪些實現類?
  • hashmap的工作原理?
  • 為什么要進行兩倍擴容?
  • hashmap和hashtable有什么區別?
  • tree和hashmap的區別?
  • linkedhashmap是怎么實現有序的?
  • 為什么會出現hash沖突?如何解決?
  • hashmap一般用什么作為key,為什么?
  • 繼承的作用?
  • 接口和抽象類的區別?
  • 接口的作用?
  • 抽象類和普通類的區別?
  • Final,finally,finalize有什么區別?
  • static關鍵字的用法?
  • String為什么是不可變的?
  • Spring、SpringBuilder、SpringBuffer的區別?
  • ==和equals的區別?
  • hashcode和equals的關系
  • 自動裝箱和拆箱?
  • 怎么對Integer進行原子操作?
  • 淺拷貝和深拷貝?
  • 數組怎么轉list,list怎么轉數組?
  • AIO,BIO,NIO分別是什么,有什么區別,netty是用哪個實現的?
  • 多路復用怎么實現的?
  • Spring


  • 談談你對spring的理解?
  • 什么是依賴注入?
  • Ioc和它的實現原理?
  • 什么是aop,實現原理是什么?
  • bean的生命周期?
  • Spring的事務傳播?
  • @Autowired和@Resource之間的區別?
  • 監聽器、過濾器、攔截器的區別和執行順序?
  • Springmvc有哪些核心組件?
  • Spring mvc的工作原理?
  • Spring的bean為什么是單例的,spring怎么解決循環依賴的?
  • @Transaction怎么實現事務操作的?
  • Spring的容器有哪些?
  • mybatis


  • mybatis的原理?看過源碼嗎?
  • mybatis的緩存怎么做的?
  • mybatis和hibernate的區別?
  • #{}和${}的區別?
  • SpringBoot


  • springboot 的特性有哪些?
  • springboot和ssm有什么區別?
  • springboot是怎么實現自動配置的?
  • springboot的啟動原理?
  • springboot中的監視器是什么?
  • springboot怎么打war包?
  • maven怎么加載到私服?
  • springboot的核心注解是哪個?由幾個注解組成?
  • springboot如何解決跨域問題?
  • springboot的配置文件有哪些?
  • springboot常用注解有哪些?
  • springboot的starter是什么?
  • 怎么實現一個starter?
  • springboot怎么整合swagger?
  • 怎么把spring框架轉成springboot框架?
  • SpringCloud


  • springcloud和dubbo的區別?
  • 什么是eureka?
  • eureka和zookeeper的區別是什么?為什么?
  • 什么是spring cloud gateway?
  • springcloud feign調用時有個重試機制,怎么保證冪等性?
  • springcloud的組件有哪些?
  • dubbo


  • dubbo的默認協議是什么?
  • dubbo的容錯機制?
  • dubbo的負載均衡?
  • dubbo的注冊中心有哪些?
  • dubbo的序列化方式?
  • dubbo默認重試幾次?
  • dubbo怎么配置超時?
  • dubbo調用過程 ?
  • dubbo核心組件?
  • dubbo調用某一版本服務的方法怎么處理?
  • dubbo怎么做限流、熔斷?
  • 怎么做無狀態服務設計?
  • dubbo怎么做鏈路追蹤?tranceId和spanId是什么?
  • dubbo遇到方法重載時怎么處理?
  • 網絡


  • 了解tcp協議嗎?屬于七層網絡模型的哪一層?
  • 一次http請求經歷了哪些過程?
  • jvm虛擬機


  • jvm的內存結構?
  • jvm哪些區別會出現內存溢出,在什么情況下發生?
  • 什么是類加載器,類加載器有哪些?
  • 了解類加載嗎?
  • gc的回收算法有哪些?
  • new 一個對象的創建過程?
  • 怎么判斷對象存活?
  • 哪些可以作為gc roots?
  • 描述下gc的分代回收?
  • cms回收器產生內存碎片怎么處理?
  • jvm調試工具有哪些?
  • jdk1.8的垃圾收集器參數是什么?
  • jmm是什么?
  • thread的內存結構是什么樣的?
  • G1的工作原理,你們region一般設置多大?
  • gc的垃圾收集器有哪些?
  • 做過jvm調優么,除了修改堆內存你,還做過什么?了解編譯器優化?
  • 什么時候出發full gc?
  • 堆一般設置多大,越大越好嗎?
  • 多線程


  • 線程的狀態?
  • 阻塞是怎么產生的?
  • 說一下多線程的鎖機制?
  • synchronized的用法?
  • synchronized的底層原理?
  • synchronized的鎖升級過程?
  • synchronized和lock的區別?
  • 可重入鎖和不可重入鎖的區別?可重入的原理?
  • 談談對公平鎖的認識?
  • java中鎖的分類?
  • 多線程的死鎖是什么,怎么避免?
  • 為什么要使用線程池?
  • 常見的線程池有哪些?
  • 線程池的參數?
  • 一般設置多少核心線程數,核心線程數的設置策略?
  • 線程池處理任務的流程是怎樣的?
  • volatile和synchronized的區別?volatile的作用?
  • 如何控制線程池的優先級?
  • threadlocal的作用和原理?
  • cas是什么,有什么缺陷,怎么解決?
  • 操作線程是怎么進行線程切換的?
  • 創建線程的方式?
  • 說下callable和runnable接口的區別?
  • 一般我們用那種方式創建線程,為什么?
  • java常見的阻塞隊列有哪些?
  • 綜合(分布式,電商等)


  • 冪等性是什么?常見的解決方案?
  • 分布式鎖的常見解決方法?
  • 分布式事務的常見解決方案?
  • 秒殺的解決方案?
  • 分布式中的CAP,base理論了解么?
  • 樹節點的數據封裝?比如菜單
  • 秒殺怎么解決商品超賣問題?
  • 積分充值和積分兌換同時進行怎么處理?
  • 權限表的設計?
  • 訂單號的設計方案?
  • 假如有個一百萬數據的表,需要頻繁檢索,怎么設計?
  • 假如有一堆散列的小文件,每個10m左右,怎么做存儲?
  • 做一個權限驗證,每個id每分鐘只能訪問10次,現在每天都有上百萬的訪問次數。
  • bug的常見解決方法?
  • mysql


  • mysql執行一條sql經理了那些過程?
  • 如何分析慢sql?
  • 怎么優化sql語句?
  • 如果mysql返回的結果過大怎么處理?
  • 事務的特性?
  • mysql外連接、內連接和自連接的區別?
  • mysql的索引有哪些?為什么需要注意聯合索引的順序?
  • 主鍵索引和普通索引的區別?了解回表嗎
  • 索引的創建規則?
  • 什么情況下會導致索引失效?
  • 如何做mysql的性能優化?
  • mysql的存儲引擎有哪些?
  • 索引的原理,為什么快?
  • mysql怎么實現樂觀鎖,悲觀鎖?
  • mysql怎么實現行鎖,表鎖?
  • mysql innodb引擎的隔離級別?
  • union all和union的區別?
  • mysql存儲過程怎么寫?
  • 對a,b,c三個字段創建了聯合索引,單獨使用a條件或者c條件查詢會使索引失效嗎
  • 在innodb默認隔離級別下,A事務需要讀a數據,并更新,同時B事務更新了a數據,并提交了,A事務能讀到B提交后的數據嗎 ?
  • mysql和oracle的區別?
  • redis


  • redis的數據類型?
  • redis的持久化方式?
  • redis的集群方案?
  • redis怎么實現分布式鎖?
  • redis的哨兵機制
  • redis的set怎么進行呢集合操作?
  • redis的性能瓶頸?
  • redis怎么做活躍度統計?
  • redis怎么做發布訂閱?
  • redis 3.0之后的集群和之前的版本有什么區別?
  • redis的緩存雪崩,緩存穿透,緩存擊穿是什么,解決方案?
  • redis的pipeline
  • mq


  • active mq的工作原理?
  • mq的分組topic?
  • mq重復消費怎么處理?
  • mq消息丟失怎么辦?
  • mq消息積壓怎么處理?
  • mq生產者發消息異常了怎么處理?
  • mq的組成部分?
  • 設計模式


  • 抽象工廠和工廠模式的區別?
  • 簡單說下策略模式?
  • 裝飾者模式?
  • 單例模式?
  • 什么是訪問者模式?
  • 裝飾者模式和代理模式之間的區別?
  • 什么是責任鏈模式?
  • 說下觀察者模式?
  • 其他(es,mongodb,linux)


  • nginx的負載方式?
  • nginx跨域處理?
  • es的分片是什么?副本是什么?
  • es寫入慢的時候怎么優化?
  • mongodb的優勢是什么,和redis有什么區別?
  • mongodb中的分片是什么?
  • mongodb的客戶端是什么?
  • fastdfs是什么?
  • linux常用的命令有哪些?
  • cpu達到100%怎么排查,top命找到了這個進程之后怎么處理?
  • linux怎么查找一個文件?
  • linux怎么看日志?
  • linux怎么查看java的安裝路徑?
  • linux的定時任務怎么配?
  • linux怎么搜索指定字符的日志?
  • linux怎么在創建文件的時候賦權限?
  • 筆試題


  • 實現一個樹的遍歷?
  • 一個數組中有10000個數字,找出第二大的數,不可以用排序
  • 生成一個四位不能重復的隨機數?
  • 對一個Integer進行翻轉,考慮點,負數,零,翻轉后超過最大值
  • 畫一個京東或淘寶的訂單流程圖?
  • 寫一個二分查找的方法?
  • 線程的代碼,一個線程往隊列里寫數據,兩個線程從隊列里讀數據
  • 抽獎,兩臺iphone,十萬分之一的概率,五臺watch一萬分之一的概率,20個二千分之一的概率,設計表,畫出抽獎流程圖
  • 設計一個秒殺方案,列出核心技術和組件,簡要說明核心技術流程,畫出時序圖
  • 描述一次優化慢sql的過程,問題原因,解決方法。
  • 寫一個在多線程環境下會造成死鎖的偽代碼?
  • 分別用redis和zookeeper實現分布式鎖,寫出偽代碼,并簡要說明
  • 總結

    以上是生活随笔為你收集整理的2020年5月面试精心整理java面试题,覆盖了大部分面试题(附答案)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。