2022年の面接の天井とも言えるJavaの定型面接質問まとめ

序文

現在、Java 面接の本質は定型的なエッセイであり、定型的なエッセイの面接質問を暗記することによってのみ、面接で良いパフォーマンスを発揮することができます。ゴールデン9月、シルバー10月の採用ゴールデンシーズンが到来!大学院受験や就職活動で悩んでいるときは、まずは面接の質問を読んでみてください。最終的な目標は、好きな仕事に就くことです。良い仕事は早い時期に来るので、学生は早めに準備する必要があります。

1. JDK、JRE、JVMの違い

  • JDK: Java Standard Development Kit。Java コンパイラ、Java ランタイム環境、一般的に使用される Java クラス ライブラリなど、Java プログラムのコンパイルと実行に必要なさまざまなツールとリソースを提供します。

  • JRE: Java バイトコード ファイルを実行するために使用される Java ランタイム環境。JRE には、JVM と JVM の動作に必要なクラス ライブラリが含まれており、一般ユーザーは Java プログラムを実行するために JRE をインストールするだけで済みますが、プログラム開発者はプログラムをコンパイルおよびデバッグするために JDK をインストールする必要があります。

  • JVM: JRE の一部である Java 仮想マシンは、Java クロスプラットフォーム実装全体の中核部分であり、バイトコード ファイルの実行を担当します。

2. hashCode()とequals()の関係

Java では、各オブジェクトは独自の hashCode() メソッドを呼び出して、オブジェクトのフィンガープリント情報に相当する独自のハッシュ値 (hashCode) を取得できます。一般に、同じフィンガープリントは世界に 2 つとありません。それほど絶対的であることは不可能ですが、hashCode を使用して次のような初期の判断を行うことはできます。

  • 2 つのオブジェクトの hashCode が同じでない場合、2 つのオブジェクトは異なるオブジェクトである必要があります。

  • 2 つのオブジェクトの hashCode が同じであっても、2 つのオブジェクトが同じオブジェクトである必要があるというわけではなく、あるいは 2 つのオブジェクトである可能性もあります。

  • 2 つのオブジェクトが等しい場合、それらのハッシュコードは同じでなければなりません

3. String.StringBuffer.StringBuilder の違い

  • 文字列は不変です。変更しようとすると、新しい文字列オブジェクトが生成されます。StringBuffer と StringBuilder は変更可能です。

  • StringBuffer はスレッドセーフですが、StringBuilder はスレッドセーフではないため、シングルスレッド環境では StringBuilder の方が効率的です。

4. ジェネリックにおける extends と super の違い

  • <? extends T> は、T を含む T のサブクラスを意味します。

  • <? super T> は、T を含む任意の T の親クラスを意味します。

5. ==とequalsメソッドの違い

  • ==:基本データ型の場合は値の比較、参照型の場合は参照アドレスの比較

  • 等しい:等号メソッドを書き換えた後、各クラスの比較ロジックを確認します。たとえば、String クラスは参照型ですが、equals メソッドは String クラスに書き換えられます。メソッドの内部比較は、文字列内の文字列です。 . 文字がすべて等しいかどうか。

6. オーバーロードと書き換えの違い

7. リストとセットの違い

8. ArrayList と LinkedList の違い

9. ConcurrentHashMap の拡張メカニズムについての話

10. Jdk1.7 から Jdk1.8 の HashMap (最下層) に何が変更されましたか?

11. HashMap の Put メソッドについて話す

12. ディープコピーとシャローコピー

13. HashMap展開機構の原理

14. CopyOnWriteArrayList の基礎となる原理は何ですか

15. バイトコードとは何ですか? バイトコードを使用する利点は何ですか?

16. Java の例外システムとは何ですか?

17. Java の例外処理メカニズムでは、いつ例外をスローし、いつ例外をキャッチする必要がありますか?

18. Javaにはどのようなクラスローダーがありますか

19. クラスローダーの親委任モデルについて話す

20. JVM のスレッド共有領域とは何ですか

21. プロジェクト内の JVM の問題をトラブルシューティングする方法

22. オブジェクトは、JVM にロードされてから GC によってクリアされるまで、どのようなプロセスを経ますか?

23. オブジェクトがゴミであるかどうかを判断する方法

24. JVM にはどのようなガベージ コレクション アルゴリズムがありますか?

25. STWとは何ですか?

26. JVM パラメータとは何ですか?

27. スレッドセーフの理解について話す

28. デーモンスレッドの理解

29. ThreadLocal の基本原理

30. 並行性と並列性。シリアルの違い

31. Java デッドロックを回避するにはどうすればよいですか?

32. スレッドプールの基本的な動作原理

33. スレッド プールが最大のスレッドを最初に作成するのではなく、最初にキューを追加するのはなぜですか?

34. ReentrantL 0ock における公平なロックと不公平なロックの基礎となる実装

35. ReentrantL.ock の tryLock) メソッドと lock) メソッドの違い

36. CountDownLatch と Semaphore の違いと基本原理

37. 同期バイアスロック、軽量ロック、重量ロック

38. Synchronized と ReentrantLock の違い

39. AQS についての理解について話してください。AQS はどのようにリエントラント ロックを実装しますか?

40. I0C についての理解について話す

41. シングルトン Bean とシングルトン パターン

42. Springトランザクション伝播メカニズム

43. Spring トランザクションはいつ失敗しますか?

44. Spring での Bean 作成のライフサイクルのステップは何ですか

45. Spring の Bean はスレッドセーフですか?

46. ApplicationContextとBeanFactoryの違いは何ですか

47. Springではトランザクションはどのように実装されるのか

48. Spring で @Transactional が失敗するのはいつですか?

49. Springコンテナの起動処理とは

50. Spring が使用するデザイン パターン

51. Spring Boot で一般的に使用されるアノテーションとその基礎となる実装

52. Spring Boot はどのように Tomcat を起動しますか

53. Mybatisのメリットとデメリット

54. #0 と $0 の違いは何ですか?

55. インデックス作成の基本原則

56. インデックス設計の原則は何ですか?

57. トランザクションの基本特性と分離レベル

58.MVCCとは

59. MyISAMとInnoDBの違いを簡単に説明

60. Explain ステートメントの結果の各フィールド サブテーブルは何を表しますか?

61. インデックスカバレッジとは何ですか

62. 一番左の前提原則は何ですか?

63. Innodb はトランザクションをどのように実装するか

64. B ツリーと B+ ツリーの違い、Mysq が B+ ツリーを使用する理由

65. Mysql ロックとは何か、またその理解方法

66. Mysq | クエリを最適化するには?

67. RDBとAOFとは何ですか

68. Redis の期限切れキーの削除戦略

69. Redisトランザクション実装を簡単に説明する

70. Redis マスター/スレーブ レプリケーションの中心原則

71. Redis にはどのようなデータ構造がありますか? 典型的なアプリケーション シナリオは何ですか?

72. Redis 分散ロックの最下層はどのように実装されていますか?

73. Redis マスター/スレーブ レプリケーションの中心原則

74. Redis クラスター戦略

75. キャッシュの侵入。キャッシュブレークダウンとキャッシュアバランチとは何ですか?

76. Redis と Mysql がデータを保証する方法 - -

77. Redis の文化メカニズム

78. Redis シングルスレッドはなぜ非常に速いのですか?

80. CAP理論とは

81. BASE理論とは

82. RPCとは何ですか?

83. データ整合性モデルとは何ですか?

84. 分散Dとは何ですか? どのような解決策がありますか?

85. 分散ロックの最もよく使用される分野は何ですか?実装計画は何ですか?

86. 分散トランザクションとは何ですか?実装計画は何ですか?

87. ZABプロトコルとは何ですか?

88. Zookeeper が登録センターとして使用できる理由

89. Zookeeper のリーダー選出のプロセスは何ですか?

90. Zookeeper クラスター内のノード間でデータを同期する方法

91. Dubbo はどの負荷分散戦略をサポートしていますか?

92. Dubbo はどのようにしてサービスのエクスポートを完了しますか?

93. Dubbo はどのようにしてサービスの導入を完了しますか?

94. Duboのアーキテクチャデザインは何ですか?

95. 負荷分散アルゴリズムとは何ですか?

96. 分散アーキテクチャ下でのセッション共有のソリューションは何ですか?

97. インターフェースの冪等性を実現する方法

98. zkのネーミングサービスについて簡単に説明します。構成管理、クラスタ管理

99. Zookeeper の時計の仕組みについて話す

100. 動物園の飼育員とエウレカの違い

101. ストレージ分割後の一意の主キーの問題を解決する方法

102. スノーフレークアルゴリズムの原理

103. パーティションキーなしでクエリの問題を解決する方法

104. Spring Cloud の共通コンポーネントとその機能は何ですか?

105. キャッシュの侵入とキャッシュの破壊を回避する方法。キャッシュ雪崩?

106. 分散システムで一般的に使用されるキャッシュ方式は何ですか

107. キャッシュの期限切れに対する戦略は何ですか?

108. 一般的なキャッシュ削除アルゴリズム

109. ブルームフィルターの原理、メリットとデメリット

110. 分散キャッシュアドレス指定アルゴリズム

111. Spring Cloud と Dubbo の違いは何ですか?

112. サービス Xuegang とは何ですか? サービスの電流制限とは何ですか?

113. サービスサーキットブレーカーとは何ですか? サービスダウングレードとは何ですか? 違いは何ですか?

114. SOA、分散サービス、マイクロサービスの関係と違いは何ですか?

115. マイクロサービスを分割するにはどうすればよいですか?

116. 凝集性が高く結合性が低いマイクロサービスを設計するにはどうすればよいですか?

117. DDD ドメイン駆動設計について学んだことがありますか?

118.中台とは何ですか?

119. プロジェクトでマイクロサービスのアジャイル開発を確実に行うにはどうすればよいですか?

120. メッセージキューのタイプを選択するにはどうすればよいですか?

121. RocketMQのトランザクションメッセージはどのように実現されているのか

122. RocketMO はなぜ okeeper を登録センターとして使用しないのですか?

123. RocketMQの実装原理

124. RocketMQ はなぜ速いのですか?

125. メッセージキューはどのようにして信頼性の高いメッセージ送信を保証しますか

126. メッセージキューの機能は何ですか?

127. デッドレターキューとは何ですか? 遅延キューとは何ですか?

128. メッセージの効率的な読み取りと書き込みを確実に行うにはどうすればよいですか?

129. epollとpollの違い

130. TCP の 3 ウェイ ハンドシェイクと 4 ウェイ ウェーブ

131. ブラウザはリクエストの送信からレスポンスの受信までどのようなステップを経ますか?

132. クロスドメインリクエストとは何ですか? 何が問題ですか? その解決方法は何ですか?

133. ゼロコピーとは何ですか?

あなたの読書体験に影響を与えないように、この Java の典型的なエッセイの実際の面接の質問があなたのために整理されています

おすすめ

転載: blog.csdn.net/l688899886/article/details/126631127
おすすめ