經典面試題-Kafka

  • 2020 年 2 月 24 日
  • 筆記

第 7 章 Kafka 面試題

7.1 面試問題

  1. Kafka 中的 ISR(InSyncRepli)、OSR(OutSyncRepli)、AR(AllRepli)代表什麼?
  2. Kafka 中的 HW、LEO 等分別代表什麼?
  3. Kafka 中是怎麼體現消息順序性的?
  4. Kafka 中的分區器、序列化器、攔截器是否了解?它們之間的處理順序是什麼?
  5. Kafka 生產者客戶端的整體結構是什麼樣子的?使用了幾個線程來處理?分別是什麼?
  6. 「消費組中的消費者個數如果超過 topic 的分區,那麼就會有消費者消費不到數據」這句話是否正確?
  7. 消費者提交消費位移時提交的是當前消費到的最新消息的 offset 還是 offset+1?
  8. 有哪些情形會造成重複消費?
  9. 那些情景會造成消息漏消費?
  10. 當你使用 kafka-topics.sh 創建(刪除)了一個 topic 之後,Kafka 背後會執行什麼邏輯?
 1)會在 zookeeper 中的/brokers/topics 節點下創建一個新的 topic 節點,如:/brokers/topics/first   2)觸發 Controller 的監聽程序   3)kafka Controller 負責 topic 的創建工作,並更新 metadata cache
  1. topic 的分區數可不可以增加?如果可以怎麼增加?如果不可以,那又是為什麼?
  2. topic 的分區數可不可以減少?如果可以怎麼減少?如果不可以,那又是為什麼?
  3. Kafka 有內部的 topic 嗎?如果有是什麼?有什麼所用?
  4. Kafka 分區分配的概念?
  5. 簡述 Kafka 的日誌目錄結構?
  6. 如果我指定了一個 offset,Kafka Controller 怎麼查找到對應的消息?
  7. 聊一聊 Kafka Controller 的作用?
  8. Kafka 中有那些地方需要選舉?這些地方的選舉策略又有哪些?
  9. 失效副本是指什麼?有那些應對措施?
  10. Kafka 的哪些設計讓它有如此高的性能?