Cisco Foundation Group インタビュー (一部)

対面での 3 回のラウンドの後、最初の 2 回は記録されたビデオが壊れたため、多くの質問を忘れてしまいました。

ラウンド1

  • Q: ハッシュマップ スレッドが安全ではない理由を説明する例を挙げてください
    A 1 : JDK1.8 HashMap スレッドは安全ではありません: データ カバレッジ:
    ここに画像の説明を挿入
    コードの 6 行目は、ハッシュの衝突があるかどうかを判断するためのものです。スレッド A と B が put 操作を実行しており、ハッシュ関数によって計算された挿入添字が同じである場合、スレッド A が 6 行目のコードを実行すると、タイム スライスが枯渇したため中断され、スレッド B が要素を挿入しますタイムスライスを取得後、添え字に挿入して終了 通常挿入、その後スレッドAがタイムスライスを取得 ハッシュ衝突判定は以前に行っているので、今回は判定はしないが、挿入はこれにより、スレッド B によって挿入されたデータがスレッド A によって上書きされ、スレッドが安全ではなくなります。
    CAS 操作を使用して、同じ場所で ConcurrentHashMap を比較しました。
    ここに画像の説明を挿入

  • 揮発性、CASなど

  • AQS

  • このデータが mysql と elasticSearch の両方に保存されるのはなぜですか? es にのみ保存できますか?

  • カフカはメッセージの信頼性をどのように保証しますか

  • カフカはどのように消費をスピードアップしますか

ラウンド 2
のアルゴリズムとデータ構造に関する質問。たとえば、topK: ドキュメント内の頻度が上位 k (k は比較的小さく、多くても 1/4) の単語を見つける方法は?
後で、メモリがドキュメント全体を保持できる場合、2つの方法があると考えました. クイックソートに基づく2番目の方法は、時間の複雑さO(N)を実現できます:まず
、どちらの方法を使用しても、最初に文書内の文書を数えます. 単語の頻度, そしてエントリの配列を取得します.時間のこの部分はO(N). 次に:
方法 1: 小さなルート ヒープを使用します。この部分の時間計算量は O(Nlogk) です。
方法 2: クイック ソートに基づいて、この部分の時間計算量は O(N) です。

メモリがドキュメント全体を保持できない場合は、方法 1 に基づいて拡張します。

ラウンド 3

  • 仮想カウンセラー プロジェクトを紹介し、分散ロックについて説明します。
  • HTTP 接続が長い
  • Linux で使用したパケット キャプチャ ツールはどれですか?
  • MTU(Maximum Transmission Unit)を知っていますか
  • netstat コマンドを実行すると、多くの tcp 接続が TIME_WAIT 状態になっていることがわかります.これはどういう意味ですか?
  • ロックを持つ親プロセスが子プロセスを fork します.2 つのプロセスのロックは相互に排他的ですか?
  • プロセスおよびスレッド関連の問題
  • k8s ネットワーク: 異なるノード間のポッドはどのように通信しますか? 名前空間? IPTables を知っていますか?
  • ネットワークに関しては、トンネリング技術を理解していますか?
  • 同期ロックのアップグレード
  • Maven ビルド中のパッケージ競合の問題を解決する方法

  1. HashMap スレッドが 安全でない理由↩︎

  2. LeetcodeCnの347.最初のK個の高周波 要素の解↩︎

おすすめ

転載: blog.csdn.net/qq_23204557/article/details/128974318