Apa pertanyaan wawancara favorit Anda? [Tutup]


21

Apa pertanyaan yang menurut Anda sangat berharga dalam mewawancarai pengembang perangkat lunak? Ada apa dengan pertanyaan yang membuatnya sangat berguna?

Saya mencari pertanyaan tertentu yang ingin Anda tanyakan, bukan hanya pendekatan wawancara seperti "buat mereka menulis kode".


2
Pertanyaan - sebagaimana diungkapkan - tidak konstruktif, tetapi memiliki beberapa jawaban yang baik. Buat ulang pertanyaan untuk mencocokkan jawaban terbaik dan saya akan merekomendasikan agar pertanyaan itu dibuka kembali.
ChrisF

@ ChrisF: Saya diucapkan ulang untuk mencoba mendapatkan sedikit lebih banyak dari "pengalaman berbagi" dan "bertanya mengapa", yang juga harus mengenai "undangan jawaban yang lebih panjang". Beri tahu saya jika perlu revisi lebih lanjut.
Tim Goodman

itu lebih baik!
ChrisF

Melihat pertanyaan dan jawaban sekarang, rasanya masih tidak konstruktif. Tampaknya tidak ada jawaban yang berisi "mengapa" dan hanya mendaftar pertanyaan.
Adam Lear

Jawaban:



22

Ini agak spesifik untuk skenario saya, tetapi saya pikir itu adalah pertanyaan yang bagus, namun:

Jadi Anda katakan di sini bahwa Anda belum pernah menyentuh C # atau. NET sebelumnya, kan? Ok, jadi ini workstation. Cari tahu cara menulis program yang menanyakan DB ini di sini dan mencetak daftar Pelanggan dengan pesanan mereka, diurutkan berdasarkan nama pelanggan. Anda dapat menggunakan sumber daya apa pun yang Anda inginkan.

Satu-satunya pertanyaan yang pernah saya miliki yang benar-benar menguji kemampuan saya untuk belajar.


apakah itu sebelum StackOverflow ada?
eds

1
Eh, bukankah ini seharusnya pertanyaan yang ingin Anda tanyakan?
Paddyslacker

8
+1, ini adalah pertanyaan yang sempurna untuk ditanyakan. Jika mereka tidak dapat menemukan konstruksi bahasa dasar dengan Google, tidak ada yang akan menyelamatkan mereka.
Josh K

Saya suka itu, itu menunjukkan seberapa baik mereka dapat mengambil bahasa pemrograman yang belum pernah mereka gunakan. Saya mungkin mencurinya untuk pertanyaan wawancara saya :)
Richard

1
Tampaknya tidak ada gunanya, siapa pun dapat menyalin-tempel kode .net jelek langsung dari msdn.
dotjoe

15

Ini bukan pertanyaan pengkodean, tetapi pertanyaan perilaku:

Ceritakan saat ketika Anda tidak bisa menyelesaikan semua pekerjaan tepat waktu untuk memenuhi tenggat waktu. Apa yang kamu lakukan? Apakah hasilnya?


3
Mengapa ini pertanyaan yang bagus? Sepertinya tidak ada gunanya bagi saya
Joe Phillips

9
Intinya adalah dari jawaban pengembang saya mendapat banyak informasi. Pertama, jika mereka tidak mengakui situasi ini pernah terjadi pada mereka, maka mereka telah membodohi diri mereka sendiri, atau mereka tidak memiliki pengalaman dalam proyek nyata. Kedua, jika mereka tidak berbicara tentang bagaimana mereka akan mengomunikasikan masalah ini kepada tim, tetapi sebaliknya hanya berbicara tentang seberapa keras mereka bekerja untuk memperbaikinya, saya tidak ingin mempekerjakan mereka. Komunikasi yang buruk bertanggung jawab untuk sebagian besar masalah yang saya lihat di proyek. Saya ingin menyewa komunikator proaktif.
Paddyslacker

3
Saya mengajukan pertanyaan serupa, yang lebih umum ("ceritakan tentang saat ada yang tidak beres, dan apa yang Anda lakukan sebagai respons ...") Sangat terbuka, namun saya punya satu orang yang diwawancarai bersumpah atas dan ke bawah bahwa tidak ada yang pernah ada salah baginya. Tak perlu dikatakan saya tidak merekomendasikan dia untuk disewa.
Alex Feinman

13

Bagaimana Anda masuk ke pemrograman?

Cara yang bagus untuk melihat apakah orang tersebut memiliki hasrat untuk pemrograman dan memecahkan es.


11

Saat mewawancarai seseorang yang mengaku memiliki pengalaman Java yang tidak sepele, saya bertanya tentang hashcode()dan equals()hubungan mereka. Sangat tidak mungkin untuk mendapatkan pengalaman Java yang signifikan tanpa menyadari potensi jebakan dan siapa pun yang tidak mengetahui masalah ini akan menambahkan bug yang sulit ditemukan ke proyek saya.

Saya juga akan bertanya tentang ArrayListdan LinkedListdan pro dan kontra relatif. Semoga ini dapat membuktikan bahwa mereka setidaknya menyadari, dan memikirkan, implikasi kinerja dari kode yang mereka tulis.

Saya juga ingin membuat mereka mengutarakan pendapat tentang beberapa topik teknis (kegunaan atau sebaliknya dari Maven, mengecek vs. pengecualian yang tidak dicentang, dll.), Dan kemudian berperan sebagai pendukung iblis untuk melihat seberapa baik mereka dapat memperdebatkan pendapat mereka.


+1 Saya suka ArrayList dan LinkedList. Saya telah melihat banyak komentar di SO tentang orang-orang yang mengatakan bahwa ArrayLists harus dihapuskan tetapi saya bisa memikirkan banyak kegunaan di mana mereka lebih baik daripada LinkedLists
Evan Plaice

LOL! Suatu kali dua pewawancara bertanya kepada saya tentang perbedaan antara daftar dan peta. Saya memberi mereka pandangan heran, mereka benar-benar meminta maaf (dan kemudian saya menjawab pertanyaan mereka dan kami melanjutkan wawancara, tentu saja).
Hila

6

"Apa buku teknis (terbaik) terakhir yang kamu baca?"

atau, lebih umum:

"Bagaimana kamu bisa memperbaharui pengetahuanmu?"

Sungguh menakjubkan betapa banyak orang tidak pernah membaca buku teknis sejak mereka selesai sekolah. Dan jika Anda tidak pernah membaca buku sejak Anda selesai sekolah dan menyelesaikan sekolah sepuluh tahun yang lalu, Anda mungkin tidak pernah mendengar tentang hal-hal seperti tes unit, pola desain, prinsip SOLID ...

Respon terhadap komentar :

Anda dapat memilih saya jika Anda mau, tetapi ini adalah salah satu pertanyaan wawancara favorit saya. Blog, wikipedia, SO semuanya merupakan sumber hebat untuk berita teknologi tinggi terkini. Tetapi saya tidak berpikir Anda dapat mempelajari mata pelajaran yang sangat kompleks (seperti hal-hal yang Anda temukan di buku-buku Knuth) secara mendalam dengan membaca blog.

Jika saya harus memilih antara dua pengembang, di mana yang satu menunjukkan keinginan untuk mempelajari mata pelajaran baru yang kompleks dan yang lain tidak, saya akan mempekerjakan yang pertama. Bahkan jika dia menginginkan lebih banyak uang. Ini akan menghasilkan dalam jangka panjang.


-1. Saya jarang membuka buku teknis, tetapi tahu apa itu TTD dan tahu beberapa pola desain. Saya belajar lebih banyak dari SO (misalnya apa itu pola pabrik) dan dari blog Jon Skeet dan profesional lain daripada yang saya pelajari dari buku biasa-biasa saja. Tak satu pun dari buku yang saya lihat menjelaskan misalnya mengapa pemeriksaan FxCop dan StyleCop sangat penting untuk menulis kode sumber keturunan yang dapat digunakan kembali (atau bahkan menyebutkan alat-alat itu).
Arseni Mourzenko

3
+1 Anda dapat belajar banyak dengan artikel dan blog online tetapi meskipun demikian, tidak membaca buku teknis menyiratkan kurangnya inisiatif dan juga biasa-biasa saja bagi saya.
Dunk

5

Balikkan daftar tertaut ini. Sekarang lakukan dalam waktu linier. Sekarang lakukan dalam waktu linier dan ruang konstan.


23
MyList.reverse ()
Joe Phillips

5

Apakah Anda menganggap diri Anda orang yang beruntung?

Saya membaca ini dalam sebuah wawancara dengan salah satu anggota pendiri Bruel & Kjaer dan itu membuat saya senang. Orang-orang sukses cenderung menganggap diri mereka beruntung. Mereka melihat kemunduran sebagai peluang untuk melakukan perbaikan dan cenderung berbagi kesuksesan (keberuntungan) mereka dengan orang-orang di sekitar mereka - Orang yang beruntung membawa lebih banyak keberuntungan. *

Orang-orang yang menganggap diri mereka tidak beruntung lebih cenderung menjadi apel yang buruk di tim Anda.

* Dalam konteks ini, Keberuntungan harus dibaca sebagai peluang pertemuan persiapan , bukan semanggi berdaun empat.


1
+1 Saya ingin menambahkan ini beberapa kali lebih banyak.
ocodo

Napoleon pernah berkata, "Beri aku jenderal yang beruntung!"
Zachary K

4

Yang selalu bekerja untukku ...

"Ceritakan tentang proyekmu sebelumnya" .

Dan kemudian menggunakan tanggapan mereka sebagai titik awal untuk bertanya kepada mereka tentang peran mereka dalam proyek dan mengapa mereka membuat keputusan tertentu. Daripada membuat wawancara menjadi SAT, saya hanya berbicara dengan mereka. Itu selalu lebih dari cukup untuk menilai apakah pengembang cocok untuk suatu posisi.

Saya hanya sekali dipekerjakan untuk pekerjaan di mana saya sudah tahu bahasa yang digunakan, jadi pertanyaan spesifik langauge tidak memiliki banyak nilai bagi saya. Saya pribadi juga tidak terlalu peduli dengan sintaks trivia ( bagaimana Anda melakukan semacam permen kapas ketika terjebak dalam kandang penuh Zebra lapar? ) Dan pertanyaan gotcha, jadi saya tidak pernah menanyakan pertanyaan semacam itu.


+1. Saya juga menanyakan itu. Tetapi kadang-kadang sulit untuk mengetahui apa fungsi kandidat dalam proyek itu (Manajer proyek? Pengembang utama? Pengembang pemeliharaan? Operator mesin kopi?) Terutama ketika mereka bekerja pada proyek besar dengan banyak orang.
nikie

2
Jika Anda dapat memiliki pekerjaan di dunia ini, apakah itu?

Saya hanya benar-benar mencari satu hal: upaya serius untuk menjawabnya. Satu-satunya jawaban yang salah adalah tertawa dan beri tahu pewawancara bahwa itu adalah pertanyaan wawancara paling klise di dunia. (Saya memilih tidak mempekerjakan).

Ini benar-benar sebuah set untuk pertanyaan favorit saya sepanjang masa:

Jika Anda ingin menjadi [Bintang Rock], mengapa Anda melamar menjadi [Internet Development Engineer III] di sini di [HugeCorp]?

Ini bekerja paling baik jika mereka benar-benar memberikan jawaban berani. Mereka jarang melihatnya datang dan ini hanya benar-benar kesempatan bagi seseorang untuk bersinar dengan mengatakan sesuatu seperti "jam di sini lebih baik" atau "karir saya di sini akan bertahan lebih lama daripada bintang rock biasa."

Saya juga berbohong bahwa tidak ada jawaban yang salah untuk pertanyaan pertama. Kecuali jika Anda mewawancarai pekerjaan impian yang benar-benar luar biasa, maka pekerjaan yang mereka wawancarai adalah jawaban yang salah. Dan jika Anda mewawancarai pekerjaan impian dan belum memilikinya, Anda harus bertanya pada diri sendiri mengapa Anda tidak melamarnya.


"Dan jika kamu mewawancarai pekerjaan impian itu dan belum memilikinya, kamu harus bertanya pada dirimu sendiri mengapa kamu tidak melamarnya." - Kedengarannya seperti pertanyaan "terkutuk jika Anda lakukan, terkutuk jika Anda tidak" - terutama jika Anda memperlakukan jawabannya seperti yang Anda gambarkan. Jika seseorang memiliki pekerjaan impian dalam pikiran, mungkin mereka belum merasa siap untuk menerimanya, dan perlu lebih banyak pengalaman dengan apa yang dapat mereka pelajari di perusahaan Anda. Mengapa berpegang teguh pada mereka?
Mark Freedman

4
-1 Saya menolak tawaran pekerjaan dari perusahaan tempat orang mengajukan pertanyaan bodoh yang sama sekali tidak relevan seperti ini. # 1 Itu tidak ada hubungannya dengan pekerjaan atau bagaimana Anda akan melakukan # 2 Daripada mewawancarai orang pewawancara benar-benar mencoba untuk menunjukkan bagaimana mereka lebih pintar daripada orang yang diwawancarai dengan menipu mereka, dan percayalah kesombongan mereka muncul dengan sangat kuat # 3 Saya tidak berpikir saya ingin bekerja dengan pr @ # k $ yang menanyakan pertanyaan-pertanyaan semacam itu di wawancara kerja jika saya tidak menyukai mereka dalam wawancara. Mengajukan pertanyaan sambil minum bir, adalah cerita lain.
Dunk

@Dunk: Anda benar, pertanyaan jebakan mengatakan lebih banyak tentang pewawancara daripada orang yang diwawancarai. Tetapi bertanya tentang tujuan dan keinginan seseorang secara umum masuk akal. Anda ingin karyawan Anda bahagia dengan pekerjaan mereka (orang-orang yang tidak bahagia tidak produktif) sehingga Anda ingin tahu apakah Anda memiliki pekerjaan yang tepat untuk mereka.
nikie

@Dunk karena pelanggan yang saya tangani setiap hari mengajukan pertanyaan klise dan sering mengulangi kesalahan bodoh yang sama, pertanyaan klise seperti ini juga membantu memilih sendiri tipe orang yang tidak bisa berurusan dengan pelanggan di pekerjaan saya. Keuntungannya adalah pekerjaan membayar untuk kompensasi karena harus mentolerir perilaku seperti itu. Jadi, dalam hal itu, itu benar-benar pertanyaan kepala daerah.
Shemnon

@Mark Freedman - Saya tidak menentang mereka. Ini memberi mereka kesempatan untuk jujur ​​dan langsung tentang jalur karier mereka. Jika orang yang diwawancarai merasa mereka "terkutuk jika mereka melakukannya dan terkutuk jika tidak" maka pekerjaan itu bukan untuk mereka. Jika Anda tidak mau menyerah dengan jawaban yang jujur ​​itu sudah salah satu tanda menentang.
Shemnon

2

Melakukan wawancara # c, saya suka bertanya, "Bagaimana Anda menangani kesalahan dalam suatu metode"? Jika saya mendapatkan jawaban yang layak untuk pertanyaan itu, saya bertanya, "Bagaimana saya akan mengatur penanganan kesalahan dalam aplikasi web?"

Saya selalu kagum pada berapa banyak pengembang yang tidak memiliki masalah dengan pertanyaan pertama dan tidak ada petunjuk tentang yang kedua. Saya bahkan telah mewawancarai banyak orang yang tidak bisa menggambarkan bagaimana kesalahan ditangani dalam proyek mereka saat ini.


2

Sesuatu seperti ini:

kalikan nilainya dengan 7 tanpa menggunakan *, /dan +operasi. :)


4
Apakah basis kode Anda memerlukan pengetahuan bit-twiddling atau hanya untuk mengukur minat pada detail seluk-beluk?
Peter Taylor

2
Perhatikan, dia tidak mengatakan "atau"
Ben L

1
@ Ben, saya pikir Anda baru saja melemparkan bom logika ke pintu jebakan -: /
ocodo

2
Bukan begitu saja (x << 3) - x?
user13278

1
Atau bahkan lebih sederhana:x -(-x) - (-x) -(-x) - (-x) -(-x) - (-x)
nikie

1

Mirip dengan David tetapi sedikit berbeda:

Lihatlah kode produksi aktual yang berantakan dari versi sebelumnya yang kemudian kami perbaiki dan tingkatkan. Katakan padaku apa fungsinya. Katakan di mana masalahnya (kebenaran dan gaya). Katakan padaku bagaimana Anda akan memperbaikinya dan memperbaikinya.

Ini membantu membedakan orang-orang yang hanya dapat menulis kode baru, dan orang-orang yang dapat mengatasi kenyataan basis kode warisan.


0

bertahun-tahun yang lalu saya ditanya perbedaan antara regexps / a * / dan / a *? /

Saya pribadi cenderung mengajukan beberapa pertanyaan tentang rekursi.


1
Apakah yang ?dilambangkan serakah atau nol atau satu ? Saya telah melihat kedua sintaksis.
Paul Nathan

1
Dialek yang mana?

Itu perl5, itu juga sekitar 11 tahun yang lalu. Jadi ya itu serakah vs tidak serakah.
Zachary K

0

Saya terkejut dengan banyaknya jawaban yang gagal untuk pertanyaan ini:

Bagaimana Anda mencari item dalam daftar yang tidak disortir?


Ini pertanyaan yang cukup dalam: Bagaimana pertandingan didefinisikan? apakah Anda memiliki pengetahuan tentang pemesanan parsial dalam daftar? Daftar macam apa itu? Apakah barang-barangnya bisa disortir? Seberapa besar daftarnya? Berapa biaya komputasi relatif dari membandingkan vs memeriksa kecocokan? Jawaban berbeda untuk pertanyaan ini dapat mengubah pendekatan optimal .....
mikera

Seberapa sering pencarian ini terjadi? Mungkinkah itu menjadi penghambat kinerja?
Justsalt

WTF, kawan. Mulai pada item pertama atau terakhir, bandingkan, jika tidak cocok, pindah ke item berikutnya. Satu-satunya pertanyaan adalah: apakah kita peduli dengan beberapa pertandingan atau apakah kita menghentikan pencarian pada pertandingan pertama? Jika Anda ingin memberikan wawasan Anda dapat menambahkan: Untuk daftar tertaut itu tidak masalah, tetapi untuk daftar yang diindeks, jika saya juga ingin mengekstrak pertandingan, saya akan melintasi daftar dalam urutan terbalik sehingga saya tidak perlu memperbarui indeks di luar kondisi loop.
NotGaeL

0

Pertanyaan favorit saya adalah:

(Agaknya dalam campuran Java / C # dan pseudocode)

Menggunakan wadah non-eksotis, desain kelas yang akan berperilaku sebagai kamus yang performant mungkin, yang juga memungkinkan Anda untuk menghitung lebih dari kunci bukan dalam urutan "acak" tetapi dalam urutan kunci-kunci ini ditambahkan ke kamus karena pertama kali dibuat.


Yang ini menyebabkan terlalu banyak pertanyaan klarifikasi. Apakah adil menggunakan dua tabel hash atau tabel hash dan daftar array: Satu yang menahan pemesanan dan satu untuk menahan pemesanan? Apakah mungkin untuk menghapus barang? (Ini membuatnya agak lebih rumit.) Jika suatu nilai diperbarui, apakah itu berarti menambahkannya kembali?
dsimcha

@dsimcha, poin bagus. Saya punya 20-30 menit untuk berbicara, dan saya mulai dengan: Jangan sungkan untuk meminta klarifikasi kapan saja. Jika Anda merasa terjebak, saya akan dengan senang hati memberikan petunjuk atau membimbing Anda ke arah yang benar. Jika orang itu masih memutar roda mereka, maka saya akan mengatakan mereka tidak mengerti struktur data. Sejauh menjelaskan apa yang saya inginkan - saya lebih suka meninggalkan ini terbuka dan membawanya ke arah yang berbeda.
Pekerjaan
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.