Sebagai bagian dari proses wawancara, kami awalnya meminta kandidat untuk melakukan 'FizzBuzz' saat ini persentase kandidat yang dapat menjawab FizzBuzz dengan benar telah meningkat secara dramatis - ini mungkin disebabkan oleh popularitasnya di web.
Sekitar setahun yang lalu, sebagai pertanyaan kedua kami mulai mengajukan pertanyaan yang sangat mirip dengan FizzBuzz asli. Pertanyaannya dirancang sesederhana FizzBuzz asli, dan juga menilai kemampuan tertentu dari kandidat, khususnya kemampuan untuk memesan dan memprioritaskan secara bermakna dan logis serangkaian "aturan bisnis" yang telah disediakan di beberapa pesanan sewenang-wenang. Kata-kata dari pertanyaan pada awalnya tampak sedikit ambigu, yang mungkin menyulitkan penutur bahasa Inggris non-asli, tetapi jika dipikirkan dapat diselesaikan dengan benar - Juga memberikan kandidat kesempatan untuk mengajukan pertanyaan untuk klarifikasi, yang selalu merupakan hal yang baik .
Kami menemukan ini keterampilan yang sangat penting untuk dimiliki sebagai pengembang, karena pengembangan perangkat lunak biasanya didasarkan pada persyaratan fungsional yang diturunkan tanpa urutan tertentu dari waktu ke waktu, yang dapat menempatkan kendala dan kondisi pada area lain dari perangkat lunak tanpa menunjukkan secara eksplisit dan itu adalah pekerjaan pengembang yang cerdik untuk paling tidak menyelidiki potensi masalah dan konflik terkait dengan implementasi.
Apa yang kami temukan adalah bahwa sedikit di atas 65% dari kandidat (ukuran sampel 38) yang lulus FizzBuzz sepenuhnya gagal FizzBuzz v2.0 Biasanya para kandidat ini akan terdeteksi kemudian dalam proses, tetapi tampaknya cara yang bagus untuk mendeteksi mereka sejak dini.
Pertanyaan saya bukan tentang apakah FizzBuzz sudah kedaluwarsa, tetapi faktor-faktor apa yang dapat berkontribusi terhadap begitu banyaknya kandidat yang gagal dalam pertanyaan FizzBuzz v2.
- Apakah pertanyaannya terlalu mendua?
- Apakah tekanan lingkungan wawancara menurunkan kemampuan seseorang untuk berpikir kritis sampai tidak mampu menyelesaikan tugas sepele seperti itu?
Pertanyaan:
Tulis rutin dalam bahasa pemrograman favorit Anda yang akan mengambil daftar string sebagai input, dan untuk setiap string dalam daftar akan melakukan salah satu dari yang berikut:
- Hanya cetak Fizz jika string berisi huruf A
- Cetak hanya Buzz jika string berisi huruf B
- Cetak hanya BuzzBuzz jika string berisi A dan B
- Hanya cetak FizzFizz jika string tidak mengandung A dan B
- Cetak hanya FizzBuzz jika string hanya berisi satu A dan hanya satu B
Beberapa pertanyaan umum yang diajukan oleh kandidat adalah:
- Haruskah peka terhadap huruf besar-kecil?
- Apakah "mengandung A dan B" berarti A harus datang sebelum B
- Apa yang harus dicetak jika tidak ada poin yang terpenuhi?
- Apa yang harus terjadi jika lebih dari satu syarat dapat dipenuhi?
Kami menemukan bahwa sebagian besar kandidat yang berhasil menyelesaikan pertanyaan, tidak bertanya apa-apa, mereka hanya melakukannya seperti yang mereka lakukan pada FizzBuzz.