Bagaimana tidak gagal dalam wawancara teknis di perusahaan IT. Bagaimana Melakukan Wawancara Teknis

Saya berharap menerima cukup banyak pertanyaan tentang topik ini. Namun, pertanyaan sebaliknya - “Bagaimana cara meneruskannya?” - lebih banyak lagi yang dituangkan ke dalam surat dan forum Laboratorium Mutu. Mengikuti permintaan tersebut, saya melanjutkan seri ini dengan artikel tanggapan.

Perkenalan

2. Uji liftnya!

Jadi, Anda sudah menjelaskan apa itu kelas kesetaraan dan nilai batas. Saatnya memeriksa apakah Anda tahu cara menggunakannya. Jadi, Anda diminta untuk menguji lift tersebut. Atau pensil. Atau kalkulator, jeans, cangkir. Apa pun yang terjadi. Tugasnya kemungkinan besar tidak biasa dan tidak standar. Apa yang diharapkan pemberi kerja dari jawaban Anda?

Kemampuan berpikir kreatif. Ini sangat penting bagi penguji. Saya telah berulang kali bertemu pelamar yang, ketika ditanya “menguji cangkir”, tidak dapat memberikan satu tes pun. Kemungkinan besar, mereka juga akan mengalami masalah saat menguji komponen baru.

Penataan. Jika pengujian kalkulator dimulai dengan pembagian dengan nol, kemungkinan besar pelamar tidak tahu bagaimana memprioritaskan tes dan tidak begitu memahami tugas utama yang diberikan untuk pengujian.

Kemampuan menggunakan teknik yang secara teori tampak begitu sederhana. Jika Anda berencana melakukan perjalanan dengan lift dari setiap lantai ke setiap lantai, berarti pemahaman tentang kelas kesetaraan belum melampaui teori.

Kemampuan untuk menggunakan segalanya jenis yang mungkin pengujian. Pengujian beban lift (panggilan dari semua lantai), pengujian volumetrik cangkir (tuangkan air maksimum ke dalamnya), kinerja kalkulator selama operasi penambahan, kegunaan jeans dan dokumentasi pengguna untuk pensil - cara terbaik tunjukkan bahwa Anda “mengetahui”.

Jawaban yang benar untuk pertanyaan seperti itu mengikuti persyaratan jawaban yang dijelaskan di atas. Susun informasi Anda. Cari tahu sebanyak-banyaknya tentang benda yang diuji. Tentukan apa yang akan Anda uji dalam pengujian fungsional dan non-fungsional. Pikirkan tentang bagaimana Anda dapat mengoptimalkan rangkaian pengujian sehingga Anda tidak perlu menguji semuanya. Dan jangan pernah memulai jawaban Anda dengan tes khusus - pekerjaan monyet berbeda dari tes kompeten karena melibatkan pemikiran awal tentang tindakan Anda.

3. Beri tahu kami cara membuat kasus uji

Atau cara menulis rencana pengujian, cara membuat kerangka otomatisasi pengujian, atau apa pun. Hal terburuk yang dapat Anda lakukan ketika menjawab pertanyaan ini adalah mencoba berpura-pura bahwa Anda tahu bagaimana melakukan sesuatu padahal sebenarnya Anda belum pernah melakukannya. Jika topiknya familiar bagi Anda dan Anda tahu bagaimana menjawabnya, ambillah benderanya! Jika Anda tidak yakin dengan kebenaran pemikiran Anda, pastikan untuk memperingatkan pewawancara tentang hal ini dengan kalimat seperti “Saya belum pernah melakukan ini, tetapi rangkaian tindakan berikut ini tampaknya benar bagi saya…”. Ketulusan selalu menawan, dan kesalahan dalam menjawab tidak akan dianggap serius. Jika Anda mengatakan pendekatan yang “benar” tanpa yakin akan hal itu, dan mengatakan hal yang tidak masuk akal, kecil kemungkinannya ada orang yang mau mempekerjakan Anda.

4. Mengapa pengujian diperlukan?

Saya tidak akan memberikan nasihat panjang lebar tentang masalah ini - atau saya akan menulis artikel terpisah. Pastikan Anda tahu bagaimana menjawab pertanyaan filosofis ini.

5. Bagaimana cara menentukan kualitas suatu produk?

Pertanyaan ini, seperti pertanyaan sebelumnya, juga cukup umum. Google akan membantu Anda bersiap menghadapinya.

Masalah teknis.

Rencana saya untuk artikel ini tidak mencakup cerita tentang pengaturan DNS dan query database. Namun ada beberapa tip umum yang harus Anda ikuti:

1. Jangan mencoba berpura-pura mengetahui sesuatu jika Anda tidak mengetahuinya.

Pertama, kurangnya pengetahuan teknis dapat segera diatasi dan pengusaha jarang memberikan perhatian serius terhadap masalah ini. Kedua, ketidaktahuan yang tersembunyi selalu menimbulkan ketidakpercayaan: apakah kata-kata kandidat lainnya dapat dipercaya? Dan ketiga, calon pemberi kerja mungkin sependapat dengan saya bahwa orang yang mempertahankan sudut pandang yang salah lebih cenderung membuat kesalahan dalam pekerjaan mereka. Setidaknya, saya tidak mempekerjakan karyawan yang ahli dalam pengujian, tetapi dengan tekun berargumentasi bahwa “Windows tidak mendukung disk dinamis.” Kemungkinan besar, jika dia dengan jujur ​​​​mengakui bahwa dia tidak tahu apa itu, keputusannya akan berbeda.

2. Jika Anda melihat bahwa Anda tidak menjawab pertanyaan sebelumnya dengan baik, mulailah menjawab sendiri, tetapi pada topik yang Anda ketahui lebih baik.

Misalnya, jika Anda tidak berhasil menjawab pertanyaan tentang MS SQL, katakan pada diri sendiri bahwa Anda memiliki pengalaman bekerja dengan Oracle dan oleh karena itu dapat dengan cepat “membuat profil ulang”.

Kemampuan memahami secara cepat dan mandiri suatu teknologi atau alat yang belum dikenal dihargai lebih tinggi dibandingkan pengetahuan yang sudah ada. Jangan malu untuk memuji diri sendiri. Jika setelah kata-kata Anda bahwa Anda tidak memahami Robot Rasional, pewawancara sedikit lesu - dengan bangga katakan bahwa Anda berhasil menyelesaikan Silk Test hanya dalam seminggu dan berhasil melakukan banyak hal (lebih spesifik) di dalamnya. Tentu saja, Anda juga harus mengatakan yang sebenarnya di sini!

Kesimpulan

Hal utama adalah jangan takut. Anda sedang mencari pekerjaan, dan majikan sedang mencari karyawan yang kompeten. Anda berdua tertarik dengan hasilnya. Dipekerjakan pada pekerjaan yang salah jauh lebih buruk daripada ditolak. Cobalah, jangan gugup, pelajari! Dan kembangkan untuk diri Anda sendiri – dan bukan untuk “pamer” saat wawancara. Semoga beruntung!

Bagaimana hal itu terjadi

Dalam kebanyakan kasus, spesialis lain diundang untuk melakukan penilaian. tingkat tinggi kompetensi teknis, yang, sebagai suatu peraturan, tidak memahami apa pun tentang masalah personel dan metodologi untuk mengumpulkan informasi tentang kepribadian seseorang, dan interogasi frontal terhadap “siapa yang tahu lebih banyak” baru saja dimulai. Beberapa pewawancara hanya memiliki daftar pertanyaan. Banyak juga yang menggunakan latihan tugas tes, yang harus diselesaikan sebelum menjadwalkan wawancara langsung. Secara umum, siapa pun yang dapat melakukan yang terbaik akan menyelesaikan masalah.

Secara umum, pendekatan ini efektif, namun memiliki beberapa kelemahan:
1. Ada kemungkinan bahwa ahli teknis yang mewawancarai mungkin menganggap perbedaan antara pengalaman pelamar dan pengalamannya sendiri sebagai kurangnya pengalaman sama sekali. Misalnya, pertanyaan praktis yang agak sempit mungkin diajukan yang belum pernah ditemui pelamar dalam praktiknya, yang dapat diartikan sebagai “Bagaimana mungkin Anda tidak mengetahui hal ini, sederhana sekali.” Namun spesialis sumber daya manusia tidak akan pernah bisa mengenali hal ini karena konteksnya yang spesifik.
2. Sekalipun ditanya pertanyaan-pertanyaan terbuka seperti “Masalah apa yang harus kamu selesaikan?”, sekali lagi, perbedaan pengalaman dapat diartikan sebagai “Dia tidak cocok untuk kita karena dia tidak melakukan apa yang telah kita lakukan selama beberapa tahun.”
3. Beberapa ahli teknis, terutama yang sudah mempunyai cukup banyak pengalaman, sedikit menyadari fakta bahwa ketidaktahuan tentang alat tertentu sering kali bukan merupakan hambatan besar. Misalnya, jika seseorang belum pernah bekerja dengan GIT, namun mengetahui CVS dengan baik, hal ini secara signifikan mengurangi hambatan untuk memiliki alat tersebut.
4. Mungkin juga ada masalah ketika pelamar memiliki banyak pengalaman praktis dan menjawab pertanyaan dengan baik tentang solusi spesifik, tetapi ketika dia dipekerjakan, tiba-tiba dia membuat kesalahan yang cukup umum di bidang yang belum pernah dia kerjakan sebelumnya. . Orang-orang seperti itu mendapat kesan bahwa mereka “menjadi bodoh secara tiba-tiba” atau “secara aktif menyalin-menempelkan kode” dari proyek mereka sebelumnya.
5. Kadang-kadang Anda menjumpai seorang spesialis yang memberikan kesan seorang pemula dan resume-nya tidak menunjukkan banyak hal pengalaman praktis, namun penting untuk memahami apakah itu akan berhasil. Karena jika berhasil, Anda bisa mendapatkan “bintang” yang bagus ke dalam tim dengan investasi kecil. Dan tidak jelas bagaimana cara mengenalinya seakurat mungkin.

Ini hanyalah beberapa skenario yang sering ditemui saat merekrut teknisi baru. Mewawancarai seorang teknisi seperti tugas di mana Anda memiliki lukisan besar yang tersembunyi di balik kotak berputar yang Anda balikkan satu per satu. Dan tugas Anda adalah menebak keseluruhan gambar, asalkan waktu Anda terbatas dan jumlah kemungkinan gambar banyak.
Agar lebih mungkin untuk menyingkirkan skenario negatif ini, dan juga untuk melakukan wawancara dengan spesialis teknis dengan lebih efektif, Anda dapat menggunakan model khusus mengumpulkan informasi.

Klasifikasi pengetahuan

Pertama, Anda perlu memutuskan klasifikasi pengetahuan. Untuk melakukan ini, mereka perlu dibagi menjadi 3 jenis:
1. Mendasar adalah pengetahuan dasar dalam bidang tertentu. Misalnya, pertanyaannya adalah “Jenis kueri dasar apa dalam SQL yang Anda ketahui?”
2. Terapan adalah keterampilan untuk memecahkan masalah tertentu. Misalnya, ini bisa berupa tugas menulis kueri SQL dengan benar untuk contoh spesifik.
3. Instrumental adalah pengetahuan tentang bagaimana menggunakan alat tertentu. Misalnya, apa perbedaan antara toko innodb dan myisam?

Pengetahuan dasar diperlukan agar dapat digunakan untuk memahami cara terbaik memecahkan masalah praktis. Tugas-tugas praktis membentuk pengetahuan terapan, yaitu pemahaman tentang bagaimana dan apa yang terbaik untuk dilakukan. Dengan pemahaman bahwa masalah individu paling baik diselesaikan dengan bantuan alat khusus, pengetahuan instrumental juga berkembang. Seringkali, seseorang memulai dengan beberapa latihan kecil, kemudian mempelajari “mengapa cara kerjanya seperti ini”, kemudian mencoba melakukan hal serupa, dan kemudian mengasah keterampilannya dengan bantuan alat.
Misalnya, seseorang mengembangkan keterampilan berbahasa dengan cara yang persis sama: pada awalnya dia hanya mencoba mengulangi kata-kata tertentu setelah orang tuanya; lalu dia belajar alfabet; kemudian menulis esai, artikel atau surat Bisnis; dan terkadang menggunakan buku referensi dan kamus untuk ini.

Ketika ada yang tidak beres

Karena “pendidikan akademis” di bidang TI masih cukup lemah, sebagian besar spesialis belajar secara otodidak. Hal ini menciptakan penyimpangan tertentu, yang dapat dipahami dengan baik pada model ini jika salah satu bidang pengetahuan mengalami hipertrofi. Berikut potret klasik para kandidat dan penjelasannya:
1. Mengetahui semua– mempunyai pengetahuan dasar yang cukup banyak, misalnya diperoleh melalui beberapa kursus dan membaca buku/artikel, namun ia tidak memiliki keterampilan praktis dalam menerapkannya, sehingga tidak mengganggunya sama sekali. Bahkan jika Anda mulai menanyakan kepadanya beberapa masalah praktis, Anda akan selalu mendengar banyak pengetahuan tentang cara kerjanya, bagaimana bagian-bagiannya diatur, tetapi akan sangat sulit bagi kandidat seperti itu untuk menggabungkan semuanya untuk menyelesaikan masalah. , tanpa tip Anda. Situasi yang cukup umum jika Anda bertanya kepada kandidat tentang pola OOP yang jarang digunakan: Anda akan mendengar deskripsi pola tersebut ketika digunakan dalam beberapa contoh akademis, namun integrasi ke dalam tugas langsung akan sulit.
2. Pengembang Stackoverflow– biasanya, pengembang seperti ini cukup aktif berbicara tentang pengalaman mereka, tentang masalah apa dan bagaimana mereka berhasil menyelesaikannya, namun ketika mencoba menjawab pertanyaan “Bagaimana melakukan...?” dari bidang praktis yang tidak mereka ketahui, Anda akan mendengar upaya untuk “menarik perhatian” solusi lain, atau jawaban seperti “Ya, ini dapat dicari di Google dalam 5 menit, saya sudah melihatnya di suatu tempat. ” Pengembang seperti itu sering kali mencoba menggunakan beberapa solusi siap pakai yang telah mereka buat, dengan alasan “Mengapa melakukannya 2 kali?”, atau mereka hanya menyalin dan menempelkan kode dari Internet dan proyek lainnya. Saat ditanya “Mengapa cara kerjanya seperti ini?” atau “Bagaimana hal ini dapat dilakukan secara berbeda?” sering tersesat dan mencoba menerjemahkan topik.
3. Pengembang Alat & Kerangka. Ada lelucon lama: “Bagaimana cara mulai membuat website pada tahun 1995? Buka notepad dan mulailah menulis kode. Bagaimana cara mulai membuat website di tahun 2015? Unduh dan instal composer, framework, cms-extension, bootstrap, jquery, bower, less, instal IDE, mulailah menulis kode.” Hal yang sama berlaku untuk spesialis semacam ini. Sebagian besar pengalaman terapan dari spesialis tersebut secara eksklusif terkait dengan alat tertentu. Konsep "otak bitrix" secara spesifik mencirikan kasus ini. Bagi kandidat seperti itu, sangat sulit memberikan tugas dengan menggunakan kode “asli”, karena tanpa alat, tugas tersebut hampir mustahil bagi mereka.
Contoh-contoh ini diberikan untuk kasus-kasus ketika salah satu bidang pengetahuan menempati posisi terdepan, dan karena perasaan “superioritas” di bidang ini menimbulkan perasaan “kehebatan” diri sendiri, maka spesialis berusaha mempertahankannya dengan sekuat tenaga. kekuatannya (“semua orang ingin menjadi keren”). Misalnya, seorang pengembang Stackoverflow, ketika mencoba mencari tahu pengetahuan dasar, akan berargumentasi sampai akhir bahwa “Saya tidak perlu mengetahui hal ini, saya sudah melakukan ini ratusan kali dan semuanya berhasil.”

Bagaimana cara kerja pembangunan yang efektif

Skenario paling efektif bagi pengembangan ilmu pengetahuan justru keseimbangan antar bidang. Anda bisa mencapainya cara yang berbeda, tetapi “distorsi” tidak boleh dibiarkan. Misalnya, Anda ingin membuat halaman beranda dan tidak memahami apa pun tentangnya (semua orang memulai dengan ini): Anda mengunduh wordpress (mengambil “alat”); Mencari di Google cara mengatur semuanya dan membuat blog pertama kami dengan beberapa artikel (memperoleh pengetahuan terapan); Sekarang cari tahu bagaimana dan mengapa cara kerjanya, misalnya, bagaimana database dan cache disusun, apa arsitektur mesinnya, dll. (mendapatkan pengetahuan dasar). Kemudian Anda dapat melihat alat apa saja yang lain dan bagaimana alat tersebut dapat mengatasi masalah ini, atau menulis alat Anda sendiri. Jika Anda berhenti hanya pada langkah pertama atau kedua, maka Anda dapat dengan mudah masuk ke dalam salah satu kategori spesialis yang diberikan di atas, dan saya yakin Anda jelas tidak menginginkan ini :)

Bagaimana mengevaluasi pengetahuan

Berdasarkan model ini, dimungkinkan juga, dan cukup mudah, untuk “menyelidiki” pakar teknis mengenai strategi pembelajaran mereka dan sejauh mana pengetahuan mereka saat ini memungkinkan mereka memecahkan masalah secara efektif. Strategi wawancaranya adalah sebagai berikut: setelah mengajukan pertanyaan tentang bidang teknis yang Anda minati dalam bidang pengetahuan apa pun, jangan bergerak “secara horizontal” dalam bidang pengetahuan tersebut, tetapi “secara vertikal” dalam bidang pengetahuan tersebut. pemandangan yang berdekatan pengetahuan.
Mereka bertanya tentang pengetahuan dasar, kemudian menanyakan masalah apa yang dipecahkan seseorang dengan menggunakannya, atau mengajukan masalah praktis yang memerlukan pengetahuan tersebut, dan kemudian menanyakan alat apa yang tersedia untuk menggunakan pengetahuan ini dan memecahkan masalah praktis dengan lebih baik.

Misalnya: Apa yang dimaksud dengan indeks b-tree gabungan dan bagaimana cara kerjanya? Bisakah Anda memberi contoh kapan indeks tersebut diperlukan atau kapan, sebaliknya, indeks tersebut tidak sesuai? Bagaimana Anda dapat memahami bahwa indeks ini bekerja secara efektif dan apa yang dapat digunakan untuk hal ini?

Jika Anda mendengar jawaban komprehensif atas semua pertanyaan tersebut, berarti sang spesialis sudah benar-benar mencoba merumuskannya pengetahuan percaya diri di bidang ini, peroleh semua tingkat pengetahuan. Sekarang kita perlu menarik kesimpulan yang tepat dari sini. Ini akan menunjukkan bahwa spesialis tersebut memiliki banyak tugas yang berkaitan dengan indeks, atau bahwa dia memilikinya strategi yang bagus pelatihan (yang tidak mengecualikan yang pertama). Untuk menentukan apakah strategi ini ada, cukup dengan menyelidiki beberapa bidang lagi yang mungkin belum begitu dipahami oleh kandidat; hal ini sering terlihat dari resume.

Kandidat yang kuat dan menjanjikan menunjukkan bahwa meskipun mereka tidak memiliki pengetahuan, mereka memahami kekurangan mereka dan memilih pendekatan yang efektif untuk mengimbangi kurangnya pengetahuan. Jika Anda memeriksa beberapa area dengan cara ini, Anda akan melihat bahwa kandidat tersebut memilikinya strategi yang efektif pelatihan, maka yang perlu Anda lakukan hanyalah memeriksa pengetahuan dasar yang diperlukan untuk Anda. Lagi pula, dengan memilikinya dan strategi pembelajaran yang tepat, kandidat dengan kemungkinan besar akan mampu memecahkan masalah baru seefisien mungkin.
Strategi pembelajaran yang efektif adalah strategi untuk menambah pengetahuan di semua jenis bidang apa pun (fundamental, terapan, instrumental): mencoba sesuatu, memahami bagaimana dan mengapa itu berhasil, melakukan sesuatu yang serupa, mempelajari alat untuk melakukannya dengan lebih baik.

Kesalahan umum dalam penilaian

Banyak orang cenderung melebih-lebihkan pentingnya pengetahuan terapan dalam kaitannya dengan bidang lain, yaitu bahwa orang yang lebih berpengalaman dalam melaksanakan tugas adalah spesialis yang baik, tapi ini sama sekali tidak benar. Jika praktiknya tidak didukung oleh pengetahuan dasar, atau spesialis tidak pernah mengembangkan alatnya, maka efektivitas spesialis tersebut bisa sangat rendah. Carilah yang bisa mengembangkan masing-masing bidang. Mereka adalah yang terbaik, meskipun mereka tidak memiliki banyak pengalaman.

Anda sering dapat menemukannya tugas tes, yang secara sempit hanya berfokus pada masalah mendasar, seperti konstruksi bahasa, kesalahan umum saat menggunakan “perilaku non-intuitif”, pertanyaan tentang pola OOP, dll. Seperti yang sudah dapat Anda pahami dari model di atas, Anda tidak akan mengidentifikasi “ahli teori” dengan cara ini, dan selain itu, pengetahuan dasar dapat diperoleh dengan sempurna di Google. Jadi efektivitas tes tersebut relatif rendah.

Ada juga kepercayaan umum bahwa penting untuk “memahami cara berpikir seseorang”. Tidak diragukan lagi, ini adalah ungkapan yang “indah”, tetapi sangat subyektif, dan akibatnya, sulit untuk yakin dengan hasil berdasarkan penilaian tersebut. Selain itu, di sini Anda bisa terjebak dalam penilaian subjektif: “dia tidak berpikir seperti saya”. Namun, jika Anda melihat seseorang tahu bagaimana merumuskan pengetahuannya secara efektif dan memecahkan masalah, maka tidak masalah bagaimana tepatnya dia melakukannya, karena yang utama adalah hasilnya.

Jika Anda memberikan persyaratan kerja sama yang menarik dan aliran kandidat cukup tinggi, maka buatlah tugas ujian. Sertakan beberapa pertanyaan bukan dari satu jenis pengetahuan, tetapi dari jenis pengetahuan yang berbeda. Berdasarkan jawaban atas pertanyaan-pertanyaan tersebut, Anda bisa mendapatkan gambaran kasar tentang apa saja kelebihan dan kekurangan kandidat.

Apa yang dicari

Ada beberapa poin yang juga harus Anda perhatikan saat wawancara. Mereka lebih berkaitan dengan komponen personalia, namun muncul secara khusus pada saat wawancara teknis.

Rasa ingin tahu pikiran. Seberapa keraskah seorang kandidat berusaha memecahkan suatu masalah jika ia tidak segera mengetahui solusinya? Apakah dia mencari jalur alternatif, menganalisis petunjuk, menanyakan dan menganalisis solusi yang diajukan. Kandidat yang lemah “melewatkan” segala sesuatu yang tidak mereka pahami.
Kepercayaan diri yang sehat. Sejauh mana kandidat mengakui bahwa dia mungkin tidak mengetahui sesuatu? Karena didikan mereka, terkadang orang memiliki kompleksitas mengenai pengetahuan mereka sendiri (“siswa diploma yang terhormat”, dll.). Kadang-kadang, orang-orang seperti itu memberikan keputusan dengan cara yang sangat kategoris dan tidak mengakui pendapat alternatif jika hal tersebut menunjukkan kurangnya pengetahuan di pihak kandidat.
Keinginan untuk pengembangan diri. Kandidat terbaik adalah mereka yang berusaha untuk berkembang sebagai spesialis, atau yang berusaha untuk “membuat dunia menjadi tempat yang lebih baik” dengan menciptakan semacam manfaat. Kandidat yang lemah percaya bahwa mereka sudah “berada di puncak pengetahuan mereka” dan hanya ingin mendapatkan penghasilan sebanyak mungkin dari hal ini. Ada juga calon yang berpendapat bahwa pemberi kerjalah yang harus mengembangkannya, bukan dirinya sendiri, karena pemberi kerjalah yang menentukan tugas.

Strategi wawancara

Sebelum wawancara, buatlah daftar bidang-bidang utama yang Anda perlukan pengalaman dari seorang spesialis. Ada baiknya kalau minimal ada 10. Contoh: pola PHP + OOP; SQL + optimasi kueri; arsitektur proyek dengan beban tinggi; bekerja dengan cache, dll.
Di setiap bidang utama, buatlah setidaknya 5 pertanyaan untuk setiap jenis pengetahuan, dengan total setidaknya 15 pertanyaan untuk setiap bidang. Ini paling baik dilakukan agar tidak mengajukan pertanyaan dengan cepat. Isu-isu tersebut diharapkan dapat memberikan konektivitas vertikal satu sama lain.

Misalnya:
Wilayah: arsitektur proyek beban tinggi.
Pertanyaan mendasar: Parameter utama apa yang penting untuk dipertimbangkan ketika merancang sistem beban tinggi? Solusi arsitektur khas apa yang Anda ketahui? Apa perbedaan antara penskalaan horizontal dan vertikal?
Pertanyaan lamaran: Jika pengguna dapat mengunggah file, lalu apa cara terbaik untuk menyelesaikan masalah penskalaan horizontal untuk pengembalian? Jika Anda memiliki halaman dengan RPM tinggi, dan blok informasi memilikinya lama generasi, bagaimana cara mempercepat rendering halaman? Jika satu database menjadi hambatan dalam suatu proyek karena meningkatnya beban kerja, apa cara terbaik untuk mengatasi masalah ini?
Pertanyaan instrumental: Alat apa yang dapat digunakan untuk menyeimbangkan lalu lintas HTTP? Server caching apa yang Anda ketahui dan apa perbedaannya? Bagaimana Anda mengukur kinerja aplikasi di bawah beban berat?

Mulailah dengan pertanyaan apa pun pilihan Anda. Ajukan pertanyaan secara konsisten dari setiap jenis pengetahuan di bidang yang dipilih (secara vertikal). Jika Anda melihat bahwa kandidat tersebut memiliki penguasaan teori, praktik, dan alat yang percaya diri, maka Anda dapat yakin bahwa dia juga akan mampu memecahkan masalah praktis terkait dengan percaya diri.

Saat Anda menjawab pertanyaan, menelusuri area tersebut, Anda akan mendapatkan gambaran tentang bagaimana pengetahuan kandidat didistribusikan. Misalnya, Anda mungkin menyadari kerugian yang signifikan pengetahuan teoretis, atau kesenjangan dalam pengetahuan tentang alat. Berdasarkan hal ini, kita dapat menarik kesimpulan tentang seberapa efektif strategi pelatihan kandidat dan pengetahuannya saat ini secara umum. Secara umum, strategi pembelajaran di semua bidang sama, yaitu sangat jarang ditemukan kandidat yang mengetahui teori dengan baik di satu bidang, tetapi di bidang lain hanya menyelesaikan masalah praktis dan bahkan tidak mencoba mengajukan pertanyaan. "Bagaimana cara kerjanya?"

Jadi, tergantung pada persyaratan lowongan, akan lebih mudah bagi Anda untuk mengambil keputusan. Mencari junior? Pastikan Anda tidak hanya mencoba memecahkan masalah praktis, tetapi juga menambah pengetahuan dasar, dan juga mencari dan mempelajari alat-alat baru. Mencari jalan tengah? Pastikan keterampilannya berakar pada setiap jenis pengetahuan dan dia memahami ke mana harus melangkah selanjutnya untuk mengisi kekosongan tersebut. Mencari senior? Pastikan bahwa dia memiliki pengetahuan dasar yang sangat baik dan dapat secara efektif “mengumpulkan” masalah praktis apa pun dengan pembenaran mendasar dan alat yang tepat.

Jika Anda melihat adanya kesenjangan dalam pengetahuan yang dibutuhkan, dan kesenjangan tersebut tidak mendasar bagi Anda, namun tetap penting, pastikan untuk menuliskannya dan menyusun rencana selama masa percobaan untuk mengisi kesenjangan tersebut, dengan menggunakannya selama sertifikasi. Ini akan memungkinkan Anda meningkatkan produktivitas karyawan Anda secara metodis dan disengaja. Namun, masalah pelatihan dan pengembangan karyawan adalah masalah yang sangat berbeda dan sangat besar.

Di mana lagi Anda dapat menggunakan model tersebut?

Model yang diberikan sebenarnya dapat digunakan tidak hanya untuk spesialis teknis, tetapi untuk profesi apa pun secara umum. Perbedaannya hanya terletak pada seberapa lengkap jenis pengetahuan tertentu diwujudkan dalam bidang ini. Ambil contoh, seorang petugas kebersihan: Kriteria kebersihan apa yang Anda ketahui? Jika Anda perlu membersihkan 10 rumah dalam satu hari, apa cara terbaik untuk melakukannya? Untuk permukaan manakah produk pembersih apa yang terbaik untuk digunakan?

Sebagai sebuah kesimpulan

Baru-baru ini saya memutuskan untuk mengumpulkan catatan saya tentang pertanyaan wawancara untuk pengembang PHP dan menempatkannya di domain publik (sebuah proyek yang sedang saya kerjakan, jadi jangan salahkan saya). Tentu saja, tidak semuanya ada di sana, tetapi itu cukup untuk mengumpulkan pemikiran Anda dan bersiap untuk wawancara. Soal-soalnya bisa dilihat pada link:
pagerton.com/hr/question/all
Jika ada tanggapan positif, saya akan mengembangkan proyek ini semaksimal mungkin, saya juga ingin mengirimkan tautan ke kursus yang bagus untuk pengembang, jadi saya akan berterima kasih atas masukannya.
Saya harap model ini dapat bermanfaat bagi Anda juga. Bukan hanya sebagai orang yang diwawancarai, tetapi juga sebagai orang yang diwawancarai, karena memahami kelebihan dan kekurangan diri kelemahan akan membantu Anda berkembang lebih efektif.
Saya berharap Anda menjadi yang terbaik dan bekerja dengan yang terbaik.

  • Pemrograman,
  • Pengembangan situs web
  • Banyak kepedihan yang dicurahkan di Internet tentang wawancara yang gagal. Ada yang tidak suka dengan pertanyaan pewawancara, ada yang tersinggung dengan ejekan, ada pula yang dinilai berdasarkan halaman VKontakte mereka. Pewawancara terus mengikuti para pelamar dan bersumpah tentang betapa buruknya situasi kepegawaian saat ini, dan jawaban bodoh apa yang diberikan oleh programmer yang tidak berpengalaman terhadap pertanyaan teknis rumit mereka.

    Sayangnya, tidak ada aturan universal untuk lulus dan melakukan wawancara, dan hal ini tidak bisa dilakukan, karena karyawan dipilih tidak hanya berdasarkan keterampilan teknis dan kualitas pribadi mereka, namun juga dengan mencocokkan beberapa “profil” (seringkali implisit dan sangat subyektif), yang menurut untuk pewawancara, cocok dengan tim atau perusahaan mereka. Adapun panduan dari seri “cara lulus wawancara yang benar” biasanya tidak kalah menyakitkannya di komentar, karena sangat subyektif dan pasti akan menyentuh titik sakit seseorang.

    Selama karir profesional saya, saya telah berada di kedua sisi barikade, meskipun, mungkin, wawancara teknis Saya masih harus melakukan lebih dari sekedar melaluinya. Namun selama ini, saya telah mengumpulkan sejumlah "keisengan" yang membuat saya takut selama wawancara teknis dan langsung dalam pikiran saya mengakhiri percakapan lebih lanjut. Inilah yang ingin saya bicarakan - dari sudut pandang pewawancara dan pelamar. Saya ingin segera membuat reservasi bahwa artikel tersebut mencerminkan kesan subjektif pribadi saya dan tidak berpura-pura menjadi “panduan wawancara”. Di sisi lain, ini bukan ledakan kemarahan sesaat akibat wawancara yang gagal, namun serangkaian kriteria yang sudah lama ada, yang meskipun dalam dasar negatif, memungkinkan saya menyingkirkan pilihan-pilihan, atau tidak menakut-nakuti pelamar yang berpotensi cocok. saya sendiri.

    Apa yang membuat Anda jengkel atau stres selama wawancara? Bagikan di komentar.

    Wawancara dari sudut pandang pelamar

    Setiap kali seorang programmer mencari pekerjaan, dia harus melalui banyak wawancara teknis. Dia berjalan-jalan di kantor atau berbicara melalui Skype, memecahkan masalah atau mengikuti tes, menjawab pertanyaan teknis yang rumit, mencoba mendemonstrasikan dirinya sisi terbaik. Namun, dia sendiri juga mengevaluasi orang-orang yang mewawancarai dan mengujinya, berpikir bahwa besok dia berpotensi harus bekerja dengan orang-orang tersebut. Dan ada banyak cara untuk melakukannya wawancara teknis ers untuk menakut-nakuti pelamar dari posisi yang menarik. Saya akan berbicara tentang apa yang selalu membuat saya takut secara pribadi, dan apa yang saya coba hindari sebagai pewawancara.
    1. “Wawancara teknis apa lagi?”
    Hal pertama dan terpenting yang selalu membuat saya khawatir tentang wawancara teknis adalah ketidakhadirannya. Kebetulan seluruh percakapan dengan spesialis teknis - calon kolega di masa depan - didasarkan pada pertanyaan mengenai pengalaman profesional: di mana dia bekerja, proyek apa yang dia kerjakan, fungsi apa yang dia lakukan di dalamnya. Mengenai teknologi atau pengetahuan - pertanyaan pada tingkat “apa warna buku teksnya.” Tahukah Anda apa itu Perantara Pesan? Bagus, kami akan mengantarmu!

    Pendekatan wawancara seperti ini selalu membuat saya menentang calon pemberi kerja. Mereka tidak menanyakan satu pertanyaan pun kepada saya untuk memastikan bahwa saya benar-benar tahu apa yang saya lakukan. Sepertinya orang yang mewawancarai saya tidak memahami apa pun tentang topik tersebut dan mencari setidaknya satu orang yang memahaminya, atau sekadar putus asa dan siap menghadapi siapa pun. Bagaimanapun, saya tidak ingin bekerja dalam tim yang direkrut dengan cara ini.

    2. “Nah, apa yang kamu lakukan di sana di dalam…”
    Sungguh mengejutkan betapa seringnya sikap meremehkan pelamar terjadi selama wawancara teknis. Ya, mungkin Anda adalah seorang programmer yang tegas dan berpengalaman dengan banyak proyek, Anda disingkirkan dari pekerjaan yang sangat penting demi beberapa wawancara yang tidak perlu dengan orang-orang, yang sebagian besar, menurut Anda, sama sekali tidak kompeten. Namun jangan lupa bahwa saat ini Anda mewakili perusahaan dan tim Anda, dan seseorang pasti akan membuat penilaian berdasarkan perilaku Anda terhadap iklim di tim dan bagaimana mereka akan memperlakukannya di tim ini. Bersikaplah sopan dan hormat kepada pelamar, meskipun sejak lima menit pertama Anda menyadari bahwa dia tidak boleh mendekati kode berharga Anda.
    3. “Nama depan/nama belakang/nama patronimik Anda salah ditulis di resume Anda!”
    Ini sama sekali bukan masalah teknis, namun demikian, ini adalah masalah umum bahkan dalam wawancara teknis. Untungnya, saya memiliki nama yang cukup sederhana dan umum, dan masalah seperti itu tidak terjadi pada saya. Namun, saya tahu bahwa ada sejumlah besar orang yang sangat yakin bahwa nama dan bahkan patronimik tertentu tidak ada. Mereka akan meyakinkan Anda bahwa nama yang benar bukanlah “Danila”, melainkan “Daniil”, atau tidak ada nama “Alena”, melainkan hanya “Elena”. Mereka akan menawarkan untuk mengoreksi dan menulis “dengan benar” di dokumen mereka. Orang dengan langka atau nama yang tidak biasa, dan percayalah, ini sangat menjengkelkan. Jadi, ada satu aturan sederhana: tidak ada nama yang tidak ada. Tulis dengan benar seperti yang tertulis di paspor. Tunjukkan rasa hormat kepada pelamar dan jangan menganggapnya begitu bodoh sehingga dia tidak dapat menyalin paspornya ke dalam resume nama pemberian. Bahkan jika Anda mencurigai adanya kesalahan, Anda dapat mengklarifikasi hal ini dengan cara yang lebih bijaksana.
    4. “Berapa banyak bola golf yang diperlukan untuk membersihkan seluruh jendela bundar di dalamnya bus sekolah, diperkecil menjadi seukuran nikel selama evakuasi San Francisco, menggunakan tidak lebih dari 3 timbangan?
    Artikel tentang wawancara tidak akan lengkap tanpa menyebutkan penutup lubang got. Anda dapat menganggap ini poin pribadi saya terkait dengan ketidakmampuan untuk menyelesaikan masalah yang tidak standar dengan cepat dan di bawah tekanan. Tapi saya yakin permainan asah otak sama sekali tidak berguna saat wawancara. Atau lebih tepatnya, itu cara yang bagus rekrut departemen penuh keajaiban otak dengan Olimpiade Otak, yang akan bertukar permainan asah otak segar sepanjang hari alih-alih bekerja. Pemrogram sungguhan lingkungan alami habitat, bahkan melakukan sangat keren dan tugas non-standar, masih jarang membuat kode di bawah tekanan, tetapi menghabiskan sebagian besar waktunya dengan duduk dan berpikir santai dalam suasana yang relatif tenang tentang bagaimana dia dapat dengan indah memotong kode menjadi metode. Dia tidak pernah menggunakan “otot otaknya” untuk memecahkan masalah rumit dalam proses ini.
    5. “Salah. Lebih jauh."
    Tentu saja, bukan tugas pewawancara untuk melatih orang yang datang untuk wawancara. Namun, jika pelamar tidak dapat menjawab pertanyaan, tetapi masih tertarik, maka mendorong atau setidaknya mengarahkannya ke solusi yang tepat sebelum melanjutkan ke pertanyaan berikutnya adalah masalah etika profesional, menunjukkan bahwa di sini mereka akan membantu dan mengajarinya. jika terjadi sesuatu, tidak akan dibiarkan begitu saja dengan masalah teknis. Katakan padanya setidaknya beberapa kata, apa yang harus di Google, apa yang harus dibaca. Bagaimanapun, minat pada keputusan yang tepat tugas ada pada diri mereka sendiri kualitas positif seorang spesialis teknis, dan Anda tidak boleh menurunkan motivasi orang tersebut dengan meremehkan kesalahan atau ketidakakuratannya.

    Wawancara dari sudut pandang pewawancara

    Setiap kali lowongan baru dibuka, spesialis terkemuka atau kepala departemen harus melakukan banyak wawancara teknis. Orang-orang datang ke wawancara dengan pengalaman teknis, tingkat pelatihan, dan harapan yang berbeda. Untuk melakukan wawancara, Anda perlu memikirkan rencana percakapan, menyusun daftar pertanyaan, dan kemudian mencoba memahami dari jawaban pertanyaan-pertanyaan tersebut apakah orang tersebut cocok untuk posisi tersebut atau tidak. Dan terkadang pelamar mengatakan hal-hal selama wawancara yang langsung memperjelas - tidak, Anda tidak akan bisa bekerja sama dengan orang ini. Berikut adalah pilihan frase kunci dari pelamar yang membuat saya khawatir secara pribadi.
    1. “Beberapa pertanyaan Anda bersifat teoritis. Saya tidak kuat dalam teori, saya berpengalaman dalam praktik! Ayo lakukan tes yang lebih baik!”
    Kata “teoretis” biasanya diucapkan dengan konotasi meremehkan, seolah-olah itu adalah sesuatu yang buruk. Tapi itu bukan masalahnya. Menurut Anda apakah frasa ini diawali dengan permintaan pewawancara untuk membuktikan teorema Cauchy? Memberi definisi yang tepat bentuk normal ketiga? Sama sekali tidak. Saya mendengar seruan seperti itu sebagai jawaban atas pertanyaan-pertanyaan berikut:
    • Apa perbedaan perbandingan dengan == dengan perbandingan dengan sama di Jawa?
    • beri tahu kami cara kerja peta hash.
    • Jelaskan dengan kata-kata Anda sendiri apa itu REST.
    • Apa itu transaksi dan mengapa dibutuhkan?
    Ya, dari sudut pandang tertentu, pertanyaan pemrograman apa pun bersifat teoretis jika tidak mengharuskan Anda menulis sebaris kode saat ini juga. Namun saya yakin seseorang dengan pengalaman yang cukup luas di bidang tertentu harus mampu menjelaskan hal-hal yang paling mendasar dengan kata-katanya sendiri, atau setidaknya tidak berpura-pura bahwa ketidaktahuan terhadapnya adalah hal yang wajar dan wajar.
    2. “Aku tidak menyangka akan ada Inkuisisi Spanyol di sini! Ini seperti mengikuti ujian di institut. Biasanya mereka hanya menanyakan di mana dia bekerja dan apa pekerjaannya.”
    Anda datang untuk wawancara teknis. Dalam wawancara teknis, Anda akan ditanyai pertanyaan teknis untuk menguji keterampilan teknis Anda. Serahkan metodologi pengujian dan pilihan pertanyaan pada hati nurani pewawancara - pertanyaan tersebut mungkin tidak selalu cocok bagi Anda, tetapi pewawancara tahu persis informasi apa yang ingin dia peroleh tentang Anda dengan menganalisis jawaban Anda. Banyak pertanyaan diperlukan bukan untuk menguji pengetahuan Anda, tetapi untuk memaksa Anda berpikir dan melihat alur pemikiran Anda. Ingatlah juga bahwa tidak semua pertanyaan memerlukan jawaban yang benar-benar akurat, dan jika Anda menjawab dengan jelas setidaknya setengah dari pertanyaan yang diajukan, ini sudah akan memberikan kesan yang baik.
    3. “Saya tidak perlu mengetahui hal itu, saya berspesialisasi dalam tugas tingkat yang lebih tinggi!”
    Jangan bingung antara spesialisasi dengan ketidaktahuan tentang dasar-dasar pemrograman. Dari pengembang aplikasi seluler Saya pernah mendengar hal serupa tentang protokol tumpukan TCP/IP dari programmer front-end - sebagai jawaban atas pertanyaan tentang algoritma pengurutan dan pencarian. “Mengapa saya perlu mengetahui hal ini, semuanya ada di perpustakaan standar, saya mengerjakan lebih banyak level tinggi" Menanggapi pernyataan seperti itu, saya sudah lama mengemukakan beberapa masalah kecil dengan algoritme yang tersembunyi secara diam-diam - dengan harapan menunjukkan bahwa solusi "naif", yang dihasilkan dari ketidaktahuan akan algoritme, tidak tahan terhadap kritik, dan pada akhirnya paling tidak mendorong pendidikan mandiri. Selain itu, ini bukanlah tugas yang dibuat secara artifisial, tetapi hal-hal yang terjadi dalam perkembangan setiap hari. Kode apa pun adalah algoritma. Memahami algoritme dasar dan struktur data penting bagi setiap pemrogram, dan protokol Internet adalah basisnya, tanpa pengetahuan yang tidak mungkin menulis apa pun dengan kompeten yang melampaui batas satu komputer.
    4. “Dan kamu sendiri! / Tunjukkan kodemu! / Tapi aku membuka GitHub-mu, dan ini dia...”
    Hal terakhir yang diinginkan pewawancara adalah mempekerjakan seseorang dan kemudian mendengarkan dia mengkritik basis kodenya. Ya, kemungkinan besar dia tidak sempurna. Ya, utang teknis ada dimana-mana dan setiap orang memilikinya. Dalam kode apa pun, ada sesuatu yang perlu dikritik. Tetapi jika Anda benar-benar menganggap diri Anda sangat keren sehingga Anda melihat masalah yang jelas pada kode Anda calon pemberi kerja- terjemahkan ini ke dalam hal positif yang konstruktif: Saya tahu cara meningkatkan diri, saya memiliki pengalaman tentang topik ini, saya dapat memberikan manfaat bagi Anda.
    5. “Kamu salah!”
    Apa pun bisa saja terjadi, namun sebaiknya simpan dulu pendapat Anda mengenai apakah pewawancara salah atau meragukan kompetensinya hingga akhir wawancara. Kemudian Google dan cari tahu siapa di antara Anda yang benar. Wawancara teknis bukanlah tempat untuk berdiskusi atau menegaskan diri sendiri, dan pertanyaan-pertanyaan di sini terutama ditanyakan kepada Anda. Pewawancara tidak akan bertanya tentang sesuatu yang ia sendiri tidak mengerti.

    Kesimpulan

    Tahukah Anda hal terbaik apa yang saya dengar dari pelamar selama wawancara? “Aku tidak menjawabnya, kan? Bisakah Anda memberi saya selembar kertas? Saya akan menuliskan pertanyaan Anda dan mencari tahu di rumah, meskipun Anda tidak mempekerjakan saya, setidaknya saya akan mengetahuinya sekarang.” Air mata kebanggaan mengalir di mata Anda - tidak sia-sia Anda menghabiskan satu setengah jam waktu untuk seseorang, dia sendiri belajar sesuatu dari wawancara ini. Sekalipun sekarang dia terlalu lemah untuk posisi ini, mungkin ini akan mendorongnya untuk mendidik dirinya sendiri, dan dalam satu atau dua tahun dia akan datang lagi, menunjukkan sisi terbaiknya dan mendapatkan pekerjaan - seperti yang pernah terjadi dalam karir saya.

    Siraj Rawal, pengembang, penulis, dan vlogger, berbagi cara menyelesaikan wawancara teknis dalam 5 langkah.

    Saya telah melalui proses ini puluhan kali di berbagai perusahaan IT, dan saya ingat banyak sekali penolakan dan tawaran. Dan inilah pelajaran yang saya petik darinya. Wawancara membutuhkan kerja keras: jangan percaya mereka yang mengatakan bahwa wawancara itu mudah. Ini salah. Orang-orang hanya berbicara tentang kesuksesan mereka dan tidak pernah berbicara tentang kegagalan mereka.

    Saya telah menguraikan beberapa langkah yang akan memungkinkan Anda menghindari banyak kesalahan dan berhasil melewati wawancara teknis apa pun.

    Langkah 1. Rencana persiapan

    Mempelajari. Bahkan sebelum Anda memiliki ide cemerlang untuk mencoba mendapatkan pekerjaan di suatu tempat, Anda harus berkonsentrasi pada peningkatan keterampilan teknis Anda.

    Proses perekrutan untuk posisi pengembang terlihat hampir sama di banyak perusahaan besar. Biasanya, ini terjadi dalam dua tahap. Pertama, perekrut berkomunikasi dengan pelamar melalui telepon untuk memahami betapa tertariknya dia pada perusahaan mereka. Setelah berhasil menyelesaikan tahap pertama, diikuti dengan 1-2 percakapan teknis dengan para spesialis, di mana ia ditanyai pertanyaan-pertanyaan sulit dan masalah-masalah yang harus ia selesaikan di papan tulis. Ia harus menunjukkan proses berpikirnya dalam memecahkan suatu masalah, menemukan solusi yang sesuai, dan kemudian ia akan dipekerjakan.

    Satu-satunya cara untuk mempelajari ini adalah dengan berlatih. Semua teman saya yang bekerja di perusahaan keren melakukan banyak pekerjaan. Maksudnya di sini bukanlah memiliki kepandaian yang luar biasa, melainkan bekerja keras dan penuh pertimbangan.

    Timbul pertanyaan: apa sebenarnya yang harus Anda praktikkan? Anda tidak akan diuji pengetahuan Anda tentang sintaksis bahasa apa pun. Jika mau, Anda bisa mempelajari dasar-dasar sintaks Ruby dalam semalam. Namun malam ini tidak cukup untuk mempelajari dasar-dasar ilmu komputer dasar. Namun pada saat wawancara mereka akan menguji pengetahuan Anda tentang struktur data dan algoritma.

    Mulailah dengan mengambil dua kursus:
    pengenalan struktur data (My Code School)
    Pengantar Algoritma (MIT Open Courseware)
    Keduanya berada dalam domain publik dan ideal untuk memperoleh pengetahuan dasar tentang topik ini.

    Setelah ini, Anda dapat mengkonsolidasikan pengetahuan yang diperoleh tentang HackerRank dan HackerEarth. Sumber daya ini berisi sejumlah besar masalah untuk mengasah keterampilan pemrograman Anda.

    Setelah memecahkan beberapa lusin teka-teki dari kedua situs tersebut, bacalah buku “Technical Interviews as They Are” dan “Breaking the Technical Interview.” Mereka akan memandu Anda melalui banyak tugas spesifik mulai dari wawancara nyata, mulai dari masalah desain sistem hingga pertanyaan tentang waktu dan kompleksitas.

    Setelah menyelesaikan semua ritual di atas, mulailah berlatih wawancara dengan salah satu teman Anda. Minta dia untuk mengajukan pertanyaan dan menjawabnya, hanya dengan menggunakan spidol dan papan tulis dan menjelaskan pemikiran Anda dengan lantang. Saya merekomendasikan melakukan ini selama dua hingga tiga bulan, dua hingga tiga jam sehari.

    Langkah 2: Temukan perusahaan yang Anda minati

    Jika proses persiapan setiap wawancara memakan waktu dua hingga tiga bulan, tentu saja Anda tidak ingin menyia-nyiakan waktu berharga ini pada perusahaan yang tidak membuat Anda terkesan.

    Mengikuti proses wawancara perusahaan bisa sangat menegangkan, namun cobalah untuk tetap terorganisir. Buatlah daftar perusahaan yang Anda minati dan catat pada tahap apa hubungan Anda dengan masing-masing perusahaan tersebut. Angel.co dan Hacker News adalah sumber yang bagus untuk ini.

    Ada sesuatu yang supernatural dalam hal ini. Anda harus mengerahkan seluruh kekuatan Anda kemampuan psikis, untuk memahami cara terbaik menerapkan keahlian Anda di bidang yang Anda inginkan dan menemukan perusahaan yang memungkinkan Anda melakukannya.

    Langkah 3. Buat portofolio

    Perusahaan besar menerima ratusan resume setiap hari, jadi mereka hanya perlu menyingkirkan banyak resume biasa-biasa saja yang tidak menarik bagi mereka. Bagaimana cara menonjol dari massa abu-abu ini? Pastikan semua kata dalam resume Anda muat dalam satu halaman dan ringkas namun langsung pada sasaran. Soroti pekerjaan terpenting yang telah Anda lakukan.

    Merupakan ide bagus untuk memiliki beberapa resume: satu untuk setiap spesialisasi atau untuk setiap perusahaan tempat Anda mencoba mendapatkan pekerjaan. Dalam portofolio Anda, pisahkan proyek pribadi, proyek dari hackathon, kontribusi ke proyek sumber terbuka.

    GitHub adalah tempat yang bagus tidak hanya untuk menyimpan kode Anda, tetapi juga sebagai portofolio lain yang dapat melayani Anda dengan baik.

    Jadikan proyek web terbaik Anda sebagai situs resume Anda sendiri. Usahakan agar terlihat gaya dan profesional sehingga dapat mengesankan calon pemberi kerja.

    Langkah 4. Dapatkan undangan wawancara

    Cara termudah adalah dengan melamar lowongan perusahaan di situs web khusus. Tetapi perusahaan besar menerima banyak tanggapan seperti itu setiap hari, dan sangat mudah untuk tersesat di antara tanggapan tersebut. Pilihan yang bagus- mengirim email ke perekrut perusahaan, buatlah singkat dan ringkas. Sertakan itu ulasan singkat tentang siapa Anda dan apa yang ingin Anda lakukan, tautan ke proyek yang mudah diakses dan relevan, serta mengungkapkan keinginan dan kemauan untuk belajar dan mengalami hal-hal baru.

    Saatnya untuk beralih ke...

    Langkah 5. Lulus wawancara

    Terkadang pewawancara mungkin lebih gugup dibandingkan Anda, dan itu tidak masalah. Tersenyumlah saja, bersikap sopan, jelaskan bahwa Anda memahaminya dan bersedia bekerja sama untuk mencapainya tujuan bersama.

    Memutuskan masalah teknis, jangan takut untuk berpikir keras. Ingatlah bahwa inilah yang mereka inginkan dari Anda: jawaban yang benar tidak sepenting alur pemikiran Anda yang benar. Ketika seorang pencari kerja menemukan solusi pertama, perekrut sering kali memintanya untuk mencari solusi lebih lanjut pilihan yang efektif. Di sinilah pengetahuan ilmu komputer Anda berperan.

    Dan jangan malu untuk bertanya. Pewawancara ada untuk membantu Anda. Dan meskipun tujuan utamanya adalah untuk mengevaluasi keterampilan Anda, penting juga baginya untuk mencoba menjalin hubungan dengan Anda. bahasa bersama, berkolaborasi dengan Anda dan membantu Anda mencapai tujuan bersama. Jadi jika Anda bersiap, semuanya akan baik-baik saja.

    Kesimpulan

    Mempersiapkan wawancara dan melewatinya adalah proses yang bertanggung jawab dan memakan waktu. Jangan pernah, jangan pernah biarkan penolakan menjatuhkanmu. Mendapatkan wawancara juga merupakan pengalaman yang luar biasa, bahkan jika Anda tidak dipekerjakan. Oleh karena itu, seiring berjalannya waktu, Anda akan mencapai keterampilan tertinggi dan berhasil melewati wawancara teknis apa pun. Hal utama adalah berlatih, percaya pada diri sendiri dan tetap termotivasi.

    Banyak kepedihan yang dicurahkan di Internet tentang wawancara yang gagal. Ada yang tidak suka dengan pertanyaan pewawancara, ada yang tersinggung dengan ejekan, ada pula yang dinilai berdasarkan halaman VKontakte mereka. Pewawancara terus mengikuti para pelamar dan bersumpah tentang betapa buruknya situasi kepegawaian saat ini, dan jawaban bodoh apa yang diberikan oleh programmer yang tidak berpengalaman terhadap pertanyaan teknis rumit mereka.

    Sayangnya, tidak ada aturan universal untuk lulus dan melakukan wawancara, dan hal ini tidak bisa dilakukan, karena karyawan dipilih tidak hanya berdasarkan keterampilan teknis dan kualitas pribadi mereka, namun juga dengan mencocokkan beberapa “profil” (seringkali implisit dan sangat subyektif), yang menurut untuk pewawancara, cocok dengan tim atau perusahaan mereka. Adapun panduan dari seri “cara lulus wawancara yang benar” biasanya tidak kalah menyakitkannya di komentar, karena sangat subyektif dan pasti akan menyentuh titik sakit seseorang.

    Sepanjang karir profesional saya, saya telah berada di kedua sisi, meskipun saya mungkin harus melakukan lebih banyak wawancara teknis daripada lulus. Namun selama ini, saya telah mengumpulkan sejumlah "keisengan" yang membuat saya takut selama wawancara teknis dan langsung dalam pikiran saya mengakhiri percakapan lebih lanjut. Inilah yang ingin saya bicarakan - dari sudut pandang pewawancara dan pelamar. Saya ingin segera membuat reservasi bahwa artikel tersebut mencerminkan kesan subjektif pribadi saya dan tidak berpura-pura menjadi “panduan wawancara”. Di sisi lain, ini bukan ledakan kemarahan sesaat akibat wawancara yang gagal, namun serangkaian kriteria yang sudah lama ada, yang meskipun dalam dasar negatif, memungkinkan saya menyingkirkan pilihan-pilihan, atau tidak menakut-nakuti pelamar yang berpotensi cocok. saya sendiri.

    Apa yang membuat Anda jengkel atau stres selama wawancara? Bagikan di komentar.

    Wawancara dari sudut pandang pelamar

    Setiap kali seorang programmer mencari pekerjaan, dia harus melalui banyak wawancara teknis. Dia berkeliling kantor atau berbicara melalui Skype, memecahkan masalah atau mengikuti tes, menjawab pertanyaan teknis yang rumit, mencoba menunjukkan sisi terbaiknya. Namun, dia sendiri juga mengevaluasi orang-orang yang mewawancarai dan mengujinya, berpikir bahwa besok dia berpotensi harus bekerja dengan orang-orang tersebut. Dan ada banyak cara bagi pewawancara teknis untuk menakut-nakuti kandidat agar meninggalkan posisi yang menarik. Saya akan memberi tahu Anda tentang apa yang selalu membuat saya takut secara pribadi, dan apa yang saya coba hindari sebagai pewawancara.1. “Wawancara teknis apa lagi?”
    Hal pertama dan terpenting yang selalu membuat saya khawatir tentang wawancara teknis adalah ketidakhadirannya. Kebetulan seluruh percakapan dengan spesialis teknis - calon kolega di masa depan - didasarkan pada pertanyaan mengenai pengalaman profesional: di mana dia bekerja, proyek apa yang dia kerjakan, fungsi apa yang dia lakukan di dalamnya. Mengenai teknologi atau pengetahuan - pertanyaan pada tingkat “apa warna buku teksnya.” Tahukah Anda apa itu Perantara Pesan? Bagus, kami akan mengantarmu!

    Pendekatan wawancara seperti ini selalu membuat saya menentang calon pemberi kerja. Mereka tidak menanyakan satu pertanyaan pun kepada saya untuk memastikan bahwa saya benar-benar tahu apa yang saya lakukan. Sepertinya orang yang mewawancarai saya tidak memahami apa pun tentang topik tersebut dan mencari setidaknya satu orang yang memahaminya, atau sekadar putus asa dan siap menghadapi siapa pun. Bagaimanapun, saya tidak ingin bekerja dalam tim yang direkrut dengan cara ini.

    2. “Nah, apa yang kamu lakukan di sana di dalam…”
    Sungguh mengejutkan betapa seringnya sikap meremehkan pelamar terjadi selama wawancara teknis. Ya, mungkin Anda adalah seorang programmer yang tegas dan berpengalaman dengan banyak proyek, Anda disingkirkan dari pekerjaan yang sangat penting demi beberapa wawancara yang tidak perlu dengan orang-orang, yang sebagian besar, menurut Anda, sama sekali tidak kompeten. Namun jangan lupa bahwa saat ini Anda mewakili perusahaan dan tim Anda, dan seseorang pasti akan membuat penilaian berdasarkan perilaku Anda terhadap iklim di tim dan bagaimana mereka akan memperlakukannya di tim ini. Bersikap sopan dan hormat kepada pelamar, meskipun dari lima menit pertama Anda menyadari bahwa dia tidak boleh mendekati kode berharga Anda.3. “Nama depan/nama belakang/nama patronimik Anda salah ditulis di resume Anda!”
    Ini sama sekali bukan masalah teknis, namun demikian, ini adalah masalah umum bahkan dalam wawancara teknis. Untungnya, saya memiliki nama yang cukup sederhana dan umum, dan masalah seperti itu tidak terjadi pada saya. Namun, saya tahu bahwa ada sejumlah besar orang yang sangat yakin bahwa nama dan bahkan patronimik tertentu tidak ada. Mereka akan meyakinkan Anda bahwa nama yang benar bukanlah “Danila”, melainkan “Daniil”, atau tidak ada nama “Alena”, melainkan hanya “Elena”. Mereka akan menawarkan untuk mengoreksi dan menulis “dengan benar” di dokumen mereka. Orang dengan nama yang langka atau tidak biasa sering kali harus berurusan dengan orang yang terpelajar dan bermaksud baik, dan percayalah, ini sangat menjengkelkan. Jadi, ada satu aturan sederhana: tidak ada nama yang tidak ada. Tulis dengan benar seperti yang tertulis di paspor. Tunjukkan rasa hormat kepada pelamar dan jangan menganggapnya begitu bodoh sehingga dia tidak bisa menyalin namanya sendiri dari paspor ke resumenya. Bahkan jika Anda mencurigai adanya kesalahan, Anda dapat mengklarifikasi hal ini dengan cara yang lebih bijaksana.4. “Berapa banyak bola golf yang diperlukan untuk membersihkan semua jendela bundar di bus sekolah yang menyusut hingga seukuran nikel selama evakuasi di San Francisco, dengan menggunakan tidak lebih dari 3 timbangan?”
    Artikel tentang wawancara tidak akan lengkap tanpa menyebutkan penutup lubang got. Anda dapat menganggap ini poin pribadi saya terkait dengan ketidakmampuan untuk menyelesaikan masalah yang tidak standar dengan cepat dan di bawah tekanan. Tapi saya yakin permainan asah otak sama sekali tidak berguna saat wawancara. Atau lebih tepatnya, ini adalah cara yang bagus untuk merekrut seluruh departemen anak ajaib dengan Olimpiade Otak, yang akan bertukar permainan asah otak segar sepanjang hari alih-alih bekerja. Seorang programmer sejati di habitat aslinya, bahkan ketika menangani tugas-tugas yang sangat keren dan tidak standar, masih jarang membuat kode di bawah tekanan, tetapi menghabiskan sebagian besar waktunya duduk dan berpikir santai di lingkungan yang relatif tenang tentang bagaimana dia dapat memotong kode dengan indah menjadi metode. Dia tidak pernah menggunakan “otot otaknya” untuk memecahkan masalah rumit dalam proses ini.5. "Salah. Lebih jauh."
    Tentu saja, bukan tugas pewawancara untuk melatih orang yang datang untuk wawancara. Namun, jika pelamar tidak dapat menjawab pertanyaan, tetapi masih tertarik, maka mendorong atau setidaknya mengarahkannya ke solusi yang tepat sebelum melanjutkan ke pertanyaan berikutnya adalah masalah etika profesional, menunjukkan bahwa di sini mereka akan membantu dan mengajarinya. jika terjadi sesuatu, tidak akan dibiarkan begitu saja dengan masalah teknis. Katakan padanya setidaknya beberapa kata, apa yang harus di Google, apa yang harus dibaca. Bagaimanapun, minat terhadap solusi yang tepat dari suatu masalah itu sendiri merupakan kualitas positif dari seorang spesialis teknis, dan orang seperti itu tidak boleh kehilangan motivasi karena sikap meremehkan kesalahan atau ketidakakuratannya.

    Wawancara dari sudut pandang pewawancara

    Setiap kali lowongan baru dibuka, spesialis terkemuka atau kepala departemen harus melakukan banyak wawancara teknis. Orang-orang datang ke wawancara dengan pengalaman teknis, tingkat pelatihan, dan harapan yang berbeda. Untuk melakukan wawancara, Anda perlu memikirkan rencana percakapan, menyusun daftar pertanyaan, dan kemudian mencoba memahami dari jawaban pertanyaan-pertanyaan tersebut apakah orang tersebut cocok untuk posisi tersebut atau tidak. Dan terkadang pelamar mengatakan hal-hal selama wawancara yang langsung memperjelas - tidak, Anda tidak akan bisa bekerja sama dengan orang ini. Berikut adalah pilihan frase kunci dari pelamar yang membuat saya khawatir secara pribadi: 1. “Beberapa pertanyaan Anda bersifat teoritis. Saya tidak kuat dalam teori, saya berpengalaman dalam praktik! Ayo lakukan tes yang lebih baik!”
    Kata “teoretis” biasanya diucapkan dengan konotasi meremehkan, seolah-olah itu adalah sesuatu yang buruk. Tapi itu bukan masalahnya. Menurut Anda apakah frasa ini diawali dengan permintaan pewawancara untuk membuktikan teorema Cauchy? Berikan definisi yang tepat tentang bentuk normal ketiga? Sama sekali tidak. Saya mendengar seruan seperti itu sebagai jawaban atas pertanyaan-pertanyaan berikut:

    • Apa perbedaan perbandingan dengan == dengan perbandingan dengan sama di Jawa?
    • beri tahu kami cara kerja peta hash.
    • Jelaskan dengan kata-kata Anda sendiri apa itu REST.
    • Apa itu transaksi dan mengapa dibutuhkan?

    Ya, dari sudut pandang tertentu, pertanyaan pemrograman apa pun bersifat teoretis jika tidak mengharuskan Anda menulis sebaris kode saat ini juga. Namun saya yakin bahwa seseorang dengan pengalaman yang cukup luas di bidang tertentu harus mampu menjelaskan hal-hal yang paling mendasar dengan kata-katanya sendiri, atau setidaknya tidak berpura-pura bahwa ketidaktahuan terhadapnya adalah hal yang wajar dan wajar.2. “Saya tidak menyangka Inkuisisi Spanyol ada di sini! Ini seperti mengikuti ujian di institut. Biasanya mereka hanya menanyakan di mana dia bekerja dan apa pekerjaannya.”
    Anda datang untuk wawancara teknis. Dalam wawancara teknis, Anda akan ditanyai pertanyaan teknis untuk menguji keterampilan teknis Anda. Serahkan metodologi pengujian dan pilihan pertanyaan pada hati nurani pewawancara - pertanyaan tersebut mungkin tidak selalu cocok bagi Anda, tetapi pewawancara tahu persis informasi apa yang ingin dia peroleh tentang Anda dengan menganalisis jawaban Anda. Banyak pertanyaan diperlukan bukan untuk menguji pengetahuan Anda, tetapi untuk memaksa Anda berpikir dan melihat alur pemikiran Anda. Ingatlah juga bahwa tidak semua pertanyaan memerlukan jawaban yang benar-benar akurat, dan jika Anda menjawab dengan jelas setidaknya setengah dari pertanyaan yang mereka tanyakan, ini sudah akan memberikan kesan yang baik.3. “Saya tidak perlu mengetahui hal itu, saya berspesialisasi dalam tugas tingkat yang lebih tinggi!”
    Jangan bingung antara spesialisasi dengan ketidaktahuan tentang dasar-dasar pemrograman. Saya mendengar hal serupa dari pengembang aplikasi seluler tentang protokol tumpukan TCP/IP, dan dari pemrogram front-end sebagai jawaban atas pertanyaan tentang algoritma pengurutan dan pencarian. “Mengapa saya harus mengetahui hal ini, semuanya ada di perpustakaan standar, saya bekerja di level yang lebih tinggi.” Menanggapi pernyataan seperti itu, saya sudah lama mengemukakan beberapa masalah kecil dengan algoritme yang tersembunyi secara diam-diam - dengan harapan menunjukkan bahwa solusi "naif", yang dihasilkan dari ketidaktahuan akan algoritme, tidak tahan terhadap kritik, dan pada akhirnya paling tidak mendorong pendidikan mandiri. Selain itu, ini bukanlah tugas yang dibuat secara artifisial, tetapi hal-hal yang terjadi dalam perkembangan setiap hari. Kode apa pun adalah algoritma. Memahami algoritma dasar dan struktur data penting bagi setiap programmer, dan protokol Internet adalah dasarnya, tanpa pengetahuan yang tidak mungkin menulis apa pun dengan kompeten yang melampaui batas-batas satu komputer.4. "Dan dirimu! / Tunjukkan kodemu! / Tapi aku membuka GitHub-mu, dan ini dia…”
    Hal terakhir yang diinginkan pewawancara adalah mempekerjakan seseorang dan kemudian mendengarkan dia mengkritik basis kodenya. Ya, kemungkinan besar dia tidak sempurna. Ya, utang teknis ada dimana-mana dan setiap orang memilikinya. Dalam kode apa pun, ada sesuatu yang perlu dikritik. Namun jika Anda benar-benar menganggap diri Anda sangat keren sehingga Anda melihat masalah yang jelas dalam kode etik calon pemberi kerja Anda, terjemahkan ini ke dalam kalimat positif yang konstruktif: Saya tahu cara meningkatkan diri, saya punya pengalaman dalam topik ini, saya bisa bermanfaat bagi Anda.5 . "Kamu tidak benar!"
    Apa pun bisa saja terjadi, namun sebaiknya simpan dulu pendapat Anda mengenai apakah pewawancara salah atau meragukan kompetensinya hingga akhir wawancara. Kemudian Google dan cari tahu siapa di antara Anda yang benar. Wawancara teknis bukanlah tempat untuk berdiskusi atau menegaskan diri sendiri, dan pertanyaan-pertanyaan di sini terutama ditanyakan kepada Anda. Pewawancara tidak akan bertanya tentang sesuatu yang ia sendiri tidak mengerti.

    Kesimpulan

    Tahukah Anda hal terbaik apa yang saya dengar dari pelamar selama wawancara? “Aku tidak menjawabnya, kan? Bisakah Anda memberi saya selembar kertas? Saya akan menuliskan pertanyaan Anda dan mencari tahu di rumah, meskipun Anda tidak mempekerjakan saya, setidaknya saya akan mengetahuinya sekarang.” Air mata kebanggaan mengalir di mata Anda - tidak sia-sia Anda menghabiskan satu setengah jam waktu untuk seseorang, dia sendiri belajar sesuatu dari wawancara ini. Sekalipun sekarang dia terlalu lemah untuk posisi ini, mungkin ini akan mendorongnya untuk mendidik dirinya sendiri, dan dalam satu atau dua tahun dia akan datang lagi, menunjukkan sisi terbaiknya dan mendapatkan pekerjaan - seperti yang pernah terjadi dalam karir saya.

    Tampilan