カフカのインタビューの質問と回答トップ 14 (2025)

ここでは、新人だけでなく経験豊富な候補者も夢の仕事に就くための、Kafka の面接での質問と回答を紹介します。


1) Apache Kafka とは何ですか?

Apache Kafka は、Scala で書かれた Apache によって開発されたパブリッシュ/サブスクライブ メッセージング システムです。 これは、分散され、パーティション化され、複製されたログ サービスです。

無料 PDF ダウンロード: カフカのインタビューの質問と回答


2) 従来のメッセージ転送方法について言及してください。

従来のメッセージ転送方法には XNUMX つの方法があります

  • キューイング: キューイングでは、コンシューマーのプールがサーバーからメッセージを読み取り、各メッセージがそのうちの XNUMX つに送信されます。
  • パブリッシュ-サブスクライブ: このモデルでは、メッセージはすべてのコンシューマにブロードキャストされます。

Kafka は、上記の両方 (消費者グループ) を一般化した単一の消費者抽象化に対応します。


3) 従来の技術に対する Apache Kafka の利点について言及してください。

Apache Kafka には、従来のメッセージング技術に比べて次の利点があります。

  • 高速: 単一の Kafka ブローカーは、XNUMX 秒あたり数メガバイトの読み取りと書き込みを処理することで、数千のクライアントにサービスを提供できます。
  • 可変的な、測定できる、登れる、はがせる: データはマシンのクラスター全体で分割および合理化され、より大きなデータが可能になります
  • 耐久性: メッセージは永続的であり、データ損失を防ぐためにクラスター内で複製されます。
  • デザインによる配布: 耐障害性の保証と耐久性を提供します

4) Kafka におけるブローカーの意味について言及してください。

Kafka クラスターでは、サーバーを指すためにブローカーという用語が使用されます。


5) Kafka サーバーが受信できるメッセージの最大サイズはどれくらいですか?

Kafka サーバーが受信できるメッセージの最大サイズは 1000000 バイトです。

カフカのインタビューの質問
カフカのインタビューの質問

6) Kafka の Zookeeper とは何ですか? Zookeeper なしで Kafka を使用できますか?

Zookeeper は、Kafka によって適応された分散アプリケーションに使用されるオープンソースの高性能調整サービスです。 いいえ、Zookeeper をバイパスして Kafka ブローカーに直接接続することはできません。 Zookeeper がダウンすると、クライアントの要求に対応できなくなります。

  • Zookeeper は基本的に、クラスター内の異なるノード間で通信するために使用されます。
  • Kafka では、オフセットをコミットするために使用されるため、いずれの場合でもノードが失敗した場合は、以前にコミットされたオフセットから取得できます。
  • これとは別に、リーダーの検出、分散同期、構成管理、新しいノードの離脱または参加の時期、クラスター、ノードのステータスをリアルタイムで識別するなどの他のアクティビティも実行します。

7) Kafka のコンシューマーによってメッセージがどのように消費されるかを説明しますか?

Kafka でのメッセージの転送は sendfile を使用して行われます API。 これにより、カーネルのスペースを節約するコピーを介してソケットからディスクにバイトを転送したり、カーネル ユーザーからカーネルに戻る呼び出しが可能になります。


8) リモート コンシューマのスループットを向上させる方法を説明してください。

コンシューマーがブローカーとは別のデータセンターにある場合は、長いネットワーク遅延を解消するためにソケット バッファ サイズの調整が必要になる場合があります。

Apache Kafka の面接の質問
Apache Kafka の面接の質問

9) データ作成中に Kafka からメッセージを XNUMX 回だけ取得する方法を説明してください。

データ作成中、本番環境で Kafka からメッセージを XNUMX 回だけ取得するには、XNUMX つのことに従う必要があります。 データ消費時の重複の回避 および データ作成時の重複を回避します。 データ生成中に XNUMX つのセマンティクスを正確に取得する XNUMX つの方法を次に示します。

  1. パーティションごとに単一のライターを使用し、ネットワーク エラーが発生するたびに、そのパーティション内の最後のメッセージをチェックして、最後の書き込みが成功したかどうかを確認します。
  2. メッセージに主キー (UUID など) を含め、コンシューマで重複を排除します。

10) ISR でのチャーンを減らす方法を説明してください。 ブローカーはいつ ISR を離れるのですか?

ISR は、リーダーと完全に同期されたメッセージ レプリカのセットです。つまり、ISR にはコミットされたすべてのメッセージが含まれます。 実際に障害が発生するまで、ISR には常にすべてのレプリカを含める必要があります。 レプリカがリーダーから逸脱すると、ISR からドロップアウトされます。


11) Kafka ではなぜレプリケーションが必要ですか?

Kafka でのメッセージのレプリケーションにより、パブリッシュされたメッセージは失われず、マシン エラー、プログラム エラー、またはより一般的なソフトウェア アップグレードの場合でも使用できることが保証されます。


12) レプリカが長期間 ISR から外れている場合、それは何を示していますか?

レプリカが長期間にわたって ISR から外れている場合、それは、フォロワーがリーダーに蓄積されたデータと同じ速度でデータをフェッチできないことを示します。


13) 優先レプリカが ISR にない場合に何が起こるかについて言及してください。

優先レプリカが ISR にない場合、コントローラーは移動に失敗します。 リーダーシップ 優先レプリカにコピーします。


14) 生成後にメッセージのオフセットを取得することは可能ですか?

ほとんどのキュー システムのようにプロデューサーとして動作するクラスからはこれを行うことはできません。その役割はメッセージを発行して忘れることです。 ブローカーは、ID やオフセットなどを使用した適切なメタデータ処理などの残りの作業を実行します。メッセージのコンシューマーとして、Kafka ブローカーからオフセットを取得できます。 じっと見つめていたら、 シンプルコンシューマー クラス、フェッチしていることに気づくでしょう マルチフェッチ応答 オフセットをリストとして含むオブジェクト。 それに加えて、Kafka メッセージを反復すると、次のようになります。 メッセージとオフセット オフセットと送信されたメッセージの両方を含むオブジェクト。

これらの面接の質問は、あなたの活力(口頭)にも役立ちます

シェアする

コメントを残す

あなたのメールアドレスは公開されません。 必須フィールドは、マークされています *