1. 程式人生 > 實用技巧 >2020年最新BAT資深Java面經合集:CMS+紅黑樹+執行緒狀態+事務隔離+中介軟體

2020年最新BAT資深Java面經合集:CMS+紅黑樹+執行緒狀態+事務隔離+中介軟體

求職招聘高峰,總結了一份BAT(阿里、百度等)資深Java相關的面試題合集給到大家。

文末有相關的2020最新BAT資深java面試題答案~用於參考

JVM

  1. JVM記憶體模型結構
  2. 方法區和直接記憶體什麼時候會oom?
  3. JVM收集器G1的記憶體模型和CMS的記憶體模型有什麼不同?
  4. jvm調優用過嗎?
  5. 如何檢視java記憶體使用情況(jconsole、命令jmap、jstack等等)

集合

  1. Arraylist、linkedlist差異,應用場景;
  2. HashMap在JDK1.8有哪些改動?
  3. HashCurrentMap和HashMap的區別在哪裡?
  4. Hashmap什麼時候使用紅黑樹?

多執行緒

  1. 執行緒的幾種狀態,請畫出具體的狀態流轉圖?
  2. Java wait、sleep的區別?
  3. volatile如何實現指令重排序?
  4. 執行緒池中的阻塞佇列如果滿了怎麼辦(拒絕策略)?
  5. Synchronized和AQS異同,AQS公平非公平如何實現;
  6. 多執行緒裡面對一個整型做加減為啥不能用volatile;
  7. voliatile和synchonized有什麼區別?synchonized和jdk提供的Lock包又有什麼區別?

演算法

  1. 二叉樹寬度遍歷
  2. 紅黑樹
  3. 資料結構的話,連結串列,樹,圖的基本知識得懂
  4. 瞭解樹的先序遍歷,中序遍歷,後序遍歷。圖的廣度優先搜尋演算法,深度優先搜尋演算法。

Spring

  1. Bean的生命週期;
  2. 什麼是DI、為什麼DI、DI的型別(構造器注入、方法注入);
  3. Spring boot和spring的差別,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何啟動的;
  4. Spring如何解決迴圈依賴問題;

資料庫

  1. Join(inner、left、right)的區別?
  2. Union和union all區別?
  3. ACID,具體是啥意思?
  4. 事務隔離級別?
  5. 幻讀和不可重複讀的區別?
  6. Mysql和mongodb有啥區別?

計算機網路

  1. RPC和http的區別
  2. 詳細描述TCP四次揮手過程

中介軟體

  1. 秒殺專案會使用到哪些中介軟體?
  2. 為什麼Redis是單執行緒?
  3. 如何保證Redis和資料庫雙寫一致?
  4. 如何設計一個訊息佇列中介軟體?
  5. 分庫分表後,id主鍵如何處理?
  6. 如何設計一個類似Dubbo的RPC?

以上就總結的資深BAT(阿里、百度等) Java面試題合集,以下最新總結的2020BAT高階Java必考題答案,用於參考~


2020 BAT高階Java必考題答案

答案獲取方式

點贊+關注,加助理VX:mxx2020666,即可免費領取