最新の「Ali」Java シニア エンジニア インタビュー 2023 年の高頻度の質問: JVM+Redis+ 同時実行性 + アルゴリズム + フレームワーク

序文

今年の一般的な環境に直面すると、転職の成功の難易度は例年よりもはるかに高くなっており、明らかに感じていることは次のとおりです:今年の Java 開発友人の転職面接では、どちら側か両側にかかわらず、彼らはテストを開始するでしょうJava プログラマーの技術スキルと基礎。ソースコードの解釈や核となる原理の理解もおまけのようなものになってしまい、特に Java の核となる基礎知識の一部を十分に理解していないか、システムの方向性をまったく持っていない友人へのインタビューは苦痛なものとなっています。

今回は、JVM、一般的に使用されるアルゴリズムとデータ構造、Redis キャッシュ、分散、Spring、マイクロサービスなど、国内企業の Java 面接でよくある質問を紹介します。「己を知り、敵を知り」ということわざにあるように、システム知識が統合されて初めて、常に更新されるテクノロジーをすぐに習得できると同時に、面接や仕事で目立つことができます。

スペースの都合上、ここではすべての回答を紹介することはできませんが、これらの質問を PDF ドキュメントにまとめ、必要な友人に無料で共有しました。同時に、それらを整理するのに多くの時間がかかりました。バックグラウンドでそれらについて考える必要がある [717 ] ことができる

Java システムの面接でよくある 300 の質問

Java コレクション 22 の質問

  1. ArrayList と Vector の違い。

  2. ArrayList、Vector、LinkedList のストレージ パフォーマンスと特性について話します。

  3. フェイルファストとフェイルセーフの違いは何ですか?

  4. ハッシュマップのデータ構造。

  5. ハッシュマップはどのように機能しますか?

  6. ハッシュマップはいつ拡張されますか?

  7. 要素にアクセスするときの List、Map、Set の 3 つのインターフェイスの特徴は何ですか?

  8. Set 内の要素は繰り返しができないのですが、繰り返しかどうかを区別する方法は何ですか? == ですか、equals() ですか? 両者の違いは何ですか?

  9. 2 つのオブジェクトは同じ値 (x.equals(y) == true) を持ちますが、異なるハッシュ コードを持つことができます。これは正しいですか?

  10. ヒープとスタックの違いは何ですか。

  11. Java コレクション クラス フレームワークの基本インターフェイスは何ですか?

  12. HashSet と TreeSet の違いは何ですか?

  13. HashSet の基礎となる実装は何ですか?

  14. LinkedHashMapの実装原理は何ですか?

  15. コレクション クラスが Cloneable インターフェイスと Serializable インターフェイスを実装していないのはなぜですか?

  16. イテレーターとは何ですか?

  17. Iterator と ListIterator の違いは何ですか?

  18. 配列 (Array) とリスト (ArrayList) の違いは何ですか? ArrayList の代わりに Array を使用する必要があるのはどのような場合ですか?

  19. Java コレクション クラス フレームワークのベスト プラクティスは何ですか?

  20. Set内の要素は繰り返しができないのですが、繰り返しかどうかをどのような方法で区別しているのでしょうか?== または equals() を使用しますか? どう違うのでしょうか?

  21. Comparable インターフェイスと Comparator インターフェイスは何のためにありますか? それらの違いを列挙する

  22. コレクションとコレクションの違い。

JVM とチューニング 21 の質問

  1. Javaクラスのロード処理?

  2. JVM がクラス ファイルをロードする原理的なメカニズムについて説明してください。

  3. Java メモリの割り当て。

  4. GC とは何ですか? なぜ GC があるのですか?

  5. Java ガベージ コレクション メカニズムを簡単に説明します。

  6. 物体が生きているかどうかをどうやって判断するのでしょうか?(またはGCオブジェクトの判定方法)

  7. ガベージ コレクションの利点と原則。2つのリサイクルメカニズムを検討する

  8. ガベージコレクターの基本原理は何ですか? ガベージ コレクターはメモリをすぐに再利用できますか? ガベージ コレクションを実行するように仮想マシンに積極的に通知する方法はありますか?

  9. Javaでメモリリークは発生しますか?簡単に説明してください

  10. 深いコピーと浅いコピー。

  11. System.gc() と Runtime.gc() は何をするのでしょうか?

  12. Finalize() メソッドはいつ呼び出されますか? デストラクター (ファイナライゼーション) の目的は何ですか?

  13. オブジェクトの参照が null に設定されている場合、ガベージ コレクターはオブジェクトが占有しているメモリをすぐに解放しますか?

  14. 分散ガベージ コレクション (DGC) とは何ですか? どのように機能するのでしょうか?

  15. シリアル コレクターとスループット コレクターの違いは何ですか?

  16. Java では、オブジェクトはいつガベージ コレクションできるのでしょうか?

  17. Java のメモリ割り当てと回復戦略、マイナー GC とメジャー GC について簡単に説明します。

  18. ガベージ コレクションは JVM の永続世代で行われますか?

  19. Java のガベージ コレクションのメソッドにはどのようなものがありますか?

  20. クラスローダーとは何ですか?またクラスローダーとは何ですか?

  21. クラスローダーの親委任モデルのメカニズム?

同時プログラミング 28 の質問

  1. Synchronizedを使ったことはありますか?その原理は何ですか?

  2. オブジェクトのロックを取得するとおっしゃいましたが、この「ロック」とは一体何でしょうか? オブジェクトのロックを確認するにはどうすればよいですか?

  3. リエントラントとは何ですか? Synchronized がリエントラント ロックであるのはなぜですか?

  4. JVM は Java のネイティブ ロックに対してどのような最適化を行いますか? 48

  5. 同期が不公平なロックになるのはなぜですか? 49

  6. ロックの削除とロックの粗密化とは何ですか? 49

  7. Synchronized が悲観的なロックであるのはなぜですか? 楽観的ロックの実装原理は何ですか? CASとは何ですか?またその機能は何ですか?

  8. 楽観的ロックは必ずしも良いものなのでしょうか?

  9. Synchronizedと比較して、ReentrantLockの実装原理の違いは何ですか?

  10. それでは、AQS フレームワークが進行中であることについて話してください。

  11. Synchronized と ReentrantLock の類似点と相違点をできるだけ詳しく比較してください。

  12. ReentrantLock はどのようにして再入可能を実現しますか?

  13. ReetrantLock 以外に、JUC のどの同時実行ツールを使用したことがありますか?

  14. ReadWriteLock と StampedLock について話してください。

  15. Java のスレッドを相互に同期するにはどうすればよいですか? どのようなシンクロナイザーについて知っていますか? 別途ご紹介させていただきます。

  16. CyclicBarrier と CountDownLatch は非常によく似ています。比較してみてください。

  17. Java スレッド プール関連の問題

  18. Java ではスレッド プールはどのように実装されますか?

  19. スレッド プールを作成するには、コア構築パラメータはいくつありますか?

  20. スレッド プール内のスレッドはどのように作成されますか? 最初からスレッドプールを起動して作成したのでしょうか?

  21. さまざまなパラメーターを構成することでさまざまなスレッド プールを作成できると述べましたが、Java にデフォルトで実装されるスレッド プールは何でしょうか? 類似点と相違点を比較してください

  22. Java スレッド プールにスレッドを送信するにはどうすればよいですか?

  23. Java のメモリ モデルとは何ですか?また、Java のスレッドはどのようにして互いの変数を認識するのでしょうか?

  24. volatile の特性について、なぜすべてのスレッドに対して変数の可視性を確保できるのかについて話してください。

  25. volatile はスレッド間での変数の可視性を保証できるため、volatile 変数に基づく操作は同時に安全であることを意味しますか?

  26. Volatile と Synchronized の類似点と相違点を比較してください。

  27. ThreadLocal が同時実行の安全性をどのように解決するかについて話してください。

  28. ThreadLocal の使用には注意が必要だという意見が多いのですが、その認識を教えてください。

Spring25の質問

マイクロサービス 58 の質問 (SpringBoot、SpringCloud、Dubbo)

Netty10の質問

  1. BIO、NIO、AIOの違いは何ですか?

  2. NIO は何でできていますか?

  3. ネッティの特徴は?

  4. Netty のスレッド モデル?

  5. TCP スティッキー/アンパックの理由と解決策は?

  6. どのようなシリアル化プロトコルを知っていますか?

  7. シリアル化プロトコルを選択するにはどうすればよいですか?

  8. Netty のゼロコピー実装?

  9. Netty のパフォーマンスの側面は何ですか?

  10. NIOEventLoopGroup のソース コード?

通信網

  1. ネットワーク7層アーキテクチャ

  2. TCP/IPの原則

  3. TCP スリーウェイ ハンドシェイク/4 ウェイ ウェーブ

  4. HTTPの原則

  5. 転送プロセス

  6. HTTPステータス

  7. CDNの原理

レディス

  1. リディスとは何ですか?

  2. リードの特徴

  3. Redis でサポートされるデータ型

  4. Redis は単一プロセスおよび単一スレッドです

  5. 仮想メモリ

  6. Redis ロック

  7. 読み書き分離モデル

  8. データシャーディングモデル

  9. Redis リサイクル戦略

  10. Redis を使用するメリットは何ですか?

  11. memcached に対する Redis の利点は何ですか? 4

  12. Redis の一般的なパフォーマンスの問題と解決策

  13. MySQL には 2000 ワットのデータがあり、redis には 20 ワットのデータしかありません。redis 内のデータがすべてホット データであることを確認する方法245

  14. Memcache と Redis の違いは何ですか?

  15. Redis の一般的なパフォーマンスの問題は何ですか? の解き方?

  16. Redis が最適なシナリオ

動物園の飼育員、カフカ

スペースの都合上、ここではすべてを紹介することはできませんが、これらの質問を PDF ドキュメントにまとめ、必要な友人に無料で共有しました。同時に、それらを整理するのに多くの時間がかかりました。無料で素材を入手するには、バックグラウンドで [717] を考える必要があります

すべてのカタログと回答が表示されますが、その中でデータ構造を個別に整理しました

読者特典

共有するメモがさらに増えました

おすすめ

転載: blog.csdn.net/xxxzzzqqq_/article/details/130680762