プログラマ歴10年以上の入門者

プログラマーの力量を見極める–面接官になったら尋ねるべき質問実例集 – IT業界を生き抜く秘密10箇条 – ZDNet Japan

まず最初の4問

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

1番目が判りませんでした。プログラマになって10年以上経つけど、入門レベルらしい。
 

「等値」は判るよ。字の通り「値が等しいこと」。2つの値aとbが同じ値だということ。a == b が真ということ。
 

「等価」というのは、調べたら、「対象よりも大きくも小さくもないということ」。 !(a < b) && !( b < a) が真な条件を満たすもののこと。だそうな。

ソートしたときに前後どちらでも構わない、ということなので、プログラマ的にはクラスや構造体のソートを思い浮かべると良さそう。

複数のメンバを持ったクラスで、比較に使うのは一部のメンバだった場合、比較の結果同じと判断されても、比較に使われなかったメンバの値は違うかもしれない。その状態を等価っていうんじゃないかな。
 

バカテスで例えるなら、

「吉井明久と島田美波は古典のテストで二人とも30点だった時、明久と美波は別の人なので等値ではないけど、古典の順位としては二人とも最下位なので等価である。」

みたいな…合ってるのか?この喩え。

つか、面接でバカテスを例に出したらアウトだろ。
 

その他の問題も、判らなくはないけど、面接官を頷かせるような回答ができるかどうか自信ないわ。
 

再就職とかできないわー。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

認証のために問題を解いて下さい * Time limit is exhausted. Please reload CAPTCHA.