Setelah beberapa saat, kami merekrut lagi, dan saya meninjau tes untuk programmer; beberapa dari mereka agak ketinggalan zaman. Apa saja pertanyaan jenis FizzBuzz untuk pengembang web dan SQL? Artinya, tidak terlalu sepele, tetapi masih bisa dipecahkan dalam lima hingga sepuluh menit dengan pena dan kertas dan tanpa Google?
Saya biasanya menghilangkan sekitar dua pertiga atau lebih dari kandidat berdasarkan CV, dan kemudian semua kecuali beberapa kandidat yang benar-benar baik dalam wawancara satu jam (yang dapat melalui telepon). Pada titik ini kandidat sedang menulis tes kepribadian dan memiliki kesempatan untuk menulis sedikit kode seperti FizzBuzz. Jadi, saya tidak mencoba untuk menghilangkan banyak kandidat, tetapi saya mencoba untuk memvalidasi penilaian awal saya bahwa kandidat dapat disewa dan mampu membuat kode.
Jawaban:
Saya melihat FizzBuzz sebagai ujian untuk melihat apakah orang benar-benar tahu apa yang mereka klaim ketahui di Resume mereka. Saya tidak akan menggunakannya sebagai pertanyaan selain untuk menyingkirkan kandidat yang tidak tahu apa yang mereka bicarakan.
Penggantian SQL yang sesuai adalah dengan hanya meminta kandidat untuk menulis pernyataan SQL seperti memilih bidang Nama dari dua tabel yang bergabung yang dimulai dengan A. Ini sederhana dan menunjukkan bahwa kandidat benar-benar memiliki pengetahuan tentang SQL.
Untuk pengembang web, saya hanya akan bertanya kepada mereka FizzBuzz. Hanya karena Anda pemrograman untuk web tidak berarti Anda harus kekurangan kemampuan untuk melakukan logika pemrograman dasar
Jika Anda mencari pertanyaan wawancara aktual, ada banyak yang bagus di internet yang dapat Anda temukan dengan pencarian cepat. Saya menemukan lebih dari yang saya mau daftarkan dengan mengambil 10 detik dengan Google.
sumber
Berikut adalah jawaban yang saya berikan untuk pertanyaan yang sangat mirip (mungkin duplikat) yang ditutup di situs ini.
Level Sangat Mudah: Diberikan tabel karyawan dengan kolom EmpID, FirstName, Lastname, HireDate, dan TerminationDate: Tulis kueri untuk mengembalikan semua karyawan yang masih bekerja untuk perusahaan dengan nama belakang dimulai dengan "Smith" yang diurutkan berdasarkan nama belakang lalu nama depan.
Tingkat Mudah Diberikan tabel Karyawan di atas, ditambah tabel baru "Ulasan Tahunan" dengan kolom EmpID, dan ReviewDate: Tulis kueri untuk mengembalikan semua karyawan yang belum pernah memiliki ulasan yang disortir oleh HireDate.
Tingkat Menengah
Dengan tabel karyawan di atas, tulis kueri untuk menghitung perbedaan (dalam hari) antara karyawan dengan masa kerja paling lama dan paling sedikit yang masih bekerja untuk perusahaan?
Tingkat Keras Mengingat tabel karyawan di atas, tulislah kueri untuk menghitung periode terpanjang (dalam beberapa hari) yang telah dilalui perusahaan tanpa mempekerjakan atau memecat siapa pun.
Tingkat yang Lebih Keras
Lagi menggunakan tabel yang sama, tulis kueri yang mengembalikan setiap karyawan dan untuk setiap baris / karyawan termasuk jumlah karyawan terbanyak yang bekerja untuk perusahaan kapan saja selama masa jabatan mereka dan tanggal pertama saat maksimum tercapai. Poin ekstra untuk tidak menggunakan kursor.
sumber
Bagaimana dengan fizzbuzz itu sendiri? Ini versi Oracle:
sumber
Saya menemukan bahwa orang-orang cenderung memiliki banyak kesulitan bekerja dengan waktu karena suatu alasan, sehingga mungkin merupakan tempat yang baik untuk melakukan tes kecil.
Sesuatu seperti ini:
Bagian 1: Buat fungsi yang akan menghitung N atau hari kerja terakhir dalam bulan tertentu - yaitu; yang pertama, ketiga, Selasa lalu di bulan depan.
Bagian 2 (jika diinginkan): Desain meja untuk menahan ekspresi temporal untuk jadwal yang berulang. Jadwal dapat berupa "hari kerja ke-N satu bulan atau lebih" atau "hari ke-N satu bulan atau lebih" atau "setiap N hari sejak tanggal".
Contoh, tanggal 15 setiap bulan, hari Rabu terakhir setiap bulan Maret, hari terakhir setiap bulan, setiap 17 hari sejak tanggal 2 Desember 2008, dll.
sumber