Dalam wawancara pemrograman jika saya ditanya pertanyaan saya sudah tahu jawabannya, seperti memberikan algoritma untuk masalah tertentu. Haruskah saya mengungkapkan hal itu kepada pewawancara? Masalah ini hanya masuk akal ketika ada aspek kebaruan untuk pertanyaan itu.
Salah satu contoh adalah "Bagaimana Anda membalikkan setiap kata dalam sebuah string, tetapi tidak urutannya?". Tampaknya ada juga pembagian antara hal-hal yang lebih mudah, yang "seharusnya" Anda ketahui, seperti contoh saya dan masalah yang lebih sulit.
Apa kebijakan dan alasan Anda untuk menangani masalah ini? Jika Anda sudah terbiasa dengan pertanyaan / brainteaser, haruskah Anda mengungkapkan hal ini selain menjawab pertanyaan? Apakah ada dilema etika yang terlibat dengan tidak mengungkapkan pengetahuan Anda sebelumnya tentang pertanyaan?
Jawaban:
Saya hanya akan menjawabnya tanpa banyak keraguan atau bermain-main. Mengetahui jawaban atas suatu pertanyaan bukanlah sesuatu yang jahat, itu berarti Anda pernah mengalaminya sebelumnya dan tahu bagaimana menyelesaikannya. Perbaiki, lanjutkan ke yang berikutnya.
sumber
Saya masih menjawab pertanyaan itu. Saya sering mewawancarai programmer. Saya kurang tertarik pada kenyataan bahwa Anda dapat memecahkan masalah (kecuali Anda tidak bisa) dan lebih tertarik pada bagaimana Anda memecahkan masalah.
Saya bertanya banyak, dan banyak .. dan banyak pertanyaan kecil yang menjengkelkan selama wawancara yang dirancang khusus (dan disempurnakan dari waktu ke waktu) untuk memberi saya pemahaman yang sangat baik tentang kekuatan Anda yang sebenarnya, ayat-ayat apa yang Anda masukkan ke CV Anda. Saya akan melakukan yang terbaik untuk membimbing Anda sepanjang jejak olok-olok subjektif dan kemudian memukul Anda dengan masalah yang semakin sulit.
Menggunakan contoh Frank , FizzBuzz, hal terakhir yang ingin saya dengar dari Anda adalah "Oh ya, saya tahu cara menggunakan operator modulus ..." Jika saya mewawancarai Anda, saya tahu itu. Saya mungkin ingin melihat seberapa cepat otak Anda berpindah, atau saya mungkin ingin menguji seberapa baik Anda akan melakukan tugas yang tampak biasa dan bodoh. Intinya, saya tidak hanya menguji kemampuan Anda untuk memecahkan masalah.
Saya dapat membuat perangkap tikus dengan ratusan bagian yang bergerak. Jika sebuah perusahaan dalam bisnis menangkap tikus .. yah ... :)
sumber
Ketika di kursi pewawancara, saya telah melihat banyak orang berkata "Oh, saya pernah mendengar yang ini", kemudian berjuang untuk mengingat atau mengerjakan ulang solusinya. Jadi dalam banyak kasus, pengetahuan awal tidak memberi Anda banyak keuntungan. Saya sarankan memberi tahu mereka bahwa Anda pernah mendengarnya, dan mengusulkan solusi. Jika itu terlalu mudah bagi Anda, mereka akan memberi Anda pertanyaan lain dan menghargai kejujuran Anda.
sumber
Saya mendukung komunikasi yang terbuka dan jujur, jadi saya pasti akan mengatakan bahwa saya tahu pertanyaannya, dan trik yang terlibat.
Saya kira untuk kredit tambahan Anda bisa mengatakan, "OK, begitulah orang lain melakukannya, tapi mari kita lihat apakah ada cara yang berbeda." Atau Anda bisa mendekonstruksi pertanyaan dengan cara lain, dan menunjukkan mengapa orang menyukai pertanyaan itu, apa yang seharusnya diajukan pertanyaan itu untuk membuat Anda melihatnya.
(Sunting: menghapus referensi ke FizzBuzz, dari komentar orang lain di pos ini.)
sumber
Sebagai pewawancara, saya tidak menanyakan pertanyaan untuk melihat apakah Anda tahu jawaban untuk pertanyaan ayam dan telur yang rumit. Alih-alih, saya mencari untuk melihat bagaimana Anda mengatasi masalah untuk sampai pada jawaban. Oleh karena itu, seringkali mudah untuk mengatakan perbedaan antara mengetahui jawaban dan sampai pada jawaban (kecuali, jika orang yang diwawancarai bertindak untuk sampai pada jawaban!)
sumber
Dalam pengalaman saya, untuk sebagian besar wawancara teknis, orang yang diwawancarai benar-benar tertarik pada solusi Anda dan bagaimana Anda mengatasinya dan bagaimana Anda menjelaskannya, daripada apakah Anda pernah mendengar hal yang sama persis sebelumnya. Kecuali jika itu adalah salah satu dari pertanyaan "teka-teki" yang melibatkan "trik", mengetahui masalah sebelumnya tidak benar-benar memberi Anda keunggulan yang menentukan kecuali Anda tetap bisa menyelesaikannya sendiri.
Untuk pertanyaan yang cukup sepele, masalah yang diajukan mungkin sebenarnya adalah masalah yang sudah diketahui, atau dapat dikurangi menjadi satu. Jika seseorang bertanya tentang cara menemukan rute terpendek antara dua node dalam grafik, apakah Anda berpura-pura tidak tahu BFS / Dijkstra? IMHO, untuk beberapa masalah bahkan mungkin kontra-produktif untuk menyembunyikan fakta bahwa Anda tahu barang-barang Anda.
sumber
Saya pikir mengatakan pewawancara hanya berlaku untuk pertanyaan "gotcha" konyol, seperti lubang bundar dan hal-hal lain seperti itu. Pertanyaan di mana setelah Anda tahu jawabannya, itu jelas sekali.
Membalik string, dll, tidak memiliki solusi "gotcha" yang jelas yang dapat Anda jelaskan dalam 3 detik jika Anda mengetahuinya.
sumber
"Mengetahui" jawabannya bukan itu intinya. Mengomunikasikannya sedemikian rupa sehingga pewawancara memiliki kesempatan untuk memahami jawaban yang Anda berikan. (Tentu saja, pewawancara tahu banyak jawaban, tetapi seperti yang saya katakan, bukan itu intinya.)
Jadi saya akan mencoba mengkomunikasikan jawaban yang dibingkai ke dalam kerangka yang cukup didaktik, atau mungkin lucu, sehingga pewawancara dapat melihat bagaimana saya berpikir dan berfungsi, atau tidak.
Sebagai contoh, mungkin menyenangkan bagi Anda semua (dan informatif untuk pewawancara) untuk mengambil pertanyaan yang diajukan ke dalam konteks yang sama sekali berbeda, menunjukkan bahwa meskipun masalah yang dihadapi terlihat serupa, solusinya tidak bekerja dalam konteks baru. Saya pikir seni di sini adalah untuk menemukan konteks terkait entah bagaimana untuk pertanyaan di mana solusi dari jawaban pertama tidak bekerja, dan kemudian mengusulkan ide solusi spektakuler yang pewawancara dapat mengunyah (atau tertawa tentang).
sumber
Jadi apa alternatifnya? Jika Anda memberi tahu pewawancara bahwa Anda tahu jawaban atas pertanyaan yang diajukan dan berharap mereka hanya memberi Anda pertanyaan yang Anda tidak tahu jawabannya, apa yang terjadi? Antara
Saya menduga bahwa opsi (1) dan (2) tidak akan terjadi - panggil saya Tn. Sinis. Jadi, Anda dibiarkan menjadi orang bodoh atau sok pintar, yang tak satu pun dari mereka akan mendapatkan pekerjaan. Hei, semoga beruntung!
Maksud dari sebuah wawancara, seperti yang ditunjukkan orang lain, adalah menawarkan Anda kesempatan untuk menunjukkan kemahiran teknis Anda dengan menjawab pertanyaan apa pun yang diajukan kepada Anda. Jenis ini berarti bahwa Anda sebaiknya mengajukan pertanyaan yang sudah Anda kenal. Jika Anda bersikeras menyabotase diri sendiri, silakan - tidak ada yang akan menghentikan Anda - tetapi saya sarankan Anda tidak.
Bagikan dan nikmati.
sumber