Kode di atas mungkin akan menjadi pemecah kesepakatan bagi saya jika saya tidak memiliki hal lain untuk dilanjutkan. Jika mereka mengikuti gaya wawancara Microsoft, maka orang yang memberi Anda pertanyaan ini mungkin akan memblokir Anda - dan biasanya hanya satu yang diperlukan.
Yang membuat saya bingung adalah bahwa pewawancara tidak menanyakan kode ini kepada Anda. Pewawancara yang baik telah melihat cukup kode mereka sendiri untuk mengetahui bahwa orang membuat kesalahan - terutama ketika sedang terburu-buru. Biasanya mereka berkata, "Sekarang, apakah Anda melihat ada yang salah dengan kode ini?" "Tidak? Baiklah mari kita mengujinya". Anda datang dengan beberapa set hasil dan kemudian jalankan melalui fungsi. Lalu Anda berkata, "Oh sial, itu tidak berhasil." "Oke, bagaimana kamu memperbaikinya ..." dan seterusnya. Jika Anda selamat dari dialog itu, itu sebenarnya cukup mengesankan dan menunjukkan kemampuan untuk berpikir kritis, menghasilkan kasus uji, dan men-debug kode Anda sendiri.
Perhatikan juga, mereka biasanya tidak mencari "kode kerja". Siapa yang menghasilkan yang pertama kali mencoba? Tetapi secara logis benar dengan penanganan kesalahan dan set tes yang baik adalah tujuan yang baik.
Selain itu, ini mungkin mengejutkan Anda, tetapi Anda bersaing dengan banyak orang yang bahkan tidak bisa memulai menggunakan fizzbuzz. Kita cenderung berasumsi bahwa semua orang melintasi pohon b + dalam tidur mereka .... tetapi pada kenyataannya, mereka bahkan tidak dapat mengetahui kelipatan 3 dan 5 dan menggunakan operator modulus. Anda mungkin akan terkejut melihat betapa jauh lebih baik Anda lakukan daripada kandidat lainnya.
Saran saya, singkirkan saja. Saya mewawancarai perusahaan perangkat lunak besar baru-baru ini (Microsoft, Amazon dll ...), dan ini adalah pertama kalinya saya melalui proses wawancara yang menyeluruh. Saya membodohi diri sendiri di sebuah wawancara Microsoft di tempat sebagian besar karena gugup, tetapi juga, saya hanya tidak tahu apa yang diharapkan atau apa yang sebenarnya mereka cari. Saya memakukan masalah jalur terpendek hanya untuk meniup beberapa masalah yang sangat sederhana. Saya muncul nilai dari ujung tumpukan yang salah, lupa dalam int atoi(char* value)
implementasi ituint val = value[i] - '0';
akan memberi saya nilai integer karakter, dan beberapa kesalahan konyol lainnya. Saya senang sebagian besar dengan wawancara, tetapi masih mengerti mengapa saya tidak menerima tawaran. Saya harus menyadari bahwa ini bukan refleksi dari kemampuan saya, tetapi merupakan indikator bahwa saya hanya perlu terus mencobanya sampai saya mampu menguasai saraf saya. Akhirnya saya memaku beberapa wawancara dengan pertanyaan yang jauh lebih sulit dan mendapatkan pekerjaan impian saya. Ini benar-benar - bagi kebanyakan orang yang benar-benar tahu apa yang mereka lakukan - hanya masalah mencari tahu apa yang diinginkan pewawancara, menjadi percaya diri pada diri sendiri, dan memberikannya kepada mereka. Butuh beberapa saat.