Java
Java 基礎這部分一些簡單的問題就直接沒有放上來。
基礎:
- Java 反射?反射有什麼缺點?你是怎麼理解反射的(為什麼框架需要反射)?
- 談談對 Java 註解的理解,解決了什麼問題?
- 內部類瞭解嗎?匿名內部類瞭解嗎?
- BIO和NIO區別,4核cpu,100個http連線,用BIO和NIO分別需要多少個執行緒
- HashMap的負載因子。
jvm:
- jvm 記憶體結構
- jvm 調優引數
- 什麼是類載入?
- 何時類載入?
- java的類載入流程?
- 知道哪些類載入器。類載入器之間的關係?
- 類載入器之間的關係?
- 類載入器的雙親委派 (結合tomcat說一下雙親委派)
- 為什麼需要雙親委派
- Java記憶體模型
- 棧中存放什麼資料,堆中呢?
- 大物件放在哪個記憶體區域
- 堆區如何分類
- 垃圾回收有哪些演演算法
- GC的全流程
- GC中老年代用什麼回收方法?
JVM面試題解析
多執行緒:
- Java執行緒池有哪些引數?阻塞佇列有幾種?拒絕策略有幾種?
- 死鎖
多執行緒面試題解析
設計模式:
- 閱讀Spring原始碼的時候什麼設計模式最讓你影響深刻?如何使用?
- 單例模式,單例模式的使用場景
- 觀察者模式,觀察者模式的使用場景
設計模式解析
Spring
- spring boot和spring的區別
- ioc 和 aop(ioc流程、aop實現原理)、spring aop例外處理、當一段程式碼被try catch後再發生異常時,aop的異常通知是否執行,為什麼?
- spring bean的生命週期說一下
- spring data jpa底層是什麼?
- hibernate和mybatis區別
- spring boot 過濾器
- spring boot 攔截器
- Spring動態代理預設用哪一種
- 寫出spring jdk動態代理的實現。
- 畫出spring boot處理一個http請求的全過程
spring 面試題解析
推薦
- 手寫實現Spring核心功能: github.com/jinzzzzz/sp…
許可權認證
- 認證 (Authentication) 和授權 (Authorization)的區別是什麼?
- 什麼是Cookie ? Cookie的作用是什麼?如何在伺服器端使用 Cookie ?
- Cookie 和 Session 有什麼區別?如何使用Session進行身份驗證?
- 如果沒有Cookie的話Session還能用嗎?
- 為什麼Cookie 無法防止CSRF攻擊,而token可以?
- 什麼是 Token?什麼是 JWT?如何基於Token進行身份驗證?
- 什麼是OAuth 2.0?
- 什麼是SSO(單點登入)
微服務/分散式
- 為什麼要閘道器?
- 限流的演演算法有哪些?
- 為什麼要分散式 id ?分散式 id 生成策略有哪些?
- 瞭解RPC嗎?有哪些常見的 RPC 框架?
- 如果讓你自己設計 RPC 框架你會如何設計?
- Dubbo 瞭解嗎?Spring Cloud 瞭解嗎?
微服務/分散式面試題解析
資料庫
- 非關係型資料庫和關係型資料庫的區別?
- 事務的四大特性
- MySQL 事務隔離級別?預設是什麼級別?
- 樂觀鎖與悲觀鎖的區別
- 資料庫兩種儲存引擎的區別
- 最左字首匹配原則及它的原因
- 大表優化的思路
- where和having的區別
- 分庫分表
- explain 命令
資料庫面試題解析
索引
- 如何加快資料庫查詢速度
- 聚集索引和非聚集索引的區別
- 什麼時候不該使用索引?
- 索引底層的資料結構?
- B+樹做索引比紅黑樹好在哪裡?
資料庫索引面試題解析
Redis:
- 專案中 redis 是怎麼用的?解決了什麼問題?
- 說一下有快取情況下查詢的流程以及有快取情況下修改的流程。
- redis有哪些資料結構
- redis記憶體滿了怎麼辦
- redis記憶體淘汰演演算法除了lru還有哪些
- 分散式快取可能出現的問題
- 快取穿透問題
網路
- 計算機網路的一些常見狀態碼
- ping 所使用的協定
- TCP的三次握手與四次揮手的內容
- TCP為什麼連線是三次握手而斷開是四次握手
- TCP與UDP的區別及使用場景
- 一次完整的HTTP請求所經的步驟
- http 如何儲存登入資訊(沒太搞懂意思)
- Cookie 和 Session的關係
網路面試題解析
演演算法和資料結構
演演算法
- LRU 演演算法瞭解嗎?你能實現一個嗎?
- 寫排序演演算法(快排、堆排)
資料結構
- 布隆過濾器瞭解嗎?
演演算法與資料結構面試解析
設計題
- 假如有10億個數,只有一個重複,記憶體只能放下5億個數,怎麼找到這個重複的數位?
- 如何設計一個秒殺系統(伺服器端、資料庫、分散式)?分散式系統的設計?
- 有一個伺服器專門接收大量請求,怎麼設計?
- 如果讓你自己設計 RPC 框架你會如何設計?
- 怎麼快速出現一個stackoverflow錯誤?
其他問題
- 自我介紹。
- 說說你的專案中的亮點有哪些。
- 畫一下你的專案的架構圖。
- Restful 瞭解嗎?簡單說一下自己對它的認識,如果我要返回一個 boolean 型別的資料怎麼辦?
經驗總結
- 多面試,不要害怕失敗,多總結經驗。
- 儘早準備,不論是找工作前、面試前還是面試後。
- 熟悉自己的簡歷。
- 電話和視訊面試很平常,面試前提前準備一下。
- 堅持!offer 雖然可能會遲到,但是隻要不放棄,就一定不會缺席。
答案獲取
這些面試題的答案,我已經整理成為一份Java面試檔案中了
Java面試檔案
Java面試檔案
每個章節下面都有一個詳細的知識點,有需要只需要你給我一點支援即可免費獲取道該檔案