プログラマーの力量を見極める--面接官になったら尋ねるべき質問実例集

http://japan.zdnet.com/sp/feature/07tenthings/story/0,3800082984,20409456,00.htm

  • 「等値」と「等価」の違いを説明してください(この質問はTechRepublicのTony Patton氏に教えてもらったものである)。
  • 値渡し」と「参照渡し」の違いは何ですか?オブジェクト指向システムや手続き型システムにおいて、これらにはどのような違いが存在するのかを説明してください。
  • 「ポリモーフィズム」とは何かを説明してください。
  • 「悲観的ロック」と「楽観的ロック」を比較し、違いを明確に述べてください。


これらの質問のうち、最初の2つに答えられない応募者は、どう考えても「入門者レベル」ということになる。また残り2つの質問は、「中級」開発者であれば答えられるはずである。


ということなのですが、「等値」と「等価」なんて言葉ほとんど使ったこと無かったのでわかりませんでした。
ポリモーフィズムって言葉も聞いたことある程度だし、「悲観的ロック」と「楽観的ロック」もそういやそんな名前聞いたことあるなと思った。
実際は使ったり意識したりしてることだけど、こういうテストでこられると答えられないような気がする。ダメだなぁ。


ちなみに等値とはif(a==b)が真なること。値が同じって意味。
等価とは、if(!(a < b) && !(b < a))が真になること。
aがbより小さくなく、かつ、bがaよりも小さくない、よって「等しいとみなす」。

ネタ元

ポリモーフィズムは、同じ名前でいろいろ定義できるってこと。C++では関数のオーバーロードとかオーバーライドとか仮想関数とかそのへん。
wikipediaの説明だけじゃわけわからない。

ネタ元

悲観的ロックは,自分が操作している情報は,他の人も操作する可能性がある.という視点に立った排他制御方法。
楽観的ロックは,自分が操作している情報は,他の人が操作する可能性が少ない.という視点に立った排他制御方法。

ネタ元