Apakah "White-Board-Coding" tidak sesuai selama wawancara? [Tutup]

30

Ini adalah pertanyaan yang agak subyektif tapi saya ingin mendengar umpan balik / pendapat dari salah satu pewawancara / orang yang diwawancarai tentang topik tersebut.

Kami membagi wawancara teknis kami menjadi 4 bagian. Tulis Kode, Baca & Analisis Kode, Sesi Desain & Kode di papan tulis.

Untuk bagian terakhir yang kami minta orang yang diwawancarai lakukan adalah menulis potongan kode kecil (4-5 baris) di papan tulis dan menjelaskan ketika mereka menjalaninya. Biar saya perjelas tujuannya bukan untuk menangkap orang. Kami tidak mencari sintaks yang sempurna. Sialan itu bahkan bisa berupa pseudo-code. tetapi intinya adalah memberi mereka masalah yang sangat sederhana dan melihat apakah otak mereka dapat mengkomunikasikan solusinya kepada kita. Dengan masalah sederhana yang saya maksud "Membalikkan string", "FizzBuzz" dll ...

Perhatikan bahwa kami selalu meminta bahasa eksplisit terlebih dahulu. Kami adalah .NET C # house. kami hanya mengatakan "pseudo-code" di mana seseorang telah blanking / benar-benar berjuang dengan kode tersebut.

Pertanyaan saya adalah "Apakah tidak pantas / tidak masuk akal untuk mengharapkan seorang programmer untuk menulis potongan kode di papan tulis selama wawancara?"

Eoin Campbell
sumber
13
IMHO cukup masuk akal (dan akan mencegah beberapa perekrutan yang sangat buruk di mantan majikan saya, jika saja itu diterapkan).
Piskvor
3
Ini adalah hal yang sangat menyedihkan untuk dilakukan dari sudut pandang pewawancara. Bagaimana orang yang mengklaim pengalaman pemrograman 5 tahun tidak memiliki keterampilan dasar ini? dan 90% tidak. (Itu 90% setelah membuang 70% dari CV segera, dan tingkat kegagalan 70% pada wawancara telepon)
Michael Shaw
18
We're not looking for perfect syntax.membuatnya masuk akal, bahkan saya akan mengatakan direkomendasikan! Itu tidak masuk akal untuk mengkritik kesalahan sintaks pada pengkodean papan tulis.
Qwerky
16
juga jangan berharap tulisan tangan yang sempurna. Menulis di papan tulis adalah keterampilan yang tidak dimiliki kebanyakan orang, dan sebagian besar programer dalam pengalaman saya memiliki tulisan tangan yang buruk, menulis secara vertikal hanya membuat itu lebih buruk.
jwenting
3
Tepat, ya. Efektif, tidak. Salah satu pengembang lemah yang saya sewa secara pribadi melakukannya dengan cemerlang di papan tulis.
pdr

Jawaban:

47

Menurut saya, ini sangat tepat. Jika Anda menginginkan pekerjaan untuk melakukan keterampilan tertentu, maka sangat tepat untuk diharapkan menunjukkan keterampilan itu saat wawancara.

Efek teknik ini pada proses rekrutmen sangat terlihat. 90% kandidat gagal dalam tugas ini. tetapi pengembang yang direkrut baik, dan pengembang akan dihormati di dalam perusahaan.

Jika sebagai kandidat menghadapi teknik ini, pertama-tama rileks. Ini tentang menilai Anda sebagai seorang programmer dan proses pemikiran Anda. Ini bukan tentang sintaksis sempurna Anda. Jika Anda membuat kesalahan sintaks maka saya mungkin memainkan peran kompiler dan memberi tahu Anda bahwa kode gagal dikompilasi pada baris tertentu, dan memberi Anda pesan kesalahan, dan melihat bagaimana Anda merespons. Begitu juga jika Anda menambahkan; ke loop atau pernyataan if yang akan dikompilasi, saya akan memainkan debugger dan berbicara Anda melalui satu langkah melalui kode. Sekali lagi, ini bukan tentang kesalahan, ini tentang bagaimana Anda akan mengatasi kesalahan, dan apakah proses berpikir Anda baik.

Michael Shaw
sumber
1
terima kasih atas umpan balik ptolemy. sangat dihargai. jawaban Anda menjelaskan dengan tepat apa yang saya cari serta bagaimana saya mendekati membantu kandidat melalui masalah. Tapi seperti yang Anda tunjukkan, saya terperangah dengan jumlah orang yang melamar peran 5+ tahun yang tidak bisa melakukan ini.
Eoin Campbell
1
Bahaya terbesar dalam hal ini, adalah frustrasi muncul, dan Anda menawarkan pekerjaan kepada seseorang yang telah gagal dalam tugas pemrograman tetapi berhasil dengan baik di bagian wawancara lainnya seperti tes teknis. Kenyataannya, para kandidat ini telah membaca buku dan memiliki ingatan yang baik. Apakah Anda meminta orang untuk membaca buku? atau menulis program?
Michael Shaw
@EoinCampbell, jika keterampilan komunikasi penting bagi Anda, maka ini sepenuhnya tepat.
1
jadi, sebagai kandidat, Anda membuat kesalahan, saya kemudian sedikit (tidak langsung) membawa kesalahan itu menjadi perhatian Anda. Anda akan merasa di bawah tekanan pada saat itu. Ini adalah bagian penting dari wawancara untuk melihat bagaimana Anda merespons? Bisakah Anda mengatasi tekanan salah ketik saat wawancara? Jika Anda meleleh di bawah tekanan itu, apa yang akan Anda lakukan ketika kami sebagai tim berada di bawah tekanan untuk mengirimkan perangkat lunak ke tenggat waktu?
Michael Shaw
1
Saya telah menggunakan pengkodean papan tulis, bagian positifnya adalah ia menemukan programmer junior yang benar-benar baik. Negatif dari coding papan tulis adalah tingkat kegagalan yang tinggi, tetapi orang-orang itu tidak terlalu baik untuk memulai. Saya telah meminta orang untuk menulis sesedikit satu baris kode di papan tulis dan masih memiliki tingkat kegagalan yang sangat tinggi. Di sisi lain saya telah diminta pertanyaan papan tulis sebagai orang yang diwawancarai dan saya selalu menemukan pertanyaan yang masuk akal. Saya lebih suka coding papan tulis untuk mendaftarkan algoritma favorit orang untuk masalah tertentu.
Michael Shopsin
15

Pertanyaan saya adalah "Apakah tidak pantas / tidak masuk akal untuk mengharapkan seorang programmer untuk menulis potongan kode di papan tulis selama wawancara?"

Sangat masuk akal. Alternatif untuk papan tulis bisa berupa laptop dan beamer, karena programmer lebih terbiasa menulis kode pada keyboard daripada pada papan tulis. Pastikan saja lingkungan pengembangan seperti Eclipse atau VS atau Idle sudah berjalan dengan proyek kosong ketika kandidat mulai, jadi dia tidak perlu membuang waktu mencari melalui aplikasi yang diinstal.

nikie
sumber
Saya sengaja tidak menggunakan komputer dalam wawancara karena efek intelisense. Program kandidat yang tidak berpengalaman dengan menekan tombol. dan memilih sesuatu dari daftar. Sebuah papan tulis membuat ini sangat jelas ...
Michael Shaw
5
@ Polemy: Apakah benar-benar berpikir begitu? Untuk latihan papan tulis biasa seperti "program pencarian mendalam-pertama melalui pohon", apa gunanya Intellisense?
nikie
2
Papan tulis / makalah tidak macet, dan semua orang tahu cara menulisnya. Jika Anda memberi saya IDLE untuk menyelesaikan masalah, saya akan menganggap Anda idiot, dan jika Anda memberi saya Eclipse, saya akan menghabiskan separuh waktu saya untuk berjuang melawan ikatan kunci default.
6
Intellisense (dan fitur autocomplete IDE lainnya juga, saya yakin) dapat dimatikan. Atau Anda dapat memberi mereka Notepad (atau alternatif yang lebih bagus seperti Notepad ++ yang melakukan penyorotan sintaksis tetapi tidak memiliki pelengkapan otomatis atau sejenisnya). Tentu, itu bisa crash, tetapi secara realistis: berapa banyak bug showstopper yang Anda temui di Notepad?
CVn
3
Bahkan jika itu hanya notepad.exe, itu jauh lebih mudah untuk dikerjakan daripada kertas atau papan tulis. Anda dapat menyisipkan atau menghapus garis, yang sangat menyakitkan di media fisik.
CodesInChaos
10

Ini tidak pantas, tetapi ketahuilah bahwa itu TIDAK selalu mengungkapkan wawasan yang sebenarnya tentang kemampuan pemrograman atau pemecahan masalah dari orang yang Anda wawancarai. Dan saya kira itulah yang Anda cari.

Kedua, perhatikan bahwa selalu ada rasa takut akan kegagalan, terus-menerus menjelekkan otak orang itu. "Bagaimana jika saya mengacau?", "Bagaimana jika saya melakukan kesalahan konyol". Bagian yang lebih besar dari otak seseorang sibuk terus-menerus memeriksa bagaimana mereka keluar - hanya sedikit yang bisa menahan saraf.

Jadi, dalam situasi seperti ini, bahkan yang terbaik sekalipun mungkin akan goyah.

Untuk bagian terakhir yang kami minta diwawancarai lakukan adalah menulis potongan kode kecil (4-5 baris) di papan tulis dan menjelaskan ketika mereka melewatinya

Tidak apa-apa. Tetapi sekali lagi, hanya karena seseorang tidak dapat menjelaskan sesuatu dengan baik tidak berarti mereka tidak mengetahuinya dengan baik. (Penjelasan adalah seni berbicara).

Jika saya jadi Anda, saya akan melakukan ini Untuk bagian terakhir ...

Pekerjakan mereka untuk proyek yang sangat kecil (tapi realistis). Lihat bagaimana mereka membuat kode, mengambil keputusan, mengasimilasi kondisi kerja dan anggota tim, dll., Dan kemudian berdasarkan itu, buat keputusan akhir.

treecoder
sumber
6
Jika bagian dari proses rekrutmen Anda adalah untuk menawarkan kontrak jangka tetap standar selama 3 bulan, berapa banyak orang yang benar-benar akan mengundurkan diri dari peran perm untuk menerima tawaran Anda?
Michael Shaw
1
Maksud saya yang terakhir dalam arti bahwa itu adalah item terakhir dalam daftar saya. Saya mencampur urutan hal-hal dalam wawancara tergantung pada bagaimana bagian percakapan telah berkembang dan di mana saya pikir kekuatan dan kelemahan mereka. Adapun menawarkan mereka kontrak jangka pendek ... itu tidak realistis di perusahaan kecil dunia nyata. Saya tidak punya waktu / sumber daya untuk mengambil risiko 3 bulan punt pada orang-orang yang mungkin tidak berhasil dan seperti yang ditunjukkan Ptolemy, saya ragu para kandidat akan terlalu tertarik juga.
Eoin Campbell 11/11
"Bagian terbesar dari otak seseorang sibuk terus-menerus memeriksa bagaimana mereka keluar - hanya sedikit yang bisa menahan saraf." Saya selalu merasa bahwa ini penting untuk diperhatikan, terutama dengan beberapa orang baru di dalam atau keluar dari perguruan tinggi. Saya tahu saya bangkrut dalam beberapa wawancara pertama saya, khawatir tentang hal itu sampai-sampai saya mengacaukan beberapa pertanyaan termudah hanya karena saya sangat gugup. Memang, tidak banyak yang bisa Anda lakukan. Yang bisa saya lakukan hanyalah pindah ke wawancara berikutnya, akhirnya menjadi nyaman dengan prosesnya.
The Jug
1
@Jug sepenuhnya setuju dan kami akan jauh lebih lembut dengan Juniors & Grads untuk memastikan mereka tidak kewalahan oleh proses tetapi kami sudah memiliki senior (7-8 ths) pengembang yang berjuang dengan ini.
Eoin Campbell 11/11
1
"Sewa mereka untuk proyek yang sangat kecil (tapi realistis) ..." - apakah Anda menyarankan Anda harus "merekrut" misalnya tiga kandidat yang melamar suatu posisi, bahkan jika Anda hanya berencana untuk mempertahankannya? Ini sepertinya sangat tidak adil bagi saya! Mungkin juga tidak akan meningkatkan semangat tim.
nikie
8

Bukan tidak pantas, tetapi ingat bahwa beberapa orang (dan mungkin bagian yang lebih besar dari kerumunan programmer) dapat sangat tertekan dalam sebuah wawancara. Saya pikir sebagian besar dari kita mengenal pria dari kantor yang merupakan pembuat kode yang brilian dan orang yang sangat dapat dipercaya, tetapi dia akan luluh dalam situasi seperti itu. Penampilannya tidak bisa diukur dalam tes seperti itu, jadi jangan lakukan ini sebagai tes go / no go.

Tamás Szelei
sumber
7
Saya tidak kenal orang itu, karena dia tidak dipekerjakan.
kevin cline
4
@ Kevincline merugikan perusahaan, kecuali jika Anda mendapatkan uang dengan membuat orang lain menahan diri.
JayPea
1
@ JayPea: bagaimana saya tahu seseorang adalah pembuat kode yang brilian jika saya tidak bisa melihatnya sebagai kode? Satu-satunya alternatif adalah rekomendasi dari seseorang yang sudah menjadi staf. Semua orang suka mempekerjakan berdasarkan rekomendasi tepercaya, tetapi itu adalah kelompok yang cukup kecil.
kevin cline
1
@ kevincline Baca jawaban saya, saya tidak mengatakan Anda tidak harus melakukan pengkodean papan tulis pada wawancara pengembang.
Tamás Szelei
@JayPea Saya cukup yakin bahwa memiliki karyawan yang tidak gugup dalam situasi stres tinggi merupakan faktor penting dalam kesuksesan finansial banyak perusahaan.
Kyle Strand
4

Saya pribadi berpikir bahwa ini adalah salah satu hal terbaik yang dapat Anda lakukan. Seperti yang Anda katakan Anda tidak mencari sintaks yang benar atau sesuatu yang serupa, bagian terpenting di sini adalah untuk melihat apakah seseorang dapat berkomunikasi ... Saya telah melihat begitu banyak pengembang yang baik yang hanya dapat bekerja sendiri di dalam ruang mereka sendiri ... Sayangnya ini tidak mungkin dalam jumlah besar kasus sehingga memiliki orang yang terampil yang juga mampu MENGATAKAN apa yang dia pikirkan dengan cara yang jelas dan ringkas adalah anggota tim yang lebih berharga daripada seseorang yang berpikir: "Mereka tidak akan memahaminya Lagi pula, saya akan melakukannya sendiri dan menunjukkannya nanti ".

Komunikasi, komunikasi, komunikasi adalah sesuatu yang merupakan dasar dari setiap proyek berukuran sedang hingga besar (bahkan lebih kecil jika membutuhkannya)

Ivan Crojach Karačić
sumber
baik itu lebih dari komunikasi. mereka harus bisa berkomunikasi, tentu saja, tetapi mereka juga harus bisa memberi tahu saya solusi mereka untuk masalah sederhana.
Eoin Campbell 11/11
4

Saya pikir itu bukan hal yang masuk akal. Kami mencoba mencari kandidat, yang bagus dalam tugas yang kami inginkan. Menulis kode di papan tulis bukan salah satunya dan saya pikir itu bukan filter yang valid untuk menemukan kandidat yang baik.

  • Kode yang baik tidak ditulis, melainkan ditulis ulang. Papan tulis cukup abadi, karena sulit untuk berubah setelah Anda menulisnya. Seharusnya semudah mungkin untuk mengubah pikiran Anda segera setelah Anda memahami masalahnya dengan lebih baik.
  • Berada dalam sebuah wawancara adalah situasi yang menegangkan, tidak perlu memberikan tekanan tambahan pada kandidat. Banyak orang komputer tidak memiliki tulisan tangan yang baik. IDE modern menyediakan banyak alat yang biasa Anda gunakan. Dan dapat mencari sesuatu di Google begitu Anda membutuhkannya juga merupakan bagian dari gaya kerja kebanyakan programmer. Mengapa mengambil semua hal ini dan menciptakan lingkungan buatan, bahwa mereka tidak akan pernah harus bekerja jika Anda mengajukan penawaran?
  • Kami juga sangat tertarik dengan kemampuan untuk menulis tes yang baik, bahkan mungkin melakukan TDD. Ini tidak mungkin dilihat selama pengkodean papan tulis.

Sebagian besar petunjuk bahwa Anda bisa keluar dari sesi pengkodean papan tulis Anda juga bisa keluar dari sesi pemasangan - Dan saya percaya, pemasangan adalah alat yang jauh lebih baik untuk mendapatkan perasaan, bagaimana seorang kandidat memecahkan masalah dan cara kerjanya. Dia dapat membawa komputernya sendiri dan bekerja di lingkungan yang nyaman baginya. Dan itu jauh lebih mudah untuk diterapkan pada tugas yang Anda ingin mereka lakukan begitu mereka bergabung. Kami misalnya memiliki basis kode warisan yang besar, jadi kami meminta mereka untuk memperbaiki beberapa kode yang diekstraksi untuk proyek nyata. Dan kami benar-benar berpasangan sebanyak mungkin dalam pekerjaan sehari-hari kami, jadi sangat cocok.

Sementara sesi papan tulis mungkin membantu untuk menyaring kandidat yang buruk, itu mungkin juga menyaring banyak programmer yang baik.

iGEL
sumber
1
Papan tulis tidak berubah? Anda hanya menghapus sesuatu dan menulis ulang dengan iseng, itulah yang membuat mereka berguna, terutama mengajar. Anda harus hidup di alam semesta alternatif.
whatsisname
Mungkin abadi adalah kata yang salah (saya mengambilnya dari medium.com/dima-korolev/… - yang menganggap itu suatu keuntungan). Namun, dibandingkan dengan editor, sulit untuk menambahkan sesuatu yang belum Anda tinggalkan.
iGEL
3

Secara pribadi, saya akan meninggalkan pewawancara yang meminta saya melakukan FizzBuzz. Saya tidak tahu kapan ini menjadi standar industri baru, tetapi ini benar-benar buang-buang waktu. FizzBuzz adalah filter yang dapat digunakan sebelum wawancara, meskipun secara pribadi saya pikir jika saya harus memilih dari N kandidat yang cukup memiliki beberapa kode sumber terbuka atau blog yang dapat saya lihat, saya pasti lebih suka itu sebagai filter .

Sederhananya, saya pikir dalam wawancara untuk posisi pemrograman (kecuali mungkin untuk junior atau magang), seharusnya sudah ditetapkan / ditentukan bahwa orang yang diwawancara dapat memprogram.

Tapi ya, papan tulis sempurna, meskipun saya pikir Anda harus mengambil serangkaian masalah yang berbeda. Lemparkan mereka masalah dunia nyata dan minta mereka menggambar percekcokan UML-ish untuk menjelaskan strategi keseluruhan mereka untuk menyelesaikan masalah itu. Beri mereka komputer dengan internet, sehingga mereka dapat mencari perpustakaan pihak ketiga yang bisa mereka gunakan sebagai kotak hitam di squibblescape mereka.
Dalam beberapa menit, Anda akan benar-benar melihat bagaimana mereka mengatasi masalah. Anda benar-benar dapat menjadikan ini hal yang sangat menarik, dengan memilih masalah yang belum tentu Anda miliki solusinya dan berusaha untuk "menyelesaikannya" bersama-sama, untuk melihat seberapa baik mereka berkomunikasi dan seberapa baik mereka dapat memasukkan input (namun tidak akan mendorong mereka terlalu keras - beberapa orang mungkin akan membeku jika Anda melakukannya). Dan kemudian tambahkan beberapa persyaratan dengan cepat. Ini semacam pengembangan perangkat lunak seperti tanpa implementasi dan - yang paling penting - tanpa debugging, jadi 15 menit adalah waktu yang banyak.

back2dos
sumber
"Seharusnya sudah ditetapkan / ditentukan bahwa orang yang diwawancara dapat memprogram" - bagaimana? Entah Anda memiliki pra-wawancara, dalam hal ini pertanyaan OP menjadi apakah pengkodean papan tulis sesuai dalam pra-wawancara, atau Anda secara efektif mengambil kata-kata kandidat untuk itu, yang mengundang bencana. Perekrut dan CV dapat (dan memang) berbohong, blog dan repositori github dapat dijiplak.
Julia Hayward
@JuliaHayward: Membangun kemampuan dasar coding kandidat dalam pra-wawancara adalah hal yang berbeda. Anda sebenarnya tidak perlu mengundang seseorang di situs untuk melakukan itu. Anda dapat mengirimi mereka masalah kecil yang bisa mereka selesaikan. Mungkin diskusikan solusi itu (atau kode github) secara langsung. Yang paling penting: Sangat tidak mungkin Anda akan menemukan seorang kandidat yang mampu dengan anggun menguasai jenis masalah yang saya sarankan, sementara tidak mampu menyelesaikan masalah jenis fizzbuzz. Wawancara harus digunakan untuk menentukan seberapa mampu kandidat menghadapi kompleksitas yang khas dari masalah dunia nyata.
back2dos
Anda mungkin tidak harus memiliki seseorang di situs, tetapi setidaknya Anda harus menelepon ke kandidat berbicara melalui latihan pengkodean mereka, apa pun yang Anda gunakan. Hanya membagikan pertanyaan dan menunggu file zip dikirim masih memiliki risiko peniruan; sebagai contoh ekstrem saya melakukan tes untuk FooCorp satu kali, kemudian hanya mencari Google "tes coding FooCorp" setelahnya - dan menemukan seseorang telah menerbitkan solusi yang cukup bagus.
Julia Hayward
@JuliaHayward: Jika Anda memberi setiap pelamar masalah yang sama, maka tentu saja responsnya menjadi dapat-google. Tidak mengherankan, bukan? Tapi sekali lagi, jawaban saya tetap: jangan melakukan coding papan tulis pada tingkat fizzbuzz dalam sebuah wawancara. Itu hanya menunjukkan bahwa Anda tidak repot mempersiapkan masalah yang baik dan menarik. Seperti yang Anda katakan sendiri, ada cara untuk membangun kemampuan pemrograman dasar sebelum Anda mengundang kandidat ke papan tulis Anda.
back2dos
3

Izinkan saya menjawab dengan pertanyaan lain:

Apakah menulis kode pada papan tulis menawarkan keuntungan nyata dalam menilai kemampuan pemrograman, dibandingkan dengan mengetik dan mengeksekusi kode pada komputer?

Saya pikir sangat tepat untuk meminta seorang kandidat untuk menulis kode dalam sebuah wawancara. Namun, bagi saya, dapat mengeksekusi kode adalah bagian penting dari loop umpan balik yang membentuk pemrograman. Di papan tulis, Anda mengikat satu tangan di belakang, dan Anda tidak mendapatkan gambaran lengkap tentang cara saya mengatasi masalah.

Kevin C.
sumber
Apakah ini hanya pendapat Anda atau Anda dapat mendukungnya?
nyamuk
2
@gnat, saya hanya mengajukan pertanyaan. Separuh jawaban terakhir adalah pendapat saya, ya, tapi itu harus cukup jelas dengan bahasa yang digunakan. Selain itu, pertanyaan itu sendiri dimulai dengan mengakui bahwa itu subjektif, dan secara khusus meminta pendapat tentang masalah tersebut. Saya tidak berpikir downvote dijamin.
Kevin C.
@ Kevin C. Saya berpikir bahwa terlepas dari kata-kata Anda, Anda membuat poin yang sangat bagus di sini. Pengkodean papan tulis berbeda dari pengkodean komputer. Apakah ini pendapat? Tentu saja tidak, selama papan tulis tidak dapat menjalankan kode.
Leandro Caniglia
2

Tidak, tetapi IMO pendekatan yang lebih baik adalah dengan menggunakan papan tulis untuk tujuan yang dimaksudkan dan menggunakan UML / sketsa / catatan untuk beberapa proyek fiktif, daripada yang lama "tulis saya kueri sql untuk mendapatkan semua catatan" atau "tulis metode yang membalik sebuah string ".

Salah satu wawancara terbaik yang saya miliki adalah menghabiskan waktu 20 menit untuk berdiskusi dengan pengembang utama arsitektur (non-software) untuk rumah ilmuwan gila (lengkap dengan tempat persembunyian rahasia, sinar kematian dan kandang anjing). Dia harus melihat pendekatan saya dalam memecahkan masalah, dan masalahnya adalah sesuatu yang menyenangkan bukan pemrograman hafalan tipikal 101 hal yang telah dipecahkan oleh bahasa modern ribuan kali lipat. Kebetulan saya juga melakukan sepotong kode seperti ini sebelumnya, tetapi saya merasa jauh lebih "di bawah tekanan" daripada dengan bagian arsitektur.

Wayne Molina
sumber
2

Saat ini, banyak pemrograman dilakukan dalam tim. Agar tim dapat bekerja, orang harus dapat berkomunikasi. Sebagian besar dari ini adalah mampu berkomunikasi di depan papan tulis (brainstorming, mentoring, ulasan kode perbaikan yang diusulkan, dll.)

Saya akan mencari apakah kandidat menjelaskan cara mencari solusi untuk masalah pemrograman menggunakan kode papan tulis untuk membantu. Jika penjelasannya cukup baik, programmer lain yang baik di dalam ruangan akan secara otomatis mengoreksi kesalahan ketik / kesalahan di papan tulis.

Untuk sebagian besar jenis posisi tim, tidak masuk akal untuk TIDAK mengharapkan seorang kandidat untuk dapat menjelaskan dan menuliskan upaya mereka pada solusi.

hotpaw2
sumber
0

Tidak, itu adalah hal yang baik untuk kode untuk wawancara, tetapi Anda harus mengizinkan kode dalam bahasa yang masuk akal karena biasanya lebih mudah untuk melatih seorang pengkode yang kompeten dalam bahasa lain daripada mendapatkan kode yang begitu-begitu dalam bahasa yang Anda inginkan, naik ke tingkat yang kompeten.

Paddy3118
sumber
0

Saya akan mengatakan itu tepat, tetapi dalam banyak kasus itu bukan cara yang efisien untuk mengetahui siapa yang baik dalam pemrograman dan siapa yang tidak. Jika Anda ingin pekerjaan dilakukan (= merekrut seseorang yang mampu), maka wawancara harus fokus pada pengukuran keterampilan kehidupan nyata. Sejauh ini wawancara terbaik yang pernah saya lakukan seperti ini:

  • Salam, selamat datang oleh HR.
  • Beberapa kata tentang saya, tentang perusahaan, dll ... dan dia menjelaskan sisa wawancara.
  • Dia memberi saya laptop dengan program yang melewatkan beberapa bagian, gagal dalam tes unit karena itu. Bagian-bagian yang hilang dikomentari di sana sebagai teks, itu tentang mengimplementasikan tugas dasar, seperti membuat koneksi antara beberapa kelas, dan memperkenalkan logika bisnis sederhana.
  • Jika semuanya berjalan dengan baik, unit test menjadi hijau.
  • Ucapkan selamat tinggal, dan persetujuan untuk kembali dalam beberapa hari.
  • Pada hari itu pemimpin bertemu dengan saya, dan bertanya tentang program yang sudah selesai, apa yang saya lakukan, dan mengapa.
  • Pemimpin ini juga bertanya tentang pengalaman masa lalu saya, dan beberapa pertanyaan lainnya.

Jadi, ringkasnya: jika Anda mencari tenaga kerja ke dalam kode produksi, uji keterampilan mereka di lingkungan nyata. Jika Anda ingin tahu tentang pengetahuan teoretis mereka, lebih baik bertanya kepada mereka tentang hal-hal ini. Jika Anda dilucuti dari IDE, atau Anda gugup karena Anda harus memprogram di papan tulis di depan seseorang, saya bisa mengerti, terutama di TI orang kadang-kadang tertutup dan banyak dari kita tidak bisa menangani situasi ini dengan baik, jadi putih papan efisiensi kita akan terlihat lebih buruk daripada yang sebenarnya.

CsBalazsHungary
sumber
-1

Saya tidak menganggapnya tidak masuk akal kecuali orang yang diwawancarai memiliki tulisan tangan yang buruk (atau saya harus mengatakan tulisan tangan) :-). Selain itu satu-satunya perbedaan dalam pendekatan Anda adalah penggunaan papan dan spidol. Dalam beberapa kasus pewawancara melakukan hal ini tetapi mereka memberikan kertas dan pena sebagai gantinya. Jika ada 3-4 orang yang melakukan wawancara, saya akan mengatakan pendekatan Anda akan jauh lebih baik dan cocok.

Pankaj Upadhyay
sumber
1
"Sebagian besar atau semua pewawancara melakukan hal ini" IMO sangat jarang.
Kirk Broadhurst
Saya kira semua orang melakukan itu. Sangat jarang mereka hadir dengan PC atau laptop hanya untuk memeriksa apakah Anda memecahkan masalah pengkodean tertentu. Tapi mungkin, semuanya berbeda di tempat Anda. Jika mau, saya dapat mengedit hal ini dalam jawabannya ??
Pankaj Upadhyay
lihat saya setuju itu cukup langka ... Saya sudah memegang 4 pekerjaan dalam 9 tahun terakhir dan tidak pernah diminta untuk menulis kode di atas kertas / wb. Pengodean apa pun dilakukan di IDE. itulah sebabnya saya bertanya-tanya apakah itu tidak pantas. Saya berharap seorang dev dapat mengeluarkan kode "Membalikkan string" dalam beberapa menit paling banyak tanpa bantuan IDE / Intellisense.
Eoin Campbell 11/11
Saya telah melakukan edit berdasarkan pengalaman Anda. Pada dua wawancara saya sudah terlalu, mereka memberi saya pena dan kertas untuk menulis cara mencetak seri Fibonacci dan algoritma untuk mergeshort. Jadi, saya pikir sebagian besar hal berjalan seperti ini :-)
Pankaj Upadhyay 11/11
Harus menunjukkan saya tidak pernah menulis kode di komputer; Saya harus menulis kode di atas kertas dua kali (baik ketika saya masih junior) dan saya harus menggambar diagram arsitektur di papan tulis sekali . Itu dari sekitar 20 wawancara ...
Kirk Broadhurst