Sebuah perusahaan tempat saya bekerja telah meminta saya untuk melakukan pemeriksaan telepon kandidat untuk memastikan mereka tidak sepenuhnya malu ketika mengirim seseorang ke klien potensial.
Ternyata cukup banyak orang ditempatkan untuk peran pengembang C ++. Saya tidak menghabiskan banyak waktu di C ++, tetapi saya telah melakukan beberapa proyek sepele dan non-sepele dalam bahasa ini. Saya pikir "Jelaskan idiom RAII" akan menjadi pertanyaan softball yang bagus yang bisa dijawab oleh pengembang C ++ paling serius saat setengah tertidur, dan akan memungkinkan saya untuk beralih ke pertanyaan yang lebih menarik tentang pengalaman. Tetapi ternyata orang yang memiliki pengalaman C ++ 10+ tahun tidak mengenali istilah tersebut, bahkan jika saya memperluas akronim menjadi "Akuisisi Sumber Daya adalah Inisialisasi." Salah satu kandidat mengatakan bahwa dia merasa tidak selalu praktis untuk menerapkan teknik dalam pengembangan Windows, yang saya pikir merupakan sentimen aneh, tetapi saya dapat melihat beberapa contoh yang bisa mendukung garis pemikiran itu.).
Bahkan beberapa pengembang C ++ saya tahu cukup baik untuk menilai kompetensi mereka mengatakan mereka tidak mengenali istilah tersebut, tetapi setelah membaca ringkasan teknik, mengatakan "Oh, ya, saya tidak tahu yang punya nama. Saya hanya memikirkan hal-hal itu sebagai sesuatu yang harus Anda lakukan . " Saya ingat istilah dari buku Stroustrup edisi kedua, meskipun dampak sepenuhnya tidak meresap pada saat itu.
Jadi, apakah "Bisakah Anda menjelaskan idiom RAII kepada saya?" pertanyaan penyaringan yang adil? Apakah masuk akal untuk mengharapkan semua pengembang C ++ yang kompeten untuk memahaminya? Apakah istilah ini lebih esoteris daripada yang saya pikirkan? Dengan asumsi seorang kandidat tidak tahu istilah itu, apakah ada pertanyaan lanjutan yang dapat membantu saya menggoda apakah mereka setidaknya telah menginternalisasi praktik-praktik yang membuat RAII berfungsi? Apakah ada pertanyaan "weeder" alternatif yang lebih baik yang memberikan kandidat sedikit kebebasan dalam menjawab, dan membantu kandidat menunjukkan pemahaman mereka tentang pengembangan C ++?
Mengedit untuk menambahkan : Untuk memperjelas, saya bukan jenis pewawancara yang mendiskualifikasi orang karena mereka tidak tahu kata kunci dan akronim. Namun, saya pikir masuk akal untuk berharap bahwa seorang programmer C ++ yang berpengalaman telah menginternalisasi praktik-praktik yang baik untuk manajemen sumber daya. Saya juga berpikir bahwa penting untuk memverifikasi bahwa seorang kandidat memahami beberapa "dasar" tentang teknologi yang mereka klaim keahliannya sebelum beralih ke pertanyaan yang lebih menarik tentang desain, pemecahan masalah, dll. Saya pikir apa yang saya cari adalah cara yang baik untuk mengajukan pertanyaan terbuka, cocok untuk digunakan dalam penyaringan telepon singkat, yang dapat saya gunakan untuk menilai pemahaman dasar seorang kandidat tentang praktik manajemen sumber daya yang baik di C ++, sebelum saya mengajukan pertanyaan "sulit".