03.05 硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

Java

Java 基礎這部分一些簡單的問題就直接沒有放上來。

基礎:

  1. Java 反射?反射有什麼缺點?你是怎麼理解反射的(為什麼框架需要反射)?
  2. 談談對 Java 註解的理解,解決了什麼問題?
  3. 內部類瞭解嗎?匿名內部類瞭解嗎?
  4. BIO和NIO區別,4核cpu,100個http連接,用BIO和NIO分別需要多少個線程
  5. HashMap的負載因子。
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊


jvm:

  1. jvm 內存結構
  2. jvm 調優參數
  3. 什麼是類加載?
  4. 何時類加載?
  5. java的類加載流程?
  6. 知道哪些類加載器。類加載器之間的關係?
  7. 類加載器之間的關係?
  8. 類加載器的雙親委派 (結合tomcat說一下雙親委派)
  9. 為什麼需要雙親委派
  10. Java內存模型
  11. 棧中存放什麼數據,堆中呢?
  12. 大對象放在哪個內存區域
  13. 堆區如何分類
  14. 垃圾回收有哪些算法
  15. GC的全流程
  16. GC中老年代用什麼回收方法?
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

JVM面試題解析

硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊


多線程:

  1. Java線程池有哪些參數?阻塞隊列有幾種?拒絕策略有幾種?
  2. 死鎖
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

多線程面試題解析


設計模式:

  1. 閱讀Spring源碼的時候什麼設計模式最讓你影響深刻?如何使用?
  2. 單例模式,單例模式的使用場景
  3. 觀察者模式,觀察者模式的使用場景
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

設計模式解析


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

Spring

  1. spring boot和spring的區別
  2. ioc 和 aop(ioc流程、aop實現原理)、spring aop異常處理、當一段代碼被try catch後再發生異常時,aop的異常通知是否執行,為什麼?
  3. spring bean的生命週期說一下
  4. spring data jpa底層是什麼?
  5. hibernate和mybatis區別
  6. spring boot 過濾器
  7. spring boot 攔截器
  8. Spring動態代理默認用哪一種
  9. 寫出spring jdk動態代理的實現。
  10. 畫出spring boot處理一個http請求的全過程


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

spring 面試題解析


推薦

  1. 手寫實現Spring核心功能: github.com/jinzzzzz/sp…

權限認證

  1. 認證 (Authentication) 和授權 (Authorization)的區別是什麼?
  2. 什麼是Cookie ? Cookie的作用是什麼?如何在服務端使用 Cookie ?
  3. Cookie 和 Session 有什麼區別?如何使用Session進行身份驗證?
  4. 如果沒有Cookie的話Session還能用嗎?
  5. 為什麼Cookie 無法防止CSRF攻擊,而token可以?
  6. 什麼是 Token?什麼是 JWT?如何基於Token進行身份驗證?
  7. 什麼是OAuth 2.0?
  8. 什麼是SSO(單點登錄)


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊


微服務/分佈式

  1. 為什麼要網關?
  2. 限流的算法有哪些?
  3. 為什麼要分佈式 id ?分佈式 id 生成策略有哪些?
  4. 瞭解RPC嗎?有哪些常見的 RPC 框架?
  5. 如果讓你自己設計 RPC 框架你會如何設計?
  6. Dubbo 瞭解嗎?Spring Cloud 瞭解嗎?
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

微服務/分佈式面試題解析


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊


數據庫

  1. 非關係型數據庫和關係型數據庫的區別?
  2. 事務的四大特性
  3. MySQL 事務隔離級別?默認是什麼級別?
  4. 樂觀鎖與悲觀鎖的區別
  5. 數據庫兩種存儲引擎的區別
  6. 最左前綴匹配原則及它的原因
  7. 大表優化的思路
  8. where和having的區別
  9. 分庫分表
  10. explain 命令
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

數據庫面試題解析


索引

  1. 如何加快數據庫查詢速度
  2. 聚集索引和非聚集索引的區別
  3. 什麼時候不該使用索引?
  4. 索引底層的數據結構?
  5. B+樹做索引比紅黑樹好在哪裡?
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

數據庫索引面試題解析


Redis:

  1. 項目中 redis 是怎麼用的?解決了什麼問題?
  2. 說一下有緩存情況下查詢的流程以及有緩存情況下修改的流程。
  3. redis有哪些數據結構
  4. redis內存滿了怎麼辦
  5. redis內存淘汰算法除了lru還有哪些
  6. 分佈式緩存可能出現的問題
  7. 緩存穿透問題

網絡

  1. 計算機網絡的一些常見狀態碼
  2. ping 所使用的協議
  3. TCP的三次握手與四次揮手的內容
  4. TCP為什麼連接是三次握手而斷開是四次握手
  5. TCP與UDP的區別及使用場景
  6. 一次完整的HTTP請求所經的步驟
  7. http 如何保存登錄信息(沒太搞懂意思)
  8. Cookie 和 Session的關係
硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

網絡面試題解析


算法和數據結構

算法

  1. LRU 算法瞭解嗎?你能實現一個嗎?
  2. 寫排序算法(快排、堆排)

數據結構

  1. 布隆過濾器瞭解嗎?


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

算法與數據結構面試解析

設計題

  1. 假如有10億個數,只有一個重複,內存只能放下5億個數,怎麼找到這個重複的數字?
  2. 如何設計一個秒殺系統(服務端、數據庫、分佈式)?分佈式系統的設計?
  3. 有一個服務器專門接收大量請求,怎麼設計?
  4. 如果讓你自己設計 RPC 框架你會如何設計?
  5. 怎麼快速出現一個stackoverflow錯誤?

其他問題

  1. 自我介紹。
  2. 說說你的項目中的亮點有哪些。
  3. 畫一下你的項目的架構圖。
  4. Restful 瞭解嗎?簡單說一下自己對它的認識,如果我要返回一個 boolean 類型的數據怎麼辦?

經驗總結

  1. 多面試,不要害怕失敗,多總結經驗。
  2. 儘早準備,不論是找工作前、面試前還是面試後。
  3. 熟悉自己的簡歷。
  4. 電話和視頻面試很平常,面試前提前準備一下。
  5. 堅持!offer 雖然可能會遲到,但是隻要不放棄,就一定不會缺席。

答案獲取

這些面試題的答案,我已經整理成為一份Java面試文檔中了,如果你需要這一份面試pdf的話,關注轉發這篇文章之後私信回覆【面試】即可免費獲取到!

硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

Java面試文檔


硬核乾貨!2020最新Java最常見面試題彙總,備戰阿里,字節,騰訊

Java面試文檔

每個章節下面都有一個詳細的知識點,有需要可以私信我獲取到這份文檔!


分享到:


相關文章: