Haruskah saya memberi tahu pewawancara bahwa saya sudah tahu jawaban atas pertanyaan yang diajukan? [Tutup]

29

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?

El cid
sumber
2
Saya mengalami kesulitan melihat poin dalam pertanyaan ini. Jika Anda tahu pertanyaan Anda menjawabnya, jika Anda tidak mencoba untuk mengerjakan sesuatu yang masuk akal. Haruskah Anda memberi tahu mereka bahwa Anda tahu jawabannya dan bukan hanya memberi tahu mereka jawabannya?
Chris
7
@ Chris. pertanyaan terakhir dalam komentar Anda adalah apa yang ditanyakan OP di sini: D
P Shved
1
Dan itu seharusnya konstruktif? Saya tidak bisa memikirkan kapan saya akan mengatakan kepada pewawancara "Ya saya tahu jawabannya" dan tidak memberi tahu mereka.
Chris
1
Saya menunggu "Fishtoaster" untuk memberikan jawabannya.
Mark C
1
@ Chris - Benar; pertanyaan di sini, seperti yang saya pahami bermuara pada "Apakah ada keuntungan dan / atau pertimbangan etis untuk opsi 1 atau 2 jika Anda tahu brainteaser, dan jika demikian, bagaimana mereka ditimbang?" Poin mendasar terkubur dalam-dalam, dan itu diungkapkan secara subyektif, tetapi tampaknya bermanfaat (paling tidak karena saya tidak tahu apa jawaban yang benar, dan sepertinya saya harus). IMO ini adalah pertanyaan yang membutuhkan penyuntingan ringan untuk kejelasan, bukan penutup.
Inaimathi

Jawaban:

41

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.

Cthulhu
sumber
8
Ya, saya pikir ini adil. Ini tidak seperti mengetahui jawaban itu curang; jika ada, itu pertanda pengalaman. Maksud saya, jangan berpura-pura, seperti berpura-pura Anda baru saja menemukan quicksort di tempat tanpa pernah mendengarnya atau sesuatu (contoh buruk karena semua orang mendengar quicksort, tetapi Anda tahu apa yang saya maksud). Jawab saja segera. Mungkin jelas Anda sudah akrab dengan masalahnya, tetapi tidak perlu mengatakannya secara eksplisit, dan jika ada yang bisa dianggap mengkritik pewawancara karena memilih masalah yang tidak orisinal.
Tim Goodman
26

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 ... :)

Pos Tim
sumber
5
Anda tidak akan mengetahui bagaimana orang yang diwawancara memecahkan masalah jika dia hanya tahu jawabannya.
P Shved
3
@Pavel: Tentu, tetapi Anda bisa bertanya kepada mereka, "Apa untungnya melakukannya dengan cara seperti ini?" Dengan begitu Anda dapat melihat apakah mereka benar-benar memahami proses pemikiran di balik jawaban, atau jika mereka hanya menghafal jawabannya tanpa memahami alasannya.
Tim Goodman
@Tim, jadi jika Anda ingin bertanya "bagaimana mencari tahu apakah daftar yang ditautkan memiliki loop dalam O (1) memori" pertanyaan, dan saya tahu jawabannya (huh, saya memecahkan banyak masalah seperti itu), apa yang akan pertanyaan tindak lanjut Anda menjadi?
P Shved
Tim, saya akan tertarik melihat Anda mewawancarai seseorang (atau mewawancarai saya, haha), hanya untuk belajar.
Mark C
1
@Pavel, saya mungkin akan memperumit masalah dan memperkenalkan beberapa penulis ke daftar. Jika Anda meluangkan waktu sebentar dan memikirkannya, saya mungkin akan meminta pendapat Anda tentang metode bebas kunci dan mengajukan pertanyaan yang sama lagi, bertanya-tanya apakah O (1) masuk ke O (log n). Jika Anda benar-benar mengeluarkan saya dari air dan kami mampu membeli Anda, saya akan memastikan Anda menjadi bos saya. Maaf atas keterlambatan, 'oranye amplop thingy' di atas telah bertindak cukup aneh belakangan ini.
Tim Post
10

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.

Tristan Havelick
sumber
8

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.)

Frank Shearar
sumber
4
FizzBuzz bukan tentang anjak piutang.
zvrba
2
Saya juga berpikir Anda mungkin kehilangan titik FizzBuzz.
Tim Post
Nah, lalu tentang apa, jika tidak menghindari kasus n mod 15? Saya mengatakan "memperhitungkan" karena saya bisa membayangkan seseorang menggunakan dua bilangan prima lainnya untuk "Fizz" dan "Buzz", mengira mereka pintar. Intinya adalah masih ada angka yang dapat dibagi oleh N primes yang Anda gunakan (untuk FizzBuzzBazz) juga dapat dibagi oleh penggandaan dari bilangan prima tersebut.
Frank Shearar
1
Yang benar-benar tidak masalah karena 3 * 5 tidak perlu ditangani secara khusus dalam implementasi FizzBuzz.
Joren
Cukup adil; solusi yang saya lihat lakukan, tetapi tidak, Anda tidak perlu menangani 3 * 5 khusus.
Frank Shearar
6

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!)

Darren
sumber
3

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.

MAK
sumber
+1 untuk pertanyaan trik. Jika Anda sudah tahu jawabannya, Anda bisa mengatakannya. Tujuan dari pertanyaan semacam itu adalah untuk mengawasi proses ketika potongan-potongan itu masuk ke tempatnya, dan jika Anda sudah tahu jawabannya tidak akan terjadi.
Guffa
3

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.

Apa namanya
sumber
1

"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
0

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

  1. Mereka akan menghormati Anda karena Anda hanya akan mencoba menjawab pertanyaan yang belum pernah Anda lihat / dengar sebelumnya,
  2. Mereka akan terpesona oleh kecemerlangan Anda - setelah semua, Anda sudah tahu jawaban atas pertanyaan yang mereka ajukan - dan akan segera menawarkan pekerjaan kepada Anda
  3. Mereka akan menganggap Anda orang yang cerdik karena Anda sepertinya sudah tahu segalanya - tanyakan saja pada Anda !, atau
  4. Mereka akan berpikir Anda bodoh karena Anda tidak tahu kapan semuanya berjalan baik.

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.

Bob Jarvis - Pasang kembali Monica
sumber