Java自學!阿里大牛親手操刀微服務架構實戰
01 Kakfa面試瘋狂轟炸44問
1.1 Kakfa基礎面試篇
-
1.Kafka的用途有哪些?使用場景如何?
-
2.Kafka中的ISR、AR又代表什麼?ISR的伸縮又指什麼
-
3.Kafka中的HW、LEO、LSO、LW等分別代表什麼?
-
4.Kafka中是怎麼體現訊息順序性的?
-
5.Kafka中的分割槽器、序列化器、攔截器是否瞭解?它們之間的處理順序是什麼?
-
6.Kafka生產者客戶端的整體結構是什麼樣子的?
-
7.Kafka生產者客戶端中使用了幾個執行緒來處理?分別是什麼?
-
8.Kafka的舊版Scala的消費者客戶端的設計有什麼缺陷?
-
9.“消費組中的消費者個數如果超過topic的分割槽,那麼就會有消費者消費不到資料”這句話是否正確?如果正確,那麼有沒有什麼hack的手段?
-
10.有哪些情形會造成重複消費?
-
11.那些情景下會造成訊息漏消費?
-
12.KafkaConsumer是非執行緒安全的,那麼怎麼樣實現多執行緒消費?
-
13.簡述消費者與消費組之間的關係
-
14.當你使用kafka-topics.sh建立(刪除)了一個topic之後,Kafka背後會執行什麼邏輯?
-
15.topic的分割槽數可不可以增加?如果可以怎麼增加?如果不可以,那又是為什麼?
-
16.topic的分割槽數可不可以減少?如果可以怎麼減少?如果不可以,那又是為什麼?
-
17.建立topic時如何選擇合適的分割槽數?
1.2 Kakfa進階面試篇
-
1.Kafka目前有哪些內部topic,它們都有什麼特徵?各自的作用又是什麼?
-
2.優先副本是什麼?它有什麼特殊的作用?
-
3.Kafka有哪幾處地方有分割槽分配的概念?簡述大致的過程及原理
-
4.簡述Kafka的日誌目錄結構
-
5.Kafka中有哪些索引檔案?
-
6.如果我指定了一個offset,Kafka怎麼查詢到對應的訊息?
-
7.如果我指定了一個timestamp,Kafka怎麼查詢到對應的訊息?
-
8.聊一聊你對Kafka的Log Retention的理解
-
9.聊一聊你對Kafka的Log Compaction的理解
-
10.聊一聊你對Kafka底層儲存的理解
-
11.聊一聊Kafka的延時操作的原理
-
12聊一聊Kafka控制器的作用
-
13.Kafka的舊版Scala的消費者客戶端的設計有什麼缺陷?
-
14.消費再均衡的原理是什麼?(提示:消費者協調器和消費組協調器)
-
15.Kafka中的冪等是怎麼實現的?
1.3 Kakfa高階面試篇
-
1.Kafka中的事務是怎麼實現的?
-
2.失效副本是指什麼?有哪些應對措施?
-
3.多副本下,各個副本中的HW和LEO的演變過程
-
4.Kafka在可靠性方面做了哪些改進?(HW, LeaderEpoch)
-
5.為什麼Kafka不支援讀寫分離?
-
6.Kafka中的延遲佇列怎麼實現
-
7.Kafka中怎麼實現死信佇列和重試佇列?
-
8.Kafka中怎麼做訊息審計?
-
9.Kafka中怎麼做訊息軌跡?
-
10.怎麼計算Lag?(注意read_uncommitted和read_committed狀態下的不同)
-
11.Kafka有哪些指標需要著重關注?
-
12.Kafka的那些設計讓它有如此高的效能?
02 總結:繪上一張Kakfa架構思維大綱腦圖(xmind)
其實關於Kafka,能問的問題實在是太多了,扒了幾天,最終篩選出44問:基礎篇17問、進階篇15問、高階篇12問,個個直戳痛點,不知道如果你不著急看答案,又能答出幾個呢?
最後
現在正是金三銀四的春招高潮,前陣子小編一直在搭建自己的網站,並整理了全套的【一線網際網路大廠Java核心面試題庫+解析】:包括Java基礎、異常、集合、併發程式設計、JVM、Spring全家桶、MyBatis、Redis、資料庫、中介軟體MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等...都已全部整理上傳在我的騰訊文件上:點選這裡前往傳送門並會持續更新...可以star一下。