平々毎々(アーカイブ)

はてなダイアリーのアーカイブです。

「C#できます」と言い放ったあいつがJavaプログラマであることを見分ける10の質問

<追記>
念のため書いておきますが、ネタですからね。
わざと難しい質問にしてるので、
回答に困っても大丈夫だ、問題ない。


下記質問にそれぞれ50文字以内を目安に簡単に説明すること。

  • ==演算子オーバーロードを実装してEqualsメソッドと同じ処理を実行するようにしてもよい場合はどのような時か?
  • ループ内でなければ、たとえ100個の文字列型変数であってもまとめて+演算子で連結してよい理由を説明せよ。
  • Listのように値型を格納するジェネリックコレクションを使ってもボックス化/ボックス化解除が発生しない理由を説明せよ。
  • Full GC(Gen2 GC)が動作したときに断片化していてもコンパクションされないヒープ領域はどのような領域か?
  • throw; とthrow ex; の違いをスタックトレースの観点で説明せよ。
  • フィールドのアクセス修飾子をprivateにしプロパティのgetter/setterではそのフィールドを読み書きするだけというコードが馬鹿馬鹿しい理由を説明せよ。
  • nullを参照している参照型変数のメソッドを呼び出そうとした場合でもNullReferenceExceptionが発生しないのは主にどういう状況か?
  • クラスと構造体の違いは何か?(「スタックとヒープ」以外で)
  • デストラクタとは何か?
  • インターフェースの明示的実装を利用する目的を1つ説明せよ。

inspired by Javaプログラマであるかを見分ける10の質問 - やさしいデスマーチ

プログラミング.NET FRAMEWORK 第3版 (Microsoft Press)

プログラミング.NET FRAMEWORK 第3版 (Microsoft Press)