FizzBuzz 2.0: Pertanyaan Pragmatis untuk Pemrogram



Tahun lalu, lebih dari 100.000 programmer menyelesaikan kuis Triplebyte. Statistik di bawah ini menunjukkan bahwa lima pertanyaan pilihan ganda dengan mudah membedakan insinyur perangkat lunak nyata dari yang lain (pertanyaan dipilih dengan pembelajaran mesin berdasarkan pra-ditandai "sukses" dan "tidak berhasil" programmer - kira-kira Per.)

Seperti tes Fizz Buzz yang terkenalsepuluh tahun yang lalu, pertanyaan-pertanyaan ini sepele bagi siapa saja yang secara profesional terlibat dalam pengembangan perangkat lunak, tetapi yang biasanya membingungkan orang lain. Pertanyaan-pertanyaan di bawah ini adalah lima pertama dalam pengujian kami, dan 98% insinyur sukses menjawab dengan benar setidaknya empat dari lima. Saya yakin bahwa jika Anda adalah seorang insinyur-manajer yang melakukan wawancara, maka Anda tidak akan mulai menawarkan kepada siapa pun di bawah level ini.

hasil


Sebelum melihat pertanyaan, berikut adalah data tentang keberhasilan insinyur berdasarkan jumlah jawaban yang benar:



Kami memanggil programmer "sukses" yang telah menerima setidaknya satu tawaran untuk bekerja di perusahaan yang sesuai dengan preferensi pribadinya. Statistik dinormalisasi untuk grup 5/5. Bersama-sama, sekelompok insinyur yang menjawab dengan benar 4 atau 5 pertanyaan merupakan 98% dari semua pengguna sukses platform kami. Sebaliknya, 3/5 atau lebih rendah menunjukkan kegagalan yang hampir pasti.

Pertanyaan


Berikut adalah lima pertanyaan pertama dari kuis β€œuniversal” paling populer. Jika Anda mengikuti salah satu tes khusus kami untuk ML, Ilmu Data, DevOps, Front-End, iOS atau Android, maka akan ada pertanyaan lain, tetapi prinsipnya sama.

pertanyaan 1


Pernyataan SQL mana yang mengambil data dari tabel?

Pilih jawaban yang benar:

β—‹ LOOKUP
β—‹ BACA
β—‹ FETCH
β—‹ PILIH

Pertanyaan ini pada dasarnya bertanya, "Apakah Anda pernah melihat permintaan SQL sebelumnya?" 80% menjawab dengan benar .

Pertanyaan 2


Tambahkan baris kode yang hilang.



Pilih jawaban yang benar:

β—‹ max_num += num
β—‹ max_num += 1
β—‹ num = max_num
β—‹max_num = num

Logika imperatif dasar. Jawabannya benar 76% .

Jika Anda khawatir tentang apa yang kami tanyakan dalam sintaksis Python, maka ini hanya kode pseudo-nyaman untuk contoh ini, dan setiap programmer dapat memilih jawaban yang benar, bahkan jika ia belum pernah melihat Python.

Pertanyaan 3


Mengapa caching digunakan untuk meningkatkan kinerja membaca?

Pilih jawaban yang benar:

β—‹ Mempercepat pembacaan kedua dan selanjutnya
β—‹ Mempercepat bahkan membaca
β—‹ Mempercepat pembacaan yang aneh
β—‹ Mempercepat pembacaan pertama

Caching muncul dalam banyak konteks sehingga pada dasarnya merupakan konsep universal ilmu komputer dan sangat praktis dalam pengembangan perangkat lunak sehari-hari. 89% menjawab dengan benar . Wow! Pertanyaan paling sederhana dari lima pertanyaan.

Pertanyaan 4


Manakah dari berikut ini yang digunakan untuk mempertahankan sesi login ketika pengguna melihat beberapa halaman di situs web?

Pilih jawaban yang benar:

β—‹ Cookie
HTTP β—‹ HTTP tetap-hidup
β—‹ Objek Javascript global
β—‹ WebSockets

"Apakah Anda tahu cara kerja situs?" 80% menjawab dengan benar.

Pertanyaan 5


Berapa nilai z setelah menjalankan kode berikut?



Pilih jawaban yang benar:

β—‹ 'foo'
β—‹ 'baz'
β—‹ undefined
β—‹'bar'

"Bisakah kamu membaca kodenya?" Dipersembahkan di sini dalam sintaksis JavaScript, konsep kamus / hash / asosiatif array / peta akrab bagi siapa saja yang pernah bekerja dengan apa pun yang lebih maju daripada Dasar.

Hanya 62% yang menjawab dengan benar . Sejauh ini ini adalah yang paling sulit dari lima pertanyaan. Secara pribadi, saya sangat terkejut bahwa pertanyaan ini lebih rumit daripada pertanyaan No. 2, tetapi diperoleh hasil yang signifikan secara statistik (p <0,001). Jika Anda memiliki ide mengapa kami kehilangan begitu banyak orang karena hal ini, beri tahu kami.

Data


Dari lebih dari 100.000 insinyur perangkat lunak yang lulus tes ini tahun lalu, di sini adalah distribusi hasil kuis yang sebenarnya:



Anehnya, hanya 42% dari peserta menjawab semua pertanyaan dengan benar ! 67% teratas menjawab dengan benar setidaknya empat pertanyaan (dan 67% ini merupakan 98% pengguna sukses di platform kami).

Keberhasilan dalam masing-masing dari lima pertanyaan bukanlah faktor independen. Jika Anda hanya mengalikan probabilitas dari masing-masing pertanyaan, Anda mendapatkan 27%, tetapi 42% benar-benar menjawab semua pertanyaan. Ini satu setengah kali lebih dari yang diharapkan jika setiap pertanyaan adalah variabel acak independen. Faktanya, model sederhana, yang menganggap semua masalah independen, menyiratkan puncak 4/5, dan juga lebih berat dalam sel 3/5 daripada yang kita lihat dalam data nyata:



Nilai diri Anda


Jika Anda menjawab dengan benar setidaknya empat dari lima pertanyaan di atas tanpa bantuan apa pun, maka Anda telah lulus FizzBuzz 2.0 dan mungkin harus mencoba tes Triplebyte (jika hasilnya 3/5 atau lebih rendah, maka kami tidak mungkin membantu Anda dengan apa pun) )

Setelah lulus tes, Anda akan melihat hasil Anda dan Anda dapat membuat profil yang akan memungkinkan perusahaan teknologi untuk menghubungi Anda ketika mereka memiliki peluang yang sesuai dengan preferensi Anda, misalnya, "ukuran perusahaan 500+", "hanya pekerjaan jarak jauh", "tempat kerja inklusif" , β€œUpah Minimum X,” β€œHewan Peliharaan Diizinkan di Kantor,” apa pun. Majikan saat ini diblokir secara default dari melihat profil Anda.

All Articles