2021年最新Java面試經歷,持久化資料安全RDB、AOF
01 併發寶典:面試專題
面試專題分為四個部分,分別如下
-
Synchronized 相關問題
-
可重入鎖 ReentrantLock 及其他顯式鎖相關問題
-
Java 執行緒池相關問題
-
Java 記憶體模型相關問題
1.1 Synchronized 相關問題(這裡整理了八問)
-
問題一:Synchronized用過嗎?其原理是什麼?
-
問題二:你剛才提到獲取物件的鎖 ,這個“ 鎖 ”到底是什麼?如何確定物件的鎖?
-
問題 三:什麼是可重入性 , 為什麼說Synchronized是可重入鎖?
-
問題四:JVM對Java的原生鎖做了哪些優化?
-
問題五:為什麼說Synchronized是非公平鎖?
-
問題六:什麼是鎖消除和鎖粗化 ?
-
問題七:為什麼說Synchronized是一個悲觀鎖?樂觀鎖的實現原理又是什麼?什麼是CAS,它有 什麼特性?
-
問題八:樂觀鎖一定就是好的嗎?
1.2 可重入鎖 ReentrantLock 及其他顯式鎖相關問題(八問)
-
問題一: 跟 Synchronized 相 比 ,可重入鎖ReentrantLock其實現原理有什麼不同?
-
問題二:那麼請談談AQS框架是怎麼回事兒?
-
問題三:請儘可能詳盡地對比下Synchronized 和 ReentrantLock的 異 同
-
問題四: ReentrantLock 是如何實現可重入性的?
-
問題五: 除了ReetrantLock,你還接觸過JUC中的哪些併發工具?
-
問題六: 請談談ReadWriteLock 和 StampedLock。
-
問題七: 如何讓Java的執行緒彼此同步?你瞭解過哪些同步器?請分別介紹下 。
-
問題八: CyclicBarrier 和 CountDownLatch 看起來很相似,請對比下呢?
1.3 Java 執行緒池相關問題(六問)
-
問題一:Java中的執行緒池是如何實現的?
-
問題二:建立執行緒池的幾個核心構造引數?
-
問題三:執行緒池中的執行緒是怎麼建立的?是一開始就隨著執行緒池的啟動建立好的嗎?
-
問題四:既然提到可以通過配置不同引數創建出不同的執行緒池,那麼Java中預設實現好的執行緒池又 有哪些呢?請比較它們的異同 。
-
問題六:如何在Java執行緒池中提交執行緒?
1.4 Java 記憶體模型相關問題(六問)
-
問題一:什麼是Java的記憶體模型,Java中各個執行緒是怎麼彼此看到對方的變數的?
-
問題二:請談談volatile有什麼特點,為什麼它能保證變數對所有執行緒的可見性?
-
問題三:既然volatile能夠保證執行緒間的變數可見性,是不是就意味著基於volatile變數的運算就是並 發安全的 ?
-
問題四:請對比下volatile對比Synchronized的異同
-
問題六:很多人都說要慎用ThreadLocal,談談你的理解,使用ThreadLocal需要注意些什麼?
02 併發寶典:體系大綱專題
-
Java併發體系
-
多執行緒併發程式設計大綱
體系大綱是個人對知識的總結梳理,全程用的xmind手繪,不過檔案不能上傳,所以這裡都是上傳的圖片形式,不過有原件
2.1 Java併發體系
2.2 多執行緒併發程式設計
03 併發寶典:筆記專題
3.1 手寫四份併發筆記:併發程式設計+原理+模式+應用
3.1.1 併發程式設計
-
1.概覽
-
⒉程序與執行緒
-
3.Java執行緒
-
4.共享模型之管程
-
5.共享模型之記憶體
-
6.共享模型之無鎖
-
7.共享模型之不可變
-
8.共享模型之工具
3.1.2 原理篇
-
指令級並行原理
-
CPU快取結構原理
-
volatile l原理
-
final 原理
-
Monitor 原理
-
synchronized 原理
-
synchronized 原理進階
-
wait notify l原理
-
join 原理
-
park unpark 原理
-
AQS 原理
-
ReentrantLock 原理
-
讀寫鎖原理
-
Semaphore 原理
-
ConcurrentHashMap 原理
-
LinkedBlockingQueue 原理
-
ConcurrentLinkedQueue 原理
3.1.3 模式篇
-
同步模式之保護性暫停
-
同步模式之Balking
-
同步模式之順序控制
-
非同步模式之生產者/消費者
-
非同步模式之工作執行緒
-
終止模式之兩階段終止模式
-
執行緒安全單例
-
享元模式
3.1.4 應用篇
-
效率
-
限制
-
互斥
-
同步和非同步
-
快取
-
分治統籌
-
定時
總結:繪上一張Kakfa架構思維大綱腦圖(xmind)
其實關於Kafka,能問的問題實在是太多了,扒了幾天,最終篩選出44問:基礎篇17問、進階篇15問、高階篇12問,個個直戳痛點,不知道如果你不著急看答案,又能答出幾個呢?
若是對Kafka的知識還回憶不起來,不妨先看我手繪的知識總結腦圖(xmind不能上傳,文章裡用的是圖片版)進行整體架構的梳理
梳理了知識,刷完了面試,如若你還想進一步的深入學習解讀kafka以及原始碼,那麼接下來的這份《手寫“kafka”》將會是個不錯的選擇。
-
Kafka入門
-
為什麼選擇Kafka
-
Kafka的安裝、管理和配置
-
Kafka的叢集
-
第一個Kafka程式
-
Kafka的生產者
-
Kafka的消費者
-
深入理解Kafka
-
可靠的資料傳遞
-
Spring和Kafka的整合
-
SpringBoot和Kafka的整合
-
Kafka實戰之削峰填谷
-
資料管道和流式處理(瞭解即可)