面試官最愛問的Kafka,基礎+進階+高階,44問瘋狂轟炸!

熬夜不加班發表於2021-06-04

面試官最愛問的Kakfa,基礎+進階+高階,44問瘋狂轟炸!

Kafka是一種高吞吐量的分散式釋出訂閱訊息系統,它可以處理消費者規模的網站中的所有動作流資料。 這種動作(網頁瀏覽,搜尋和其他使用者的行動)是在現代網路上的許多社會功能的一個關鍵因素。 這些資料通常是由於吞吐量的要求而透過處理日誌和日誌聚合來解決。 對於像Hadoop的一樣的日誌資料和離線分析系統,但又要求實時處理的限制,這是一個可行的解決方案。Kafka的目的是透過Hadoop的並行載入機制來統一線上和離線的訊息處理,也是為了透過叢集來提供實時的訊息。

而這幾年,大資料發展迅猛,Kakfa 憑藉高可靠、高吞吐、高可用、可伸縮幾大特性,成為資料管道技術的首選,也成了面試官的最愛。

前陣子,有幾個朋友跟我吐槽面試,被Kakfa給問懵逼了,有點可惜呀,就這麼pass了。細思極恐,想想以後要是我直面面試官,是否也會被瘋狂轟炸??所以這幾天趁著沒啥事兒,四處蒐集整理各大企業招聘面試時最愛問的Kakfa問題,分為基礎篇+進階篇+高階篇,一步一個腳印慢慢深入,拿下kafka

如需原件分享,找微u;mf97532


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問,個個直戳痛點,不知道如果你不著急看答案,又能答出幾個呢?

若是對Kafka的知識還回憶不起來,不妨先看我手繪的知識總結腦圖(xmind不能上傳,文章裡用的是圖片版)進行整體架構的梳理,然後在來答一答我們們的44問(放心,答案解析已整理,解析+腦圖+更多筆記等皆可分享)。

梳理了知識,刷完了面試,如若你還想進一步的深入學習解讀kafka以及原始碼,那麼接下來的這份《手寫“kafka”》將會是個不錯的選擇。

  • Kafka入門

  • 為什麼選擇Kafka

  • Kafka的安裝、管理和配置

  • Kafka的叢集

  • 第一個Kafka程式

  • Kafka的生產者

  • Kafka的消費者

  • 深入理解Kafka

  • 可靠的資料傳遞

  • Spring和Kafka的整合

  • SpringBoot和Kafka的整合

  • Kafka實戰之削峰填谷

  • 資料管道和流式處理(瞭解即可)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70000181/viewspace-2775533/,如需轉載,請註明出處,否則將追究法律責任。

相關文章