Bagaimana saya bisa menjadi lebih baik di pertanyaan wawancara papan tulis? [Tutup]


16

Saya telah duduk di wawancara dan melihat perbedaan besar antara individu dengan kompetensi yang sama dalam menjawab pertanyaan di papan tulis selama wawancara.

Secara umum, mampu menjelaskan pemikiran Anda dengan jelas, menulis kode yang dapat dibaca dengan pena penghapus kering, menghindari saat-saat hening yang lama cenderung menghasilkan ulasan calon yang lebih baik meskipun pada akhirnya jawabannya hampir sama benarnya.

Bagaimana orang bisa menjadi lebih baik di pertanyaan wawancara papan tulis? Apakah ada cara untuk lebih siap?


4
Anda mengatakan bahwa Anda memperhatikan "perbedaan besar antara individu dengan kompetensi yang sama dalam menjawab pertanyaan di papan tulis selama wawancara". Apakah Anda yakin ini masalahnya? Khusus untuk bidang yang berorientasi pada tim seperti rekayasa perangkat lunak, saya akan mempertimbangkan seseorang yang dapat berdiri di depan sekelompok orang teknis dan menjelaskan keputusan dan proses berpikir mereka lebih kompeten daripada seseorang yang tidak bisa. Tentu saja, mendapatkan jawaban terbaik itu penting, bisa bekerja dengan orang lain untuk sampai ke sana juga sangat penting.
Thomas Owens

12
Anda bisa menjadi lebih baik dengan melakukannya lebih banyak. Saya selalu berbaris wawancara untuk pekerjaan yang kurang diinginkan dulu. Dengan begitu saya bisa berlatih dengan papan tulis sebelum saya pergi ke wawancara untuk pekerjaan yang saya inginkan :-)
Martin York

1
Latihan menjadi sempurna - mungkin di sini juga.

1
Jadilah diri Anda sendiri dalam wawancara! Ini mungkin tidak menjamin untuk mendapatkan pekerjaan. Tetapi menjamin bahwa Anda mendapatkan pekerjaan terbaik yang layak Anda dapatkan.
Dipan Mehta

Jelas, jawabannya adalah latihan, latihan, latihan! Tempat yang baik untuk memulai ada di sini: code-exercises.com/programming
kms333

Jawaban:


15

Anda harus membeli papan tulis kecil dan berlatih, berlatih, berlatih. Mintalah teman Anda mengajukan pertanyaan kepada Anda dari buku seperti Wawancara Pemrograman . Kemudian selesaikan masalahnya dan jelaskan proses pemikiran Anda kepada mereka persis seperti yang Anda lakukan dalam transaksi nyata. Tujuan Anda adalah agar tidak terdengar panik. Anda ingin mengartikulasikan pikiran yang jernih. Bahkan jika Anda tidak dapat menyelesaikan masalah, tunjukkan pada mereka bahwa proses berpikir Anda cerdas dan berada di jalur yang benar.

Menulis jawaban di papan tulis tidak intuitif. Itu membutuhkan latihan. Saya dulunya adalah seorang guru untuk salah satu program pelatihan SAT tersebut, dan kami menghabiskan waktu berjam-jam berlatih dengan menulis di papan tulis dan menjelaskan proses pemikiran kami. Pada awal program, kebanyakan orang tersandung kata-kata mereka dan menulis dengan tulisan tangan yang mengerikan. Pada akhirnya, kami tampak seperti veteran kawakan. Anda tidak ingin terlihat seperti yang kami lakukan di awal program.

Moral dari cerita ini: Jangan pergi ke wawancara Anda tanpa persiapan. Memecahkan masalah di papan tulis adalah sesuatu yang harus Anda praktikkan.


3
ya dan sayangnya menciptakan situasi di mana kandidat "terbaik" adalah yang paling banyak melakukan wawancara (atau sebaliknya "siap"). Terkadang ini diterjemahkan menjadi karyawan yang baik dan terkadang tidak.
Kevin

1
Mungkin menerjemahkan ke karyawan yang baik lebih sering daripada tidak. Sebaliknya, seseorang yang melatih dan sukses adalah seseorang yang: A) peduli tentang bekerja untuk perusahaan dan B) dapat berhasil dalam hal-hal yang mereka pikirkan. Jika pertanyaan pemrograman sulit / baik, maka faktor persiapan papan tulis menjadi kurang signifikan.
Casey Patton

@Kevin: Tentu saja ... Saya hanya bermain sebagai Pengacara Setan. Saya telah mengungkapkan frustrasi yang sama persis pada beberapa kesempatan.
Casey Patton

1
@ Kevin, berjalan dua arah dan risikonya simetris, kecuali mungkin untuk undang-undang yang melindungi pemrogram bodoh dari pemecatan.
Pekerjaan

Pewawancara yang baik mungkin akan melihat potensi dalam diri seorang kandidat yang tidak hebat di papan tulis. Saya sepenuhnya setuju dengan @CaseyPatton, dan akan menambahkan bahwa dengan berkomunikasi secara alami akan membantu dengan papan tulis, dan bagaimanapun juga merupakan keterampilan yang sangat penting. Sebaliknya, jika Anda tidak tahu barang-barang Anda, tidak masalah seberapa hebat presenter Anda.
gregmac

8

Ada tiga pertanyaan yang perlu dijawab saat Anda berada di wawancara papan tulis:

  1. Bisakah Anda memecahkan masalah?
  2. Bisakah Anda berkomunikasi dengan jelas tentang masalah dan solusinya?
  3. Apakah Anda dapat menerima umpan balik dari orang lain?

Begitu solusinya bukan itu intinya, itu adalah bagaimana Anda sampai pada solusinya , dan itulah yang akan dinilai oleh pewawancara.

Bisakah Anda menjadi lebih baik? Ya kamu bisa:

Lain kali Anda harus menjelaskan sesuatu dengan teman-teman Anda (siswa lain jika Anda belajar atau rekan kerja lain jika Anda sedang bekerja), lakukan ini:

  1. Seret mereka ke papan tulis
  2. Ambil pulpen dan penghapus
  3. Mulailah menjelaskan masalahnya
  4. ???
  5. Keuntungan

Oh, dan jangan malu. Anggap saja sketsa dan kode semu Anda tetap akan menyedot dan berimprovisasi. Tujuannya adalah untuk mencapai jawaban bersama dengan rekan Anda dan selalu terbuka untuk umpan balik dari rekan Anda. Poin bonus jika Anda dapat memecahkan masalah. Semakin banyak Anda melakukannya, semakin baik Anda melakukannya. Latihan membuat sempurna.

Selain menulis kode; belajar menggambar diagram UML dan membicarakannya. Itu semua kotak, lingkaran dan panah dan jenis yang biasanya Anda gambar adalah diagram kelas, diagram urutan dan (sangat jarang) diagram use case. Dan dalam semua kasus lain, Anda hanya perlu menggambar kotak, lingkaran, dan panah.


8

Papan tulis tidak hanya untuk wawancara

Itu mungkin dianggap sebagai gagasan radikal, tetapi ketika saya mengajukan pertanyaan pada seorang kandidat tentang papan tulis, saya secara mental membandingkan tanggapannya dengan beberapa kali terakhir seorang kolega menggunakan papan tulis untuk menjelaskan sesuatu kepada saya atau meminta bantuan kepada saya. Ini bukan hanya tes yang harus dilakukan pada waktu wawancara, itu adalah keterampilan komunikasi sehari-hari yang penting.

Jadi bagaimana hal itu membantu saya mempersiapkan pertanyaan papan tulis ketika saya sedang diwawancarai? Saya memperlakukannya seperti memecahkan masalah bersama dengan seorang kolega, bukan ujian universitas. Itu berarti saya mempresentasikan ide-ide saya, dan ketika saya membutuhkan informasi lebih lanjut, saya bertanya. Jika ada sesuatu yang tidak beres, saya membicarakannya dengan pewawancara sampai saya puas.

Jika mereka ingin Anda membalikkan daftar tertaut dan Anda tidak ingat apa daftar tertaut itu, tanyakan. Jika hasil akhirnya lebih baik, saya akan memberi Anda nilai lebih tinggi daripada orang yang tahu apa daftar tertaut di atas kepalanya, tetapi siapa yang menulis kode buruk untuk memanipulasi satu. Ini tidak seperti Anda akan memulai pekerjaan entah bagaimana secara ajaib mengetahui semua kode kami dan informasi hak milik lainnya, tidak peduli seberapa berpengalaman seorang programmer Anda.

Menurut pendapat saya, wawancara bukanlah sesuatu yang bisa Anda selesaikan, dan jika Anda bisa, itu akan memengaruhi persepsi seberapa baik Anda cocok untuk pekerjaan itu, dan sebaliknya. Sangat mudah untuk mengetahui kapan seseorang hanya melafalkan jawaban yang mereka hafal. Itulah salah satu alasan saya sengaja mencoba mendorong kandidat keluar dari zona pengetahuan mereka. Saya ingin melihat bagaimana mereka bereaksi terhadap pertanyaan yang belum mereka persiapkan.

Anda mungkin berpikir saya gila, tetapi saya merasa sangat kuat tentang manfaat dari mengevaluasi proses berpikir seseorang vs kemampuan menghafal mereka, yang saya sampaikan kepada pewawancara ketika saya pada dasarnya memuntahkan jawaban yang telah saya berikan untuk pertanyaan yang sama persis pada 3 wawancara baru-baru ini, dan tanyakan apakah mereka ingin memilih sesuatu yang lebih menantang. Mereka selalu meminta saya untuk "humor mereka", kalau-kalau saya menggertak saya kira, tapi setidaknya mereka mendapatkan penilaian yang jujur ​​tentang keterampilan saya.


4

Saya telah duduk di wawancara dan melihat perbedaan besar antara individu dengan kompetensi yang sama dalam menjawab pertanyaan di papan tulis selama wawancara. Secara umum dapat menjelaskan pemikiran Anda dengan jelas, menulis kode yang dapat dibaca dengan pena penghapus kering, menghindari saat-saat hening yang lama cenderung menghasilkan ulasan calon yang lebih baik meskipun pada akhirnya jawabannya hampir sama benarnya.

Saya tidak ingat kapan terakhir kali saya bekerja sebagai individu ketika mengembangkan perangkat lunak. Saya selalu harus mengoordinasikan kegiatan saya dengan orang lain, mendiskusikan desain dan keputusan implementasi saya, dan bekerja dengan orang lain untuk membangun perangkat lunak. Menunjukkan keterampilan komunikasi dalam sebuah wawancara adalah nilai tambah yang besar. Wawancara bisa membuat Anda gugup, tetapi begitu juga tenggat waktu dan tekanan pekerjaan yang menjulang.

Saya juga akan mengulangi komentar saya. Mengingat sifat tim yang berorientasi pada rekayasa perangkat lunak, Anda harus mempertimbangkan lebih dari sekadar kompetensi teknis. Kemampuan untuk berbicara dan menulis, terutama secara teknis, penting untuk sebagian besar posisi. Saya akan menilai kompetensi seseorang pada semua faktor yang relevan dengan pekerjaan itu, bukan hanya kemampuan mereka untuk membangun perangkat lunak.

Apa saja cara yang bisa dilakukan seseorang untuk menjadi lebih baik dalam pertanyaan wawancara di papan tulis?

Apakah ada cara untuk lebih siap?

Saya dapat memikirkan dua alasan mengapa seseorang mungkin memiliki respons yang buruk terhadap pertanyaan papan tulis: mereka tidak memiliki pemahaman yang baik tentang informasi teknis atau mereka adalah pembicara / presenter yang buruk. Tentu saja, bisa selalu keduanya.

Cara untuk menjadi lebih baik tergantung pada masalahnya. Peningkatan teknis datang dengan membaca, melakukan, dan mengajukan pertanyaan (biasanya dalam urutan itu). Keterampilan presentasi yang buruk datang melalui latihan, meskipun beberapa orang secara alami pembicara yang baik, sementara yang lain tidak. Saya pikir siapa pun dapat mengembangkan keterampilan komunikasi, tetapi kepribadian akan memainkan peran besar dalam seberapa baik seseorang sebenarnya.

Kiat untuk bagaimana melanjutkan selama wawancara?

Tergantung.

Lebih detail selalu baik, bahkan sampai ke titik "total brain dump" kepada pewawancara. Jika saya tidak memberikan informasi yang cukup, saya memiliki pewawancara yang meminta saya untuk menjelaskan sesuatu secara lebih rinci, dan mereka biasanya mengajukan pertanyaan eksplisit, langsung ke pokok masalah tentang desain atau kode saya.

Menghabiskan beberapa menit untuk memikirkan masalah sebelumnya, tanpa mengatakan atau melakukan apa pun selalu merupakan ide yang baik. Anda dapat menggunakan waktu ini untuk juga mengajukan pertanyaan untuk memperjelas apa yang dicari pewawancara. Ini tidak hanya akan memberi Anda kesempatan untuk memberi pewawancara apa yang mereka cari, tetapi juga menunjukkan bahwa Anda dapat memikirkan jalan Anda melalui berbagai kemungkinan.


3

Berdiri di depan orang lain dan memberikan presentasi adalah keterampilan yang bisa dipelajari. Jika Anda lemah dalam hal itu, saya sarankan bergabung dengan Toastmasters cabang lokal Anda . Anda akan berlatih beberapa "di sini adalah topik yang belum pernah Anda lihat sebelumnya, sekarang berdiri di depan orang asing dan menjelaskannya" menekankan bahwa Anda temui selama wawancara, dan terutama bagian papan tulis (jika ada).


2
bisa berbicara tentang sesuatu yang belum pernah Anda lihat sebelumnya dikenal sebagai BS-ing. Mampu menulis papan tulis solusi untuk wawancara teknis umumnya dikenal sebagai yang berkualitas. Saya tahu karena saya buruk pada awalnya dan cukup baik pada yang kedua. Mereka sama sekali berbeda keterampilan.
Kevin

@ Kevin, ada banyak orang berpengetahuan yang tersedak di bawah tekanan, dan OP menunjukkan ini. Berbicara di depan umum menakutkan banyak orang dan latihan Toastmaster dimaksudkan untuk mematahkan rasa takut itu - seperti kamp pelatihan di militer. Rasakan ketakutan dan selamatlah. Lain kali Anda berada dalam situasi yang menakutkan, Anda mengenalinya, Anda ingat bahwa Anda telah selamat dari itu sebelumnya dan itu berhenti menjadi menakutkan.
Tangurena

Ini teori yang bagus tapi saya tidak yakin itu benar-benar berfungsi seperti itu. Saya telah mengambil kelas berbicara di depan umum dan itu masih menakutkan saya, tetapi papan tulis untuk segelintir orang tentang topik teknis tidak (dan tidak pernah benar-benar melakukannya). Ini berbeda karena jauh lebih mudah untuk berbicara dengan percaya diri pada topik teknis yang Anda pahami, daripada pada beberapa topik acak acak lainnya yang hanya sedikit Anda ketahui. Atau mungkin itu lebih mudah bagi saya ?!
Kevin

3

Sementara yang lain telah membahas aspek fisik (latihan!), Saya akan menyentuh aspek mental. Terlepas dari seberapa banyak latihan yang Anda lakukan, wawancara adalah jenis lingkungan yang berbeda. Anda tidak akan sendirian atau bersama teman - Anda akan bersama seseorang yang belum pernah Anda temui yang mencoba menilai kemampuan Anda.

Saat berlatih, selalu ingat lingkungan itu. Anda tidak perlu menyanjung atau menyedot mereka - tujuan Anda adalah untuk menunjukkan kompetensi dan sikap Anda. Berbicaralah secara alami dan jelaskan apa yang terjadi di kepala Anda. Mereka ingin melihat bagaimana Anda berpikir, jadi pikirkan dengan keras, bicaralah, diskusikan, dan buat mereka untuk terlibat dalam pikiran Anda.

Faktor penting lainnya adalah rebound. Praktik masalah selalu memiliki solusi - ketika Anda mengalami kesulitan, Anda dapat memeriksa langkah selanjutnya, menuliskannya, memahami, dan belajar. Tetapi pewawancara Anda bukan manual solusi. Mereka akan membantu Anda, tetapi tidak ada yang mengatakan "langkah selanjutnya adalah melakukan x," - mereka akan mengatakan "sudahkah Anda memikirkan y (yang terkait dengan x)?" Jadi berlatihlah tanpa selalu merujuk pada manual. Mintalah seorang teman memberi Anda beberapa saran yang tidak jelas tetapi terkait, dan cobalah untuk membangun dari sana. Jelaskan bagaimana saran mereka membantu Anda memecahkan masalah. Selalu tunjukkan pada mereka bagaimana Anda berpikir.

Semoga ini bisa membantu!


+1: sangat membantu ... Saya memiliki wawancara papan tulis yang muncul dan itu sedikit menegangkan ketika Anda tidak tahu apa harapannya. Saya tahu saya bisa menjelaskan proses pemikiran saya dan itu akan sangat penting.
IAbstract

2

Mengajukan pertanyaan dan menghindari asumsi adalah poin lain untuk beberapa pertanyaan papan tulis. Apa yang mungkin tampak seperti, "Hei, saya telah melakukan sesuatu seperti ini sebelumnya dan inilah solusinya ..." benar-benar sebuah pertanyaan untuk melihat apakah Anda akan membuat asumsi-asumsi itu dan melepaskan kaki Anda. Bukannya itu dimaksudkan untuk menjadi pertanyaan jebakan atau mempermalukan Anda, tetapi umumnya ada banyak hal kecil yang jika Anda mengenai salah satu dari mereka itu akan ditampilkan dengan lebih mudah. Beberapa contoh area:

  • Seberapa spesifik persyaratannya? Apakah Anda yakin hasilnya akan seperti apa?
  • Metrik kompleksitas mana yang lebih penting, waktu atau ruang, dan apakah beberapa operasi bernilai lebih banyak pertimbangan daripada yang lain, misalnya jika Anda sedang membangun struktur data mungkin ada keinginan untuk akses yang lebih cepat daripada menambah atau menghapus atau sebaliknya?
  • Seberapa baik Anda bisa menjelaskan mengapa solusi Anda bagus?
  • Bisakah Anda berjalan melalui satu atau dua contoh yang menunjukkan bagaimana solusi teoretis Anda akan bekerja? Menguji kasus di sini dapat menarik untuk ditemukan seolah-olah ada input pengguna, di mana itu divalidasi dan bagaimana pesan kesalahan dikomunikasikan, dll.

Ada area lain tentu saja tetapi itu adalah yang utama yang akan saya pertimbangkan ketika menganalisis bagaimana saya lakukan dalam wawancara tiruan.

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.