プログラマー面接時の技術的な質問事項(キャリアカウンセラー版)
2009.02.26
はてブ経由で知ったプログラマー面接時の技術的な質問事項(アプレッソ版) というエントリが自分の仕事にも通じる箇所があったのと参考になる記述があったのでいくつか触れてみようかと思います。
■ 開発実績編
まず、何を知っているかよりも、どんなものを作れるか、どんなことができるか、という質問。
ここで強烈な回答が来る人は、たいていここより下の質問は「あー、はいはい」という感じでサラッと答えてくることが多い。
これはたしかに自分の経験上でもとっても実感あってよくわかりますね。
自分の場合は、こういう人がもっている情報(Infomation)ではなく知恵(Intelligence)のようなものがどこまであるのかを知りたいから、本人が考える過去のプロジェクトの失敗例についてお尋ねすることが多いかなぁ。
折角なので、普段の私の仕事の場面において、技術的なところ以外についてもお尋ねするようにしてて、特にリーダやPMという肩書きの人には
「xxのプロジェクトではメンバーとしての役割で、△△以降のプロジェクトはリーダー(もしくはPM)としてご経験されていますがリーダー(PM)ならではの役割で苦労されたことは何ですか?」
というのを基本的な質問として行うようにしています。
そもそもメンバーとリーダーとそれぞれに期待される内容が異なるはずなので、そこの差分が何かをきちんと把握したいですし、肩書きだけのリーダーという場合もあるだろからそのあたりを確認する意味ではこの質問でおおまかな感覚は掴めると思います。
今までの私が対応してきた感覚では、「苦労したことがないですねー」という回答をした場合の人の場合には本当にそれなりのことをしているのかちょっと疑ってしまいます。
■ デザインパターン編
デザインパターンは基本的にはコミュニケーションツール(一言で説明できてすぐ伝わる)としての位置づけが重要だと思っているので、すべて知っていないと NG、ということはまったくないが、普段普通に使っている、という人の場合には、お互いのレベルを見るのにもってこいのディスカッション材料なので、よく 面接の時に話題に上る。
- Singletonパターンとオブジェクト生成コスト、Singletonパターンのマルチスレッド対応について、注意すべき点を説明してください
- Observerパターンでイベント発火順序が重要な理由を説明してください
- Mediatorパターンでメソッドが多くなりすぎてきたときにどのような工夫をしますか
- Visitorパターンを使うべき場合と、再帰的ループで対処する場合とを、どのように使い分けますか
- Compositeパターンが時として「オブジェクト指向的に気持ち悪く」なるのは何故ですか
私自身は上記質問に対しては現時点で答えるほどのスキル(*)は持ち合わせていないですが、今後こういう質問はぜひやってみたいと思います。
「技術的な正しさがわからない人が上記のような質問をするのは意味がないんじゃないの?」
という突っ込みがあるかもしれませんが、この類のことで大切なのは、技術的な正しさを確認するのではなく、「なぜxxxと思いますか?」とか「どのようにxxですか?」という問いに対して、相手の方の根拠が何かを確認することかなぁと思います。
ここまでの専門性のある質問は現状できていませんが、回答が何通りもでるようなこのようなオープンクエッションは面談のような場面では特に有効かと思います。
ついでに言うと「○○○○○は出来ますか?」というYes/No式のクローズドクエッションは話題が膨らまないし、出来るの基準は人によって様々なので、技術面の確認においては価値は低いかなと思います。
ディスカヴァー・トゥエンティワン
売り上げランキング: 5533

大企業向けだと思いました。
希少価値高い1冊。
面接官も受ける側も使えます!(*)とはいってもわかるようになりたいので、勉強は欠かさずやっているのと、個人的に仕事上で使うツールを色々な制約があるWindows環境下で一番使い勝手の良いJScript+Prototype.jsで作っているうちに、デザパタをどのように適用していくのかというセンスの良し悪しみたいなものがあることがよくわかってきた。
投稿者 : 小山田 浩 | 投稿日時 : 2009.02.26 21:43





