前 11 名卡夫卡面試問題和答案 [對於應屆生]

已發表: 2021-02-22

自 2011 年發布以來的九年中,Kafka 已將自己確立為技術領域最有價值的數據處理工具之一。 Airbnb、Goldman Sachs、Netflix、LinkedIn、Microsoft、Target 和 The New York Times 只是建立在 Kafka 上的少數幾家公司。

但卡夫卡是什麼? 簡單的答案是——它可以幫助優步司機匹配潛在乘客,或者幫助 LinkedIn 執行數百萬實時分析或可預測的服務。 簡而言之,Apache 是一個高度可擴展、開源、容錯的分佈式事件流平台,由 LinkedIn 在 2011 年創建。它使用您可以訂閱的提交日誌,然後可以將其發佈到多個流應用程序上。

它的低延遲、數據集成和高吞吐量使其越來越受歡迎,以至於 Kafka 的專業知識被認為是候選人簡歷的重要補充,並且具有認證資格的專業人士如今需求量很大。 這也導致以卡夫卡為中心的工作機會增加。

在本文中,我們整理了一份 Kafka 面試問題和答案列表,這些問題和答案最有可能在您的下一次面試中出現。 在參加面試之前,您可能需要查看這些以提高您的知識。 所以,我們開始吧!

前 11 名卡夫卡面試問題和答案

1. 什麼是 Apache Kafka?

Kafka 是由 Apache Software Foundation 創建的免費、開源數據處理工具。 它是用 Scala 和 Java 編寫的,是一種分佈式實時數據存儲,旨在處理流數據。 它提供了在體面的硬件上工作的高吞吐量。

當數千個數據源同時連續發送數據記錄時,就會產生流式數據。 為了處理這些流數據,流平台需要在處理不間斷的數據流入的同時,按順序和增量地處理這些數據。

Kafka 接收這些傳入的數據湧入,並構建流數據管道,處理數據並將數據從一個系統移動到另一個系統。

卡夫卡的功能

  • 它負責發布數據記錄流並訂閱它們
  • 它按照數據流的生成順序處理數據流的有效存儲
  • 它負責實時天數處理

卡夫卡的用途

  • 數據整合
  • 實時分析
  • 實時存儲
  • 消息代理解決方案
  • 欺詐識別
  • 股票交易

2. 我們為什麼要使用 Kafka?

Apache Kafka 充當中樞神經系統,使流數據可用於所有流應用程序(使用流數據的應用程序稱為流應用程序)。 它通過構建實時數據管道來做到這一點,這些管道負責在需要使用它的不同系統之間處理和傳輸數據。

Kafka 通過處理和調解通信充當兩個應用程序之間的消息代理系統。

它具有多種用途,包括實時數據的消息傳遞、處理、存儲、傳輸、集成和分析。

3. Apache Kafka 的主要特點是什麼?

Kafka 的顯著特點包括:

1. 持久性——Kafka 允許無縫支持跨服務器的數據分區的分佈和復制,然後將這些分區寫入磁盤。 這減少了服務器發生故障的機會,使數據具有持久性和容錯性,並提高了其持久性。

2. 可擴展性——Kafka 可以在許多服務器上被干擾和替換,這使得它具有高度的可擴展性,超出了單個服務器的容量。 Kafka 的數據分區因此沒有停機時間。

3. 零數據丟失——通過適當的支持和正確的配置,數據丟失可以減少到零。

4. 速度——由於數據流解耦,延遲極低,Apache Kafka 非常快。 它與 Apache Spark、Apache Apex、Apache Flink、Apache Storm 等一起使用,所有這些都是實時外部流應用程序。

5. 高吞吐量和復制——Kafka 有能力支持數百萬條消息,這些消息在多個服務器之間複製,以提供對多個訂閱者的訪問。

4. 卡夫卡是如何工作的?

Kafka 通過組合兩種消息傳遞模型來工作,從而將它們排隊、發布和訂閱它們,以便許多消費者實例可以訪問它。

排隊通過允許處理數據並將其分發到多個消費者服務器來提高可伸縮性。 但是,這些隊列不適合多訂閱者。 這就是發布和訂閱方法介入的地方。但是,由於每個消息實例隨後都將發送給每個訂閱者,因此這種方法不能用於跨多個進程分發數據。

因此,Kafka 採用數據分區來結合這兩種方法。 它使用分區日誌模型,其中每個日誌(一系列數據記錄)被分成更小的段(分區),以滿足多個訂閱者的需求。

這使得不同的訂閱者可以訪問相同的主題,由於每個訂閱者都提供了一個分區,因此可以擴展。

Kafka 的分區日誌模型也是可重放的,允許不同的應用程序獨立運行,同時仍然從數據流中讀取。

5. Kafka 的四大組件是什麼?

Kafka 有四個組件。 他們是:

- 話題

– 製片人

– 經紀人

- 消費者

主題是相同類型的消息流。

生產者能夠向給定主題發布消息。

代理是存儲生產者發布的消息流的服務器。

消費者是訂閱主題並訪問代理存儲的數據的訂閱者。

6、Kafka有多少API?

Kafka 有五個主要的 API,它們是:

Producer API:負責向給定主題發布消息或記錄流。

– Consumer API:稱為主題的訂閱者,用於拉取生產者發布的消息。

– Streams API:允許應用程序處理流; 這涉及處理任何給定主題的輸入流並將其轉換為輸出流。 然後可以將該輸出流發送到不同的輸出主題。

– 連接器 API:充當自動化系統,可以將不同的應用程序添加到現有的 Kafka 主題中。

– 管理 API: Kafka 主題由管理 API 管理,代理和其他幾個 Kafka 對像也是如此。

7. 抵消的重要性是什麼?

分配給存儲在分區中的消息的唯一標識號稱為偏移量。 偏移量用作分區中包含的每條消息的標識號。

8. 定義消費者組。

當一堆訂閱的主題被多個消費者共同消費時,稱為消費者組。

9. 解釋 Zookeeper 的重要性。 Kafka 可以在沒有 Zookeeper 的情況下使用嗎?

在 Zookeeper 的幫助下存儲特定主題的偏移量(唯一 ID 號)以及特定消費者組使用的分區。 它充當用戶之間的協調通道。 沒有 Zookeeper 的 Kafka 是不可能使用的。 如果繞過 Zookeeper,它會使 Kafka 服務器無法訪問,並且無法處理客戶端請求。

10. Kafka中的Leader和Follower是什麼意思?

Kafka 中的每個分區都分配了一個服務器,作為領導者。 每個讀/寫請求都由 Leader 處理。 追隨者的作用是追隨領導者的腳步。 如果系統導致Leader失效,其中一個Follower會停止複制,代之以Leader,負責負載均衡。

11. 如何啟動 Kafka 服務器?

在啟動 Kafka 服務器之前,請啟動 Zookeeper。 請按照以下步驟操作:

動物園管理員服務器:

> bin/zookeeper-server-start.sh 配置/zookeeper.properties

卡夫卡服務器:

bin/kafka-server-start.sh 配置/server.properties

結論

如果您有興趣了解有關大數據的更多信息,請查看我們的 PG 大數據軟件開發專業文憑課程,該課程專為在職專業人士設計,提供 7 多個案例研究和項目,涵蓋 14 種編程語言和工具,實用的動手操作研討會,超過 400 小時的嚴格學習和頂級公司的就業幫助。

在 upGrad 查看我們的其他軟件工程課程。

引領數據驅動的技術革命

7 個案例研究和項目。 與頂級公司的工作協助。 敬業的學生導師。
IIIT Bangalore 大數據高級證書課程