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

2020-09-25 11:00:20

硬核乾貨!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面試檔案中了

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

Java面試檔案

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

Java面試檔案

每個章節下面都有一個詳細的知識點,有需要只需要你給我一點支援即可免費獲取道該檔案