W ramach rozmowy kwalifikacyjnej początkowo prosimy kandydatów o zrobienie „FizzBuzz”, a obecnie odsetek kandydatów, którzy potrafią poprawnie odpowiedzieć na FizzBuzz, gwałtownie wzrósł - może to być spowodowane jego popularnością w Internecie.
Około rok temu jako drugie pytanie zaczęliśmy zadawać pytanie bardzo podobne do oryginalnego FizzBuzz. Pytanie zostało zaprojektowane tak, aby było tak proste jak oryginalny FizzBuzz, a także aby ocenić konkretną zdolność kandydata, w szczególności zdolność do porządkowania i ustalania priorytetów w sensowny i logiczny sposób zestaw „reguł biznesowych”, które zostały określone w niektórych arbitralne zamówienie. Sformułowanie pytania na początku wydaje się nieco niejednoznaczne, co może utrudnić obcokrajowcom mówiącym po angielsku, ale jeśli przemyślenie można rozwiązać poprawnie - Daje to również kandydatowi możliwość zadawania pytań w celu wyjaśnienia, co zawsze jest dobrą rzeczą .
Uważamy, że jest to bardzo ważna umiejętność jako programista, ponieważ tworzenie oprogramowania zwykle opiera się na wymaganiach funkcjonalnych, które nie są ustalane w określonej kolejności w czasie, które mogą nakładać ograniczenia i warunki na inne obszary oprogramowania bez wyraźnego wskazania i jest to zadaniem bystrego programisty jest przynajmniej zbadanie potencjalnych problemów i konfliktów związanych z wdrażaniem.
Odkryliśmy, że nieco ponad 65% kandydatów (wielkość próby 38), którzy pozytywnie przeszli FizzBuzz, całkowicie zawiodło. FizzBuzz v2.0 Normalnie ci kandydaci zostaną wykryci później, ale wydaje się, że to dobry sposób na wykrycie je wcześnie.
Moje pytanie nie dotyczy tego, czy FizzBuzz jest przestarzały, ale raczej, jakie czynniki mogą przyczynić się do tak dużej liczby kandydatów, którzy nie zdadzą pytania FizzBuzz v2.
- Czy pytanie jest zbyt dwuznaczne?
- Czy stres środowiska wywiadu zmniejsza zdolność krytycznego myślenia do tego stopnia, że nie jest w stanie wykonać tak banalnego zadania?
Pytanie:
Napisz procedurę w swoim ulubionym języku programowania, która weźmie listę ciągów jako dane wejściowe, a dla każdego ciągu na liście wykona jedną z następujących czynności:
- Drukuj tylko Fizz, jeśli ciąg zawiera literę A.
- Drukuj tylko Buzz, jeśli ciąg zawiera literę B.
- Drukuj tylko BuzzBuzz, jeśli ciąg zawiera zarówno A, jak i B
- Drukuj tylko FizzFizz, jeśli ciąg nie zawiera zarówno A, jak i B
- Drukuj tylko FizzBuzz, jeśli ciąg zawiera tylko jeden A i tylko jeden B
Niektóre typowe pytania zadawane przez kandydatów to:
- Czy wielkość liter ma być rozróżniana?
- Czy „zawiera A i B” oznacza, że A powinien pojawić się przed B.
- Co należy wydrukować, jeśli żaden z punktów nie zostanie spełniony?
- Co powinno się stać, jeśli można spełnić więcej niż jeden warunek?
Okazało się, że przeważająca większość kandydatów, którzy pomyślnie ukończyli pytanie, w ogóle nie zadawała pytań, po prostu zrobili to tak, jak FizzBuzz.