CodeGym/Java Blog/ランダム/面接でよく聞かれる Java に関するトリッキーな質問
John Squirrels
レベル 41
San Francisco

面接でよく聞かれる Java に関するトリッキーな質問

ランダム グループに公開済み
人のメンバー
Java プログラマーのポジションの面接の準備をしたことがある場合、または認定試験 (必ずしもプログラミングに関するものではない) に合格したことがある場合は、おそらくそこで尋ねられる質問が非常に具体的であることにすでに気づいているでしょう。それらの多くは、言語の設計について考えることを強いられます。知識の深さを調査するように設計されたものもあります。何よりもパズルのように見える質問もあれば、練習しないと認識するのが非常に難しい言語のニュアンスに関する質問もあります。この記事では、開発者のSarans Sing がJava に関するそのような質問をいくつか紹介します。もちろん答え付きで。 面接でよく聞かれる Java の難しい質問 - 11. return ステートメントまたは System.exit() を try/catch ブロックに配置するとどうなりますか? これは非常に人気のある、微妙な Java の質問です。重要なのは、多くのプログラマがfinallyブロックが常に実行されると信じていることです。returnステートメントをブロック内に配置するか、ブロック内からtry/catch呼び出すことにより、この質問はこの信念に疑問を投げかけます。 この難しい質問に対する答えは、ステートメントがブロック内に配置されるとブロックは実行されますが、ブロック内から が呼び出された場合は実行されません。 2. Java は多重継承をサポートしていますか? これは非常に難しい質問です。インタビュアーはよく「C++ が直接多重継承をサポートしているのなら、なぜ Java はサポートできないのですか?」と質問します。答えSystem.exit()try/catchfinallyreturntry/catchSystem.exit()try/catchJava は複数の型の継承をサポートしているため、見た目よりも少し複雑です。結局のところ、Java インターフェイスは他のインターフェイスを拡張できます。ただし、Java は実装の多重継承をサポートしていません。 3. 親クラスのメソッドがNullPointerExceptions をスローする場合、そのメソッドは s をスローするメソッドによってオーバーライドできますかRuntimeException? これも、オーバーロードとオーバーライドに関連する難しい質問です。 回答:オーバーライドされたメソッドはNullPointerExceptionの親クラスである RuntimeException を安全にスローできますが、 のようなチェック例外タイプでは同じことを行うことはできませんException4. スレッドがデッドロックなしでリソースにアクセスできることをどのように保証しますか?NN マルチスレッド コードを書くのが得意でない場合は、この質問に実際につまずく可能性があります。これは、デッドロックや競合状態に遭遇したことがない経験豊富なプログラマーにとっても難しい場合があります。 ここでの重要なポイントは順序にあります。リソースを取得したときと逆の順序でリソースを解放することで、デッドロックを防ぐことができます。 5. Java のとクラスの違いは何ですか? StringBufferStringBuilder これは Java 言語の古典的な質問であり、一部の開発者にとっては難しいと思われることもあれば、非常に単純な開発者もいます。このStringBuilderクラスは JDK 1.5 で登場しました。これらのクラスの唯一の違いは、 、、 などStringBufferの のメソッドは同期されるのに対し、 の対応するメソッドは同期されることです。length()capacity()append()StringBuilderそうではありません。この基本的な違いは、文字列の連結が を使用しStringBuilderた場合よりも を使用した場合の方が高速であることを意味しますStringBuffer。実際には、StringBuffer文字列の連結は 99% の確率で同じスレッド上で実行されるため、使用はお勧めできません。 6. 式 1.0/0.0 を評価した結果は何ですか? 例外またはコンパイルエラーが発生しますか? これもクラスに関する難しい質問です。Java 開発者は、プリミティブ double データ型とクラスの存在を認識していますが、浮動小数点演算を実行するとき、、、、および関連する算術計算を管理するルールには十分な注意を払っていません。 この質問に対する答えは簡単です面接でよく聞かれる Java の難しい質問 - 2DoubleDoubleDouble.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYNaN-0.0ArithmeticException投げられません。式は と評価されますDouble.POSITIVE_INFINITY7. すでにそのキーが含まれている にキーを挿入しようとするとどうなりますかHashMap? この難しい質問は、別のよくある質問の一部です。「HashMapJava ではどのように動作しますか?」HashMapは、Java に関する紛らわしい、難しい質問の一般的な原因です。 答えは次のとおりです。クラスでは重複キーが許可されていないため、にキーを再挿入しようとするとHashMap、古いキーが置き換えられます。HashMapそして、同じキーは同じハッシュ コードを取得します。つまり、ハッシュ バケット内の同じ場所に置かれることになります。Quora資料 に基づく
コメント
  • 人気
  • 新規
  • 古い
コメントを残すには、サインインしている必要があります
このページにはまだコメントがありません