2020年最新BAT資深Java面經合集:CMS+紅黑樹+執行緒狀態+事務隔離+中介軟體
阿新 • • 發佈:2020-10-10
求職招聘高峰,總結了一份BAT(阿里、百度等)資深Java相關的面試題合集給到大家。
文末有相關的2020最新BAT資深java面試題答案~用於參考
JVM
- JVM記憶體模型結構
- 方法區和直接記憶體什麼時候會oom?
- JVM收集器G1的記憶體模型和CMS的記憶體模型有什麼不同?
- jvm調優用過嗎?
- 如何檢視java記憶體使用情況(jconsole、命令jmap、jstack等等)
集合
- Arraylist、linkedlist差異,應用場景;
- HashMap在JDK1.8有哪些改動?
- HashCurrentMap和HashMap的區別在哪裡?
- Hashmap什麼時候使用紅黑樹?
多執行緒
- 執行緒的幾種狀態,請畫出具體的狀態流轉圖?
- Java wait、sleep的區別?
- volatile如何實現指令重排序?
- 執行緒池中的阻塞佇列如果滿了怎麼辦(拒絕策略)?
- Synchronized和AQS異同,AQS公平非公平如何實現;
- 多執行緒裡面對一個整型做加減為啥不能用volatile;
- voliatile和synchonized有什麼區別?synchonized和jdk提供的Lock包又有什麼區別?
演算法
- 二叉樹寬度遍歷
- 紅黑樹
- 資料結構的話,連結串列,樹,圖的基本知識得懂
- 瞭解樹的先序遍歷,中序遍歷,後序遍歷。圖的廣度優先搜尋演算法,深度優先搜尋演算法。
Spring
- Bean的生命週期;
- 什麼是DI、為什麼DI、DI的型別(構造器注入、方法注入);
- Spring boot和spring的差別,tomcat如何嵌入spring boot的/spring boot中的tomcat是如何啟動的;
- Spring如何解決迴圈依賴問題;
資料庫
- Join(inner、left、right)的區別?
- Union和union all區別?
- ACID,具體是啥意思?
- 事務隔離級別?
- 幻讀和不可重複讀的區別?
- Mysql和mongodb有啥區別?
計算機網路
- RPC和http的區別
- 詳細描述TCP四次揮手過程
中介軟體
- 秒殺專案會使用到哪些中介軟體?
- 為什麼Redis是單執行緒?
- 如何保證Redis和資料庫雙寫一致?
- 如何設計一個訊息佇列中介軟體?
- 分庫分表後,id主鍵如何處理?
- 如何設計一個類似Dubbo的RPC?
以上就總結的資深BAT(阿里、百度等) Java面試題合集,以下最新總結的2020BAT高階Java必考題答案,用於參考~
2020 BAT高階Java必考題答案
答案獲取方式
點贊+關注,加助理VX:mxx2020666,即可免費領取