馬上進入求職招聘高峰,總結了一份BAT(阿里、百度等)資深Java相關的面試題合集給到大家。
文末有相關的2019最新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面試題合集,以下最新總結的2019 BAT高級Java必考題答案,用於參考~
2019 BAT高級Java必考題答案
答案獲取方式
轉發後+回覆關鍵詞 【bat】即可獲取~
重要的話說三遍,先轉發,轉發,轉發,然後私信才可拿到必考題答案哦!