Cara belajar lulus wawancara kerja di Google



Minggu ini kami memiliki Ava Katushka, seorang pelatih di Verbetcetera .



Verbetcetera adalah kamp pelatihan bagi mereka yang ingin mempersiapkan wawancara di Lima Besar - Google, Amazon, Facebook, Apple dan Microsoft. Mentor Verbetcetera tersebar di 5 negara, mereka sudah bekerja di perusahaan target, mereka tahu segalanya tentang spesifikasi pekerjaan dan persyaratan untuk kandidat di pasar yang berbeda.



Meski mendapat sambutan dingin di komentar pengumuman, ada banyak pertanyaan untuk Ava selama siaran. Kami mempublikasikan jawaban, transkrip dan rekaman wawancara (dengan slide presentasi).








Nama saya Ava Coil. Saya belajar di Institut Fisika dan Teknologi Moskow, di Fakultas Ilmu Komputer, yang disebut FIVT. Kursus ketiga saya cukup sulit, saya mengalami banyak stres, ujian, masalah kesehatan, masalah keluarga.



Saya ingat berjalan ke toko buku dan melihat buku What to Dream About. Aku bertanya-tanya; Saya ingat bahwa saya pernah bermimpi tentang sesuatu, tetapi tidak ingat apa. Saya membuka buku ini, dan di sana, di Biblio-Globus, saya mulai melakukan latihan dari buku ini. Dan ternyata saya memenuhi harapan semua orang di sekitar - keluarga saya, guru, siapa pun kecuali saya sendiri. Saya sangat marah saat itu. Saya bertanya-tanya apa yang sebenarnya saya inginkan sendiri. Kemudian saya duduk di Gorky Park dan memikirkannya. Saya menyadari bahwa saya ingin bepergian, saya ingin berteman - saya punya masalah dengan itu - dan saya ingin menulis situs web saya sendiri dari awal. Dan bagiku, bagaikan sulap, tahun itu segalanya mulai menjadi kenyataan.



Ternyata ada cara untuk bepergian di mana Anda dibayar untuk itu: magang. Jadi saya membuka Google di New York, tempat saya magang. Di suatu tempat di tengah masa magang, saya ditanya apakah saya ingin tetap bekerja penuh. Saya berpikir - mengapa tidak mencoba, meskipun saya tidak berpikir bahwa mereka akan membawa saya. Tapi mereka membawa saya, dan saya pindah ke Munich. Saya telah bekerja sebagai insinyur perangkat lunak selama tiga tahun dan memiliki pengalaman yang cukup bervariasi sebagai insinyur perangkat lunak. Awalnya, saya bekerja dan dilatih sebagai SRI (insinyur keandalan situs) - Saya melakukan banyak hal menarik, ada tim saudara. Tetapi segera bagi saya sepertinya saya ingin menulis lebih banyak kode. Saya pindah ke tim SVI, tempat kami menulis situs perjalanan dalam perusahaan itu sendiri, untuk karyawan Google. Dan pada akhirnya, saya juga mengetahui bahwa ada spesialisasi seperti itu - UXE, insinyur UX. Saya mulai belajar sedikit UX dan pindah ke sana,mencoba menggabungkan dua minat saya dalam menggambar dan pemrograman. Saya ternyata lumayan rata-rata, tapi ini juga pengalaman di lapangan.



Sekarang saya tidak bekerja di Google, saya memutuskan untuk meluangkan waktu untuk mencari tahu apa yang saya suka, untuk mencoba semua jenis hipotesis. Secara khusus, saya ingin mencoba bekerja untuk diri saya sendiri. Saya mulai mengingat apa yang saya sukai dalam hidup, dan ternyata saya sangat menyukai proses persiapan wawancara. Ketika saya melamar ke perusahaan yang berbeda, saya berinteraksi dengan orang-orang dari perusahaan ini, memecahkan masalah. Itu adalah periode yang sangat cerah dalam hidup saya. Kemudian saya berbicara dengan seorang teman dan menemukan bahwa tidak semua orang mengalami periode ini - cerah, orang-orang stres saat wawancara, dan kemudian - "Alhamdulillah, ini sudah berakhir, saya akhirnya bekerja." Sepertinya saya bisa, mungkin, membagikan sesuatu yang positif, mengubah proses pencarian kerja dan wawancara ini menjadi sesuatu yang menyenangkan, yang baik untuk diingat dengan senang hati.



Awalnya saya ingin menasihati diri sendiri, tetapi saya menemukan nasihat dalam sebuah buku tentang bisnis: jika Anda ingin melakukan sesuatu, pertama-tama temukan orang yang sudah melakukan sesuatu yang baik, dan Anda dapat belajar banyak dari mereka. Kemudian saya menemukan perusahaan Verbetcetera, di mana orang-orangnya sudah melakukan apa yang ingin saya lakukan. Sudah ada lingkaran mentor; Arahan software-engineering cukup fresh yaitu baru dimulai tahun 2020. Namun sejak tahun 2018 sudah ada pendampingan PM yang berjalan cukup baik. Dan nilai-nilai perusahaan ini ternyata sangat dekat dengan saya: semua mentor telah lulus, mereka sendiri bekerja di lapangan. Semangat ini adalah orang-orang yang dekat dengan saya, semuanya (dan berasal) dari FAANG (Facebook, Apple, Amazon, Netflix, Google). Tim yang sangat keren berkumpul, sangat menarik untuk bergabung dan mencoba diri sendiri sebagai mentor.



Saya ingin memberi tahu Anda tentang wawancara teknologi, menjawab pertanyaan. Saya akan berbicara tentang struktur tertentu dalam sebuah wawancara, berhenti, melihat pertanyaan, menjawab dan melanjutkan. Saya ingin berbicara tentang wawancara coding: pertanyaan apa yang diajukan, mitos apa yang terkait dengannya, seperti apa proses pencarian kerja dari sudut pandang perusahaan dan kandidat; apa itu wawancara desain sistem, apa pengaruhnya dan mitos serta kesalahpahaman populer apa yang ada di sana.



Wawancara pengkodean - apa itu?



Sering ditanyakan pertanyaan apa yang diajukan dalam wawancara semacam itu. Katakanlah salah satu pertanyaan ini bisa seperti ini: "string terenkripsi tiba di masukan, mendekodekannya." Garisnya bisa seperti ini: 3 [A] 2 [BC]. Diterjemahkan sebagai AAABCBC. Artinya, apa yang ada di dalam kurung siku diulang sebanyak angka sebelum kurung siku. Dan selama wawancara Anda perlu menulis program yang melakukan decoding.



Pertanyaan ini sebenarnya ditanyakan dalam wawancara dengan Bloomberg, Amazon, Apple, Cisco, Google, Microsoft; Sepertinya pertanyaan yang cukup mudah bahkan jika Anda tidak terkait dengan pemrograman. Tetapi bisa memiliki dasar ganda - misalnya, bisa ada beberapa tingkat bersarang. Misalkan baris berikut: [[[A [[C]]].



Dalam kasus ini, pertama-tama Anda dapat menguraikan lapisan dalam: AACC, lalu mengulanginya tiga kali - yaitu, menguraikan lapisan luar (AACCAACCAACC). Program tertulis harus menangani semua tingkat penumpukan. Jika Anda pandai pemrograman, ini seharusnya tidak menjadi masalah.



Topik apa yang ditanyakan dalam wawancara?



Contoh topik populer adalah array, string (seperti yang telah kita bahas), tugas grafik. Kadang-kadang terselubung: misalnya untuk membuat jadwal kursus, mengingat bahwa setiap kursus memiliki kursus pendahuluan (prasyarat). Ada masalah rekursi: misalnya, ada masalah harga yang populer. Harga diberikan per saham untuk beberapa hari tertentu, dan Anda perlu membuat algoritme jual-beli untuk mendapatkan penghasilan maksimum. Terkadang ada masalah dari matematika atau geometri, tetapi jumlahnya tidak terlalu banyak; tidak diperlukan pengetahuan khusus dalam mata pelajaran ini, dibutuhkan yang paling dasar, tetapi mereka juga pandai dalam menyelesaikannya. Secara umum sangat baik memiliki dasar ilmu komputer, merasa nyaman agar pemecahan masalah dalam wawancara tidak menimbulkan masalah.



Mengapa pertanyaan-pertanyaan ini ditanyakan dalam wawancara jika alur kerjanya sangat berbeda dari mereka? Ya, banyak orang mengatakan - pengembang tidak membutuhkan ini, mengapa pohon hitam dan merah ini. Ini adalah kritik standar wawancara, pekerjaan benar-benar berbeda, pekerjaan tidak akan seperti wawancara. Tetapi ada banyak alasan mengapa pertanyaan seperti itu ditanyakan. Mereka ingin menguji Anda dalam waktu terbatas, untuk melihat bagaimana Anda mengatasi tugas yang tidak biasa dan tidak dapat dipahami. Keterampilan seperti itu sering kali dibutuhkan di tempat kerja.



Meskipun ilmu komputer dalam bentuknya yang paling murni tidak berlaku untuk pekerjaan, pengetahuan dasar masih cukup berguna saat Anda bekerja di bidang rekayasa perangkat lunak. Sebenarnya, tugas-tugas ini adalah proxy untuk pekerjaan selanjutnya. Alih-alih bertanya apakah Anda adalah pengembang yang baik, mereka memberi Anda tugas dan melihat bagaimana Anda berperilaku dengannya. Dan jawaban yang bagus atas pertanyaan berkorelasi dengan menjadi pengembang yang baik.



Perusahaan mana yang menanyakan pertanyaan-pertanyaan ini dalam wawancara?



Cukup banyak, dan tidak hanya FAANG (tapi mereka juga). Saya punya daftar: Microsoft, Bloomberg, Uber, Adobe, Oracle, ByteDance, eBay, LinkedIn, Yahoo, VMWare, Salesforce, Cisco - nyatanya, saya belum memasukkan banyak dari mereka. Artinya, pertanyaan semacam itu cukup populer. Selain itu, misalnya, di Google, pengembang junior, menengah, dan senior menerima pertanyaan yang sama, tidak ada perbedaan.



Ada mitos populer: apakah penting untuk berpartisipasi dalam kompetisi algoritmik.Ini sangat mencemaskan saya: Saya tidak berpartisipasi di dalamnya baik di sekolah maupun di institut. Orang sering mengatakan bahwa jika Anda tidak berpartisipasi, maka waktu Anda telah berlalu - Anda akan selalu menunjukkan diri Anda yang buruk dalam wawancara. Tapi bukan ini masalahnya. Terlepas dari kenyataan bahwa, tentu saja, partisipasi dalam kompetisi akan membantu dan mendukung Anda, wawancara berbeda dari mereka. Pertanyaannya serupa, Anda juga perlu menyelesaikan masalah dalam waktu terbatas, tetapi Anda mempresentasikan solusinya bukan kepada sistem yang harus lulus tes, tetapi kepada orangnya. Orang tersebut melihat dan mencoba menilai apakah dia ingin bekerja sama dengan Anda dengan memecahkan masalah. Penting tidak hanya Anda menemukan solusi, tetapi juga bagaimana Anda menemukannya, bagaimana Anda berpikir, berapa banyak pilihan yang Anda pertimbangkan, apakah Anda dapat menyampaikannya kepada orang tersebut. Ini adalah aspek yang sangat penting.



Orang yang mewawancarai Anda adalah seorang insinyur, dia juga tidak menyelesaikan masalah seperti itu secara teratur; kemungkinan besar terakhir kali dia melakukan ini adalah selama wawancaranya sendiri. Dan dia harus menemukan jawaban untuk pertanyaan: apakah dia ingin bekerja dengan Anda, apakah akan baik bekerja dengan Anda. Jangan takut padanya. Dia tidak ingin menempatkan Anda dalam kondisi stres yang berlebihan; sebaliknya, dia ingin memberi Anda pengalaman wawancara yang positif.



Kerangka kerja wawancara pengkodean umum



Bagaimana menyusun waktu Anda, tanggapan Anda agar dapat merespons dengan baik? Untuk memulainya, selalu ajukan pertanyaan klarifikasi, berikan contoh, komunikasikan dengan pewawancara Anda. Bagaimana Anda memahami contoh apa; ini sangat penting.



Jika tidak, Anda mungkin salah paham sama sekali tentang masalah tersebut dan mulai menyelesaikan masalah yang salah yang diperlukan dari Anda (ini adalah sejumlah besar tanda bahaya sekaligus).



Seringkali orang takut untuk menemukan solusi yang mereka dapatkan; mereka berpikir - kenapa menawarkannya, tidak optimal, tapi mereka menginginkan yang optimal dari saya. Jangan lakukan dengan cara ini. Mulailah dengan solusi yang tidak optimal, beri tahu pewawancara tentang hal itu: dia akan mengerti bahwa Anda telah mencapai tingkat pemahaman tertentu. Kemudian pikirkan lebih jauh. Mungkin ini akan membantu Anda dalam prosesnya. Tidak ada minus di sini: sebaliknya, ada baiknya Anda segera melihat solusinya.



Penting untuk menulis kode yang baik dan terstruktur - Anda ingin menunjukkan diri Anda sebagai programmer yang menulis kode yang dapat dibaca. Di akhir wawancara, penting untuk menguji, untuk ini Anda dapat menggunakan contoh yang ditemukan di awal. Ini adalah bagaimana Anda dapat menangkap kesalahan dalam kode Anda. Kemudian - perlu meringkas cukup keren. "Saya mulai seperti ini, saya datang dengan solusi ini dan itu, mereka memiliki kelebihan dan kekurangan ini dan itu, ini adalah jenis pengujian, ini adalah cara semuanya bekerja dengan contoh." Berikut adalah contoh pendekatan wawancara.



T: level bahasa Inggris apa yang diinginkan?



Dianjurkan untuk berbicara dengan bebas agar dapat dengan bebas memahami pewawancara dan mengekspresikan pemikiran Anda. Opsional super-mahir, menengah sudah cukup.



T: Perubahan apa yang telah dilakukan pada pengetikan Google dibandingkan dengan yang dijelaskan dalam Wawancara Cracking Coding?



Di sini Anda perlu memahami apa sebenarnya yang harus dibandingkan dengan apa. Tapi menurut saya pemikiran utama dari Cracking Coding Interview masih relevan sampai sekarang. Tidak banyak yang berubah.



T: Di mana saya dapat meningkatkan bahasa Inggris teknis saya?



Anda bahkan tidak perlu bahasa Inggris teknis untuk lulus wawancara; Anda hanya perlu bahasa Inggris, Anda harus bisa mengekspresikan pikiran Anda. Anda dapat melatih dalam wawancara, dengan teman, perusahaan khusus, jika Anda ingin belajar bagaimana berbicara dalam sebuah wawancara.



T: Sejauh mana tugas dengan leetcode mencerminkan tugas spesifik saat ini yang ditanyakan di Google? Apakah tugas dari tahun lalu, tahun sebelumnya relevan?



Pertama, penting bagi Anda bahwa Anda belum pernah melihat masalah yang Anda temui dalam wawancara sebelumnya. Jika tugas sudah familiar, dan Anda tahu sebelumnya bagaimana melakukannya, maka ini tidak akan membantu Anda. Sebaliknya, itu akan merugikan: itu akan terlihat. Anda perlu memiliki masalah yang tidak biasa, tetapi Anda perlu menyelesaikan banyak masalah serupa. Leetcode bekerja dengan baik untuk ini; jika Anda memecahkan masalah pada topik yang berbeda, mencakup topik ilmu komputer yang populer - pada titik tertentu Anda akan siap.



T: Bahasa apa yang dapat digunakan untuk menyelesaikan masalah wawancara teknis? Saat ini saya sedang memecahkan masalah dengan leetcode di JavaScript, tetapi saya pernah mendengar bahwa saya membutuhkan Python atau C ++.



Semua bahasa ini - JavaScript, Python, atau C ++ - baik-baik saja, tidak masalah di sini. Jika Anda menulis dalam JavaScript, pahami dengan baik, mendalam, ini adalah bahasa Anda - kemudian lakukan wawancara dengan JavaScript.



T: Apakah Anda memiliki pendekatan untuk memperkirakan waktu dengan benar untuk setiap tugas dalam wawancara kode otomatis ketika ada beberapa tugas dan batas waktu?



Saya tidak begitu mengerti pertanyaan ini. Ya, Anda perlu menyelesaikan banyak masalah, jika ada batasan waktu, Anda perlu mengukur kekuatan Anda dengannya.



T: Tugas yang saya hadapi di wawancara Amazon dan Google jauh dari ilmu komputer dasar.



Saya menyebutnya dasar. Sepertinya saya.



T: Jika kandidat junior dan senior diberikan pertanyaan yang sama, bagaimana mereka menentukan kelas mana yang akan diambil developer?



Ini tidak ditentukan oleh hasil wawancara koding, tetapi oleh hasil perancangan sistem dan wawancara perilaku.



T: Bagaimana Google secara umum?



Saya suka itu. Saya memiliki pengalaman yang cukup berharga, saya tidak akan menukarnya dengan hal lain. Perusahaan yang cukup keren, banyak kantor di berbagai kota. Mungkin, ada beberapa perusahaan seperti itu di mana Anda dapat bekerja di Eropa, Amerika dan Asia. Ada banyak kemungkinan.



Selanjutnya, saya akan berbicara tentang mempersiapkan wawancara: bagaimana mempersiapkan, bagaimana perusahaan mempekerjakan pengembang, berapa lama



Di Google dan banyak perusahaan serupa, prosesnya terlihat seperti ini. Pertama, Anda perlu diperhatikan, melalui perekrut. Kemudian tibalah penyaringan awal, di mana Anda diberikan 1-3 wawancara coding - pertanyaan yang sama yang telah kita bahas sebelumnya.



Jika Anda telah melewati ini, maka Anda pergi ke tempat. Akan ada serangkaian besar wawancara, biasanya 2 hingga 4 pengkodean, ditambah desain sistem dan perilaku. Jika Anda bekerja dengan baik di tempat, maka Anda mendapatkan tawaran. Google memasukkan gaji Anda, bonus relokasi - pembayaran pindah. Seringkali tawaran tersebut akan mencakup saham perusahaan; Saya menerima tawaran yang menyertakan mereka - tetapi tidak segera, tetapi setelah satu tahun bekerja.



Langkah pertama adalah memastikan bahwa Anda diperhatikan. Saya pribadi menyarankan Anda untuk mencoba mencari seseorang dari perusahaan, untuk berbicara dengan orang-orang yang ada di perusahaan. Ini akan memberi Anda sedikit pemahaman tentang budaya internal perusahaan. Selain itu, jika Anda menyukai satu sama lain, maka orang yang ada di perusahaan tersebut akan dapat merekomendasikan Anda - statistik menunjukkan bahwa rekomendasi meningkatkan peluang lulus tahap pertama ("diperhatikan") sebanyak 8 kali dalam kaitannya dengan aplikasi melalui situs. Nah, bagi sebagian orang, aplikasi melalui situs berfungsi.



Saya menyarankan Anda untuk tidak pernah memikirkan perusahaan tertentu. Anda tidak pernah bisa menjamin bahwa Anda akan masuk ke perusahaan tertentu. Tetapi, jika Anda memiliki tujuan - untuk mendapatkan pengalaman internasional, bekerja di perusahaan besar, pindah ke suatu tempat, maka ini pasti mungkin, dan mungkin tidak di satu perusahaan.



Untuk proses penulisan resume, ada berbagai tip kecil tentang bagaimana seharusnya tampilannya dan fakta apa yang harus dikandungnya.



  • singkatnya: muat dalam 1 halaman
  • orientasi hasil: gambarkan pencapaian Anda - "mencapai X dengan melakukan Y dengan Z"
  • Orientasi Data: Jelaskan skala proyek Anda - pemanfaatan, keuntungan, dll.
  • tautan: berikan tautan untuk menampilkan proyek Anda
  • Peringkat: minta seseorang untuk menilai resume Anda sebelum mengirimkan
  • lebih sedikit istilah khusus: Anda perlu dipahami


Tetapi mungkin sangat penting untuk mengatakan bahwa agak sulit untuk melakukannya sendiri. Setidaknya, itu sulit bagi saya: Anda perlu mendeskripsikan diri sendiri, mendeskripsikan pencapaian Anda, membuatnya dalam bahasa yang baik, dapat dimengerti oleh orang lain. Baik melakukannya dengan seorang teman, kolega; Anda bisa datang ke mentor kami di Verbetcetera - usahakan buat resume Anda agar mudah dibaca dan memberi kesan yang baik.



Persiapan lebih lanjut biasanya terdiri dari pemecahan masalah - misalnya, dalam leetcode yang sama - pada topik yang berbeda, dalam bahasa pilihan Anda. Ini bisa berupa JavaScript, Ketikan, C ++, Java, Python, dan sebagainya. Banyak bahasa. Juga bagus untuk berlatih berpasangan - melakukan wawancara praktis untuk melatih prosesnya, ini disebut wawancara tiruan. Anda bisa berlatih dengan teman, ada juga layanan khusus; kami juga menyediakan layanan seperti itu - Anda bisa datang dan berlatih dengan seorang mentor. Selain itu, Anda mencoba meningkatkan peluang mendapatkan penawaran dengan mengirimkan ke banyak perusahaan. Pergi melalui wawancara, dan pada akhirnya Anda mendapatkan suatu tempat (di mana Anda inginkan, saya harap); tentu saja, agar skema ini berhasil, penting untuk memiliki dasar ilmu komputer yang baik.



Saya mewawancarai beberapa orang yang baru-baru ini membuka Google, dan ternyata seperti ini: satu atau dua minggu tidak cukup untuk siapa pun. Tidak ada yang memberi tahu saya bahwa mereka bersiap untuk wawancara dalam dua minggu dan lulus. Biasanya dibutuhkan waktu 2-3 bulan, dan orang tersebut terlibat dalam 8 jam sehari. Dan ini masih membutuhkan landasan - dari institut, dari kursus khusus, sehingga tugas-tugas semacam itu tidak sepenuhnya baru. Seseorang menulis di leetcode bahwa seluruh proses memakan waktu satu tahun (meskipun orang ini bekerja pada waktu yang sama).



Q: gaji apa yang ditawarkan?



Anda dapat melihat Glassdoor untuk melihat gaji apa yang ditawarkan oleh perusahaan mana (rata-rata).



T: Apakah Anda memiliki mentor di tumpukan .NET?



Seolah-olah kami tidak mempersiapkan dalam bahasa tertentu, kami memiliki pendampingan tentang algoritma dan desain sistem. Bahasa tertentu tidak masalah bagi kami, kami tidak memperketat bahasa.



Mari kita analisis wawancara terakhir - wawancara desain sistem. Wawancara macam apa ini, kesalahan dan mitos apa yang ada, dan bagaimana mempersiapkannya.



Wawancara ini menentukan nilai Anda di perusahaan. Ini menanyakan pertanyaan terbuka yang sulit. Misalnya, "bagaimana Anda menulis Google Docs (atau Instagram, atau Facebook Messenger)." Secara alami, ada beberapa ekspektasi berbeda untuk wawancara desain sistem: jika Anda seorang junior, hampir tidak ada yang diharapkan dari Anda. Tapi, jika Anda senior, Anda harus membuktikan diri Anda hebat.



Saya telah menemukan pendapat yang sedemikian rupa sehingga tidak ada gunanya mempersiapkan wawancara ini: apakah Anda sudah memiliki pengetahuan dan pengalaman, atau belum. Tentu saja, pengetahuan tentang desain sistem tidak muncul dengan sendirinya dengan akumulasi pengalaman (meskipun pengalaman membantu), tetapi saya akan merekomendasikan semua orang untuk mempersiapkan wawancara ini - termasuk junior.



Penataan pengalaman sangat membantu. Anda mulai melihat di luar potongan kecil kode Anda, melihat komponen, melihat keseluruhan proses, bagaimana produk terlihat, server apa, penyeimbang beban, cache terdiri dari, di mana kemacetan dan kerentanan dalam produk ini dapat terjadi, bagaimana itu bisa diperpanjang, bagaimana jika tumbuh. Persiapan untuk wawancara desain sistem membantu berkembang sebagai pengembang; ini secara signifikan memengaruhi tawaran dan posisi. Jika Anda pada dasarnya adalah senior atau menengah yang baik, tetapi Anda tidak mempersiapkan, maka Anda mungkin akan dibawa ke posisi junior, dan Anda harus melalui proses promosi di dalam perusahaan - konfirmasi tinjauan sejawat dan yang lainnya secara berurutan untuk mencapai posisi yang sudah Anda miliki, mungkin meminjam dari perusahaan lain. Oleh karena itu, sangat masuk akal untuk mempersiapkan diri guna menghemat waktu Anda dan segera mendapatkan tawaran hebat. Tentu saja,tawaran untuk posisi senior dan junior sangat berbeda - di Google harganya puluhan ribu euro.



Mempersiapkan wawancara desain sistem jauh lebih sulit daripada mempersiapkan wawancara pengkodean. Tidak ada sistem pengujian yang akan memberi tahu Anda apa yang benar dan apa yang salah. Sangat penting untuk memiliki seseorang (biasanya beberapa pengembang senior) untuk memberi Anda umpan balik tentang seberapa memadai Anda menjawab pertanyaan. Sangat menyenangkan memiliki basis pengetahuan yang terstruktur dan banyak berlatih berpasangan. Anda dapat datang ke wawancara tiruan desain sistem, yang kami lakukan di Verbetcetera. Kami juga berpikir untuk melakukan kursus desain sistem suatu hari nanti.



Kerangka umum tentang bagaimana berperilaku dalam wawancara desain sistem sangat mirip dengan wawancara pengkodean. Tidak perlu terburu-buru di awal, Anda perlu mengajukan pertanyaan klarifikasi, mencoba memahami apa tugasnya. Anda tidak perlu segera mulai memecahkan atau memberikan jawaban yang Anda ingat dari beberapa situs; Mungkin Anda dan pewawancara memiliki tugas yang sama sekali berbeda di kepala Anda - penting untuk menyepakati ini pada awalnya, untuk memberi banyak perhatian pada komunikasi dan pemahaman. Langkah kedua setelah menyetujui tugas adalah menggambar desain tingkat tinggi untuk tugas tersebut, dan kemudian menyepakati itu juga. Setelah itu, Anda perlu membahas masalah apa saja yang mungkin muncul pada desain ini, apa yang paling menarik di dalamnya, dan terjun ke masalah yang paling penting dan menarik. Di akhir wawancara, Anda perlu mengulanginya lagi, merangkum keputusan Anda dan menawarkan beberapa ide tentang caranyaapa lagi yang bisa dilakukan dan ditingkatkan. Dan semua ini perlu dilakukan dalam 45 menit (bahkan lebih sedikit, karena ada berbagai macam kendala teknis) - ini sangat sulit dilakukan saat dalam perjalanan, Anda perlu bersiap.



T: Apakah ada profil dari semua mentor di suatu tempat?



Kami belum melakukan ini secara terbuka. Untuk saat ini, saya dapat mengatakan bahwa mentor kami telah bekerja (sedang) di FAANG dan tidak terlalu tertarik untuk berbicara secara terbuka tentang diri mereka sendiri. Ini mungkin sedikit membingungkan, tetapi pertanyaan tentang anonimitas seperti itu.



T: Di bidang apa yang dievaluasi oleh mentor? Hanya keterampilan pemrograman, atau keterampilan bahasa Inggris dan presentasi diri?



Anda dinilai dari keterampilan pemrograman Anda, kemampuan Anda untuk memecahkan masalah; Bahasa Inggris harus cukup untuk komunikasi (tidak perlu level super). Presentasi diri mungkin berpengaruh juga, tapi tidak terlalu banyak. Mungkin, seberapa besar pengaruh Anda sebagai orang yang memadai? Jika Anda datang ke wawancara perilaku dan mengatakan bahwa Anda membenci klien, Anda mungkin tidak akan diberi tawaran, terlepas dari kemampuan presentasi diri Anda.



T: Jika senior gagal dalam desain sistem, apakah ia ditawari posisi menengah / junior?



Ya, biasanya mereka hanya melakukan downgrade. Ini adalah situasi yang umum: senior tidak mempersiapkan desain sistem, mengecewakannya, dan dia ditawari posisi awal. Tapi, tentunya, jika seseorang benar-benar memiliki level, maka dia bisa tumbuh lebih cepat dari biasanya di dalam perusahaan. Ini akan menjadi sedikit ofensif, tentu saja, bahwa mereka tidak langsung mengambil senior setelah wawancara.



T: Apakah Anda memiliki wawancara tiruan tentang desain di Belarus (saya tidak mengerti namanya, di mana dan bagaimana mereka diadakan, dapatkah saya memiliki tautan yang lebih tepat?) Dalam bahasa Inggris atau Rusia? Secara umum, di negara mana Anda memiliki mentor?



Semua wawancara tiruan dilakukan dalam bahasa Inggris, karena kenyataannya wawancara dilakukan dalam bahasa Inggris. Mentor didistribusikan; Saya di Rusia, kebanyakan di Eropa, di Inggris. Perusahaan yang cukup tersebar dari berbagai belahan dunia. Tautan mungkin ada di deskripsi video.



T: Apakah mungkin untuk mengunduh presentasi?



Saya kira tidak, tapi Anda bisa menontonnya di video.



T: wawancara tiruan online atau offline untuk warga Moskow?



Kami belum memikirkan opsi offline, sementara semuanya online.



Jadi, hari ini kita membahas wawancara coding - pertanyaan apa yang diajukan, kesalahan dan mitos populer, bagaimana mempersiapkan, berapa lama waktu yang dibutuhkan (sehingga Anda realistis tentang prosesnya dan tidak berpikir bahwa semua orang hanya membutuhkan 2 minggu). Dan desain sistem - mengapa mempersiapkannya, dan bagaimana hal itu akan membantu Anda.



Saya juga ingin membuat pengumuman. Kami ingin merekrut kursus: jika salah satu dari mereka ingin memahami algoritme yang diperlukan untuk wawancara teknologi, kami telah merekrut grup sejak Maret. Kelompoknya kecil, 3-5 orang atau kurang (hampir satu lawan satu), untuk bekerja dengan mentor dari FAANG. Selama tiga bulan, kami akan membahas semua hal dasar yang Anda butuhkan untuk mempersiapkan wawancara teknis. Sehingga jika Anda merasa melorot pada topik ini, Anda akhirnya memiliki pondasi yang baik, dan Anda merasa percaya diri. Ini sangat cocok untuk orang yang tidak bisa mencurahkan waktu penuh untuk mempersiapkan wawancara yang aktif bekerja - format kursus ini mungkin berhasil.



Dan jika Anda memiliki wawancara segera - datanglah kepada kami untuk wawancara tiruan. Dengan algoritma, dengan desain sistem; ketika kita melakukannya, akan ada kursus tentang desain sistem. Saya akan sangat senang jika Anda datang.



T: Apakah akan ada lebih banyak kit, misalnya, di bulan Mei?



Mungkin. Sedangkan rencananya bulan Maret, kursus akan berlangsung selama tiga bulan; jika hasilnya bagus, jika kami dan anda menyukainya, mungkin akan ada set lain.



Bersiaplah, investasikan pada diri Anda dan pengetahuan Anda. Anda semua hebat, Anda akan berhasil.






All Articles