面接プロセスの一環として、最初に候補者に「FizzBuzz」を行うように依頼します。今日では、FizzBuzzに正しく答えることができる候補者の割合が劇的に増加しています。これはWebでの人気による可能性があります。
約1年前、2番目の質問として、元のFizzBuzzと非常によく似た質問をし始めました。質問は、元のFizzBuzzと同じくらい単純になるように設計されており、候補者の特定の能力、具体的には、いくつかの「ビジネスルール」で意味のある論理的な方法で順序付けおよび優先順位を付ける能力も評価する任意の順序。質問の文言は最初は少し曖昧に見えるので、英語を母国語としない人にとっては難しいかもしれませんが、考え抜かれた問題を正しく解決できる場合は、候補者に明確化のための質問をする機会を与えます。これは常に良いことです。
ソフトウェア開発は通常、時間の経過とともに特定の順序で導出されない機能要件に基づいているため、開発者としてこれは非常に重要なスキルであることがわかります。少なくとも、実装に関する潜在的な問題と競合を調査する鋭い開発者の仕事。
FizzBuzzに合格した候補(サンプルサイズ38)の65%を少し超えると、FizzBuzz v2.0に完全に失敗することがわかりました。早い段階で。
私の質問は、FizzBuzzが古くなっているかどうかではなく、FizzBuzz v2の質問に合格しなかった候補者が非常に多いのにどのような要因が関係しているのかということです。
- 質問は曖昧すぎますか?
- 面接環境のストレスは、そのような些細なタスクを完了できないという点まで批判的に考える能力を低下させますか?
質問:
入力として文字列のリストを使用するお気に入りのプログラミング言語でルーチンを作成し、リスト内の各文字列に対して次のいずれかを実行します。
- 文字列に文字Aが含まれる場合、Fizzのみを印刷します
- 文字列に文字Bが含まれる場合、バズのみを印刷します
- 文字列にAとBの両方が含まれる場合、BuzzBuzzのみを印刷します
- 文字列にAとBの両方が含まれていない場合は、FizzFizzのみを印刷します
- 文字列に含まれるAとBがそれぞれ1つのみの場合は、FizzBuzzのみを印刷します
候補者からの典型的な質問は次のとおりです。
- 大文字と小文字を区別する必要がありますか?
- 「AとBを含む」は、AがBの前に来ることを意味しますか
- どのポイントも満たされない場合、何を印刷する必要がありますか?
- 複数の条件を満たせる場合はどうなりますか?
質問を無事に完了した圧倒的多数の候補者は、FizzBuzzのように何も質問しませんでした。