一緒に仕事をしている会社から、候補者に電話をかけて候補者に電話をかけるときに恥ずかしい思いをさせないように、電話候補者のスクリーニングを依頼されました。
かなりの数の人がC ++開発者の役割に配置されていたことがわかります。私はC ++にあまり時間を費やしていませんが、この言語で些細なことや些細でないことをいくつか行っています。「RAIIのイディオムを説明する」は、ほとんどの深刻なC ++開発者が半分眠っている間に答えることができる素晴らしいソフトボールの質問であり、経験に関するより興味深い質問に進むことができると考えました。しかし、頭字語を「Resource Acquisition is Initialization」に拡張しても、10年以上のC ++の経験がある人はこの用語を認識していません。ある候補者は、Windows開発にこの手法を適用することは必ずしも実用的ではないと感じたとまで言いましたが、これは奇妙な感情だと思いましたが、その考えを裏付けていると思われる例がいくつかありました。)。
私の能力を判断するのに十分なほどよく知っているC ++開発者の2人でさえ、この用語を認識していないと言っていましたが、テクニックの要約を読んで、これらのことをあなたがしなければならないことだと考えていました。」Stroustrupの本の第2版の用語を覚えていますが、当時は完全な影響はありませんでした。
それで、「RAIIのイディオムを私に説明できますか?」公正なスクリーニングの質問ですか?すべての有能なC ++開発者がそれを理解することを期待するのは妥当ですか?この用語は私が考えるよりも難解ですか?候補者がその用語を知らないと仮定すると、RAIIを機能させるプラクティスを少なくとも内部化したかどうかを知るのに役立つフォローアップの質問はありますか?候補者に回答の自由度を与え、候補者がC ++開発の理解を実証するのに役立つ代替の「ウィーダー」質問がありますか?
編集して追加する:明確にするために、私は人々が流行語や頭字語を知らないために人々を失格にするようなインタビュアーではありません。ただし、経験豊富なC ++プログラマがリソース管理の優れたプラクティスを内部化したことを期待するのは合理的だと思います。また、設計や問題解決などについてのより興味深い質問に進む前に、候補者が専門知識を主張する技術に関するいくつかの「基本」を理解していることを検証することも重要だと思います。 「ハード」な質問をする前に、短い電話スクリーニングでの使用に適した自由回答形式の質問をして、C ++での優れたリソース管理の実践に関する候補者の基本的な理解を判断できます。