Anda mengatakan bahwa Anda sedang mewawancarai untuk posisi magang dalam pertanyaan jadi ini dari sudut pandang itu, untuk pengembang penuh waktu bilah akan menjadi sedikit lebih tinggi.
Ketika Anda mewawancarai karyawan magang, Anda harus ingat bahwa mereka mungkin tidak menyelesaikan studi mereka dan bahwa mereka mungkin juga masuk perguruan tinggi tanpa latar belakang sebelumnya dalam bidang pemrograman dan ilmu komputer. Dengan demikian, Anda perlu mengukur ekspektasi terhadap apa yang secara wajar dapat Anda harapkan diketahui oleh seseorang dan sampai pada tingkat prestise dari posisi tersebut (yaitu Google dapat lolos dari ekspektasi bahwa perusahaan yang belum pernah didengar oleh perusahaan).
Melihat melalui pertanyaan yang Anda sampaikan saya kemungkinan akan melihatnya sebagai berikut dalam sebuah wawancara:
1) Tulis fungsi yang mengembalikan true jika sisi segitiga (semua bilangan bulat) a, b dan c dapat mewakili segitiga siku-siku.
Aplikasi dasar geometri dengan pengkodean sederhana, sebagian besar siswa harus dapat melakukan ini tanpa banyak kesulitan. Paling-paling pengingat tentang Teorema Pythagoras mungkin diperlukan jika mereka menunjukkan sedikit tekanan karena berada dalam sebuah wawancara. Ini hampir dapat dilihat sebagai masalah "meningkatkan ego" karena dapat membantu menyelesaikan beberapa orang jika mereka sangat gugup pergi ke wawancara.
2) FizzBuzz
Sekali lagi, aplikasi lain dari beberapa pernyataan kontrol dasar. Siswa yang belum terpapar dengan operator modulus, atau belum sering menggunakannya, mungkin perlu diingatkan tentang hal itu, tetapi tidak boleh menghadapi masalah nyata dalam menyelesaikan masalah.
3) Hitung elemen N Fibonacci menggunakan rekursi (jika mereka tidak tahu apa itu Fibonacci, saya bahkan akan menuliskan definisi F (n) = F (n-1) + F (n-2); F (1) ) = 1; F (0) = 1).
Ini cenderung menjadi masalah yang cukup umum sehingga sebagian besar (jika tidak semua) siswa akan melihatnya di beberapa titik sebelum lulus. Tangkapannya adalah bahwa biasanya muncul ketika rekursi disajikan kepada siswa karena cocok dengan sendirinya atau solusi berbasis rekursif atau loop yang kemudian dapat dibandingkan sehingga siswa dari sekolah yang berbeda mungkin melihatnya pada waktu yang berbeda tergantung pada urutan kursus. Dalam praktiknya, jika seseorang tidak dapat menemukan rekursif saya akan meminta alternatif menggunakan loop dan jika mereka tidak bisa datang dengan itu saya akan lebih peduli pada kemampuan potensial mereka.
4) Menerapkan daftar struktur untuk fungsi integer dan tulis untuk membalikkannya.
Pertanyaan ini mungkin sebenarnya agak terlalu terbuka seperti yang tertulis sehingga bisa juga menjadi pertanyaan yang bagus untuk melihat bagaimana kandidat mencari informasi tambahan (mis. Harus menghapus fungsi dimasukkan, konversi ke array, dll), tetapi diberikan dengan baik pernyataan masalah yang didefinisikan ("Menerapkan struktur daftar dasar untuk bilangan bulat yang memungkinkan angka untuk ditambahkan ke akhir atau pada indeks sewenang-wenang, dihapus, dan termasuk fungsi untuk mengembalikan salinan daftar yang terbalik") siswa harus dapat menyelesaikan masalah selama daftar adalah struktur umum yang disajikan baik dalam kursus struktur data awal, atau dalam kursus ilmu komputer dasar awal.
Dalam hal berurusan dengan kandidat, jika mereka berjuang, pastikan mereka santai dan biarkan mereka sedikit keringanan karena mereka mungkin hanya memiliki kecemasan kinerja karena ini mungkin wawancara nyata pertama mereka. Tips untuk memecahkan masalah mungkin diperlukan, terutama dalam kasus masalah ketiga dan keempat yang bertentangan dengan dua yang pertama.
Juga, susun proses wawancara secara keseluruhan sehingga ada titik "keluar yang anggun". Misalnya, Anda mungkin memiliki agenda berikut:
- Bertemu dan menyapa, prosedur wawancara.
- Wawancara singkat dengan staf programer, pertanyaan dasar tentang latar belakang.
- Presentasi kuis pemrograman.
- Istirahat
- Kembali dari istirahat, pemberhentian beberapa kandidat yang tidak cocok.
- Wawancara diperpanjang dengan staf programer.
- Wawancara dengan sumber daya manusia (jika diperlukan).
- Bungkus.
Alur wawancara ini cenderung bekerja dengan baik jika Anda ingin dapat memecat kandidat lebih awal karena mereka tahu dari awal bahwa mereka mungkin akan diberhentikan setelah jeda. Wawancara singkat sebelum kuis juga berarti bahwa mereka tidak hanya muncul untuk mengikuti tes yang memberi mereka beberapa latihan wawancara dan juga memungkinkan mereka untuk memutuskan bahwa mereka tidak cocok. Jika ada programer lain yang mengamati kuis atau membantu kandidat selama itu maka itu juga memberi mereka kesempatan untuk lulus / gagal kandidat saat mereka sedang istirahat sejenak.
Setiap saat ketika Anda sedang wawancara untuk magang dan kandidatnya adalah siswa, Anda harus ingat bahwa mereka masih pelajar dan mungkin tidak memiliki banyak latihan dengan wawancara (yang mengarah ke kemungkinan kecemasan kinerja) dan mungkin juga belum mencapai titik dalam studi mereka untuk bahkan dapat menjawab pertanyaan-pertanyaan yang berarti mungkin merupakan ide yang baik untuk mengirim mereka dalam perjalanan mereka dengan salinan "solusi ideal" untuk masalah-masalah yang mereka berikan juga.