Persiapan LeetCode untuk wawancara Microsoft
Oleh Aaron Cao · Diperbarui

LeetCode mencakup mekanika babak coding Microsoft, tetapi bukan babak itu sendiri. Sebagian besar soal berada di level menengah, dan wawancara menilai bagaimana Anda menjelaskan pendekatan secara lisan, menyerap batasan lanjutan, dan menyesuaikan diri — sesuatu yang tidak dilatih oleh grinding sendirian.
Apakah grinding LeetCode benar-benar mempersiapkan Anda?
Anda mungkin pernah mendengar saran untuk menyelesaikan beberapa ratus soal sebelum melamar, dan Anda ingin tahu apakah angka itu benar-benar berarti. Bagian ini memisahkan apa yang benar-benar dilatih oleh LeetCode dari apa yang tidak disentuhnya, sehingga Anda bisa menghabiskan waktu di tempat yang memberi hasil. Singkatnya: LeetCode membangun ingatan yang Anda butuhkan, tetapi melewatkan performa yang dinilai.
Apa yang dilatihnya dengan baik itu nyata. Mengenali struktur data apa yang dibutuhkan sebuah soal, menulis kode yang benar tanpa compiler di depan Anda, dan mengetahui kompleksitas dari apa yang baru saja Anda tulis — semuanya diperlukan, dan pengulangan adalah cara semua itu menjadi otomatis.
Apa yang dilewatkannya adalah semua hal yang bersifat sosial. Tidak ada yang menyela solusi Anda untuk bertanya mengapa Anda memilih hash map. Tidak ada yang menambahkan batasan di tengah jalan dan mengamati bagaimana Anda bereaksi. Anda tidak pernah harus mengucapkan ide yang salah dengan suara keras lalu mengoreksinya sambil didengarkan orang asing. Itulah bagian yang dirancang untuk diamati oleh babak wawancara Microsoft.
Pola apa saja yang muncul dalam babak coding Microsoft?
Cakupan lebih penting daripada volume, dan pola-pola yang berulang ini singkat daftarnya:
- Two pointers dan sliding window. Pada array dan string, sering disertai persyaratan in-place.
- Hash map. Di mana kesulitannya adalah menentukan apa yang dijadikan kunci, bukan proses pencariannya.
- Tree traversal. Depth-first dan breadth-first, path sum, lowest common ancestor.
- Pencarian graf (graph search). Soal grid, connected components, jalur terpendek pada graf tak berbobot.
- Linked list. Pembalikan (reversal), penggabungan (merge), dan deteksi siklus (cycle detection).
- Dynamic programming yang mudah didekati. State satu dimensi, keluarga soal coin change dan stairs.
Uji berhenti yang berguna: pilih satu soal yang sudah pernah diselesaikan secara acak, lalu jelaskan dengan suara keras mengapa pola itu berlaku dan apa yang akan gagal pada alternatifnya. Jika Anda bisa melakukannya untuk semua yang ada di daftar di atas, menambah volume tidak banyak membantu. Babak wawancara perusahaan lain diuraikan di hub topik wawancara perusahaan.
Apa bedanya wawancara dengan sesi LeetCode?
Empat perbedaan ini mengubah cara Anda seharusnya berlatih. Anda berbicara sebelum mengetik, karena pewawancara mengharapkan sebuah pendekatan dan perkiraan kompleksitas sebelum kode muncul. Batasan datang di tengah soal, dan pertanyaan lanjutan itulah pertanyaan yang sesungguhnya. Tidak ada tombol submit, jadi Anda harus menalar sendiri kasus-kasus tepi (edge case) alih-alih membaca pesan kegagalan. Dan semuanya berlangsung di Microsoft Teams, biasanya dalam editor bersama, sementara seseorang mengamati.
Seorang kandidat yang bersiap untuk posisi level menengah telah menyelesaikan jauh lebih dari dua ratus soal dan tetap tersendat dalam rangkaian wawancara. Rekaman sesi latihannya menunjukkan penyebabnya: sebelas menit keheningan sebelum baris kode pertama muncul. Solusinya bukan lebih banyak soal, melainkan menyelesaikan ulang tiga soal yang sudah pernah dikerjakan sambil menjelaskan setiap keputusan dengan suara keras.
Menjalankan latihan lisan berwaktu semacam itu melawan pewawancara AI bisa dilakukan di halaman mock interview.
Menutup kesenjangan antara menyelesaikan soal dan menjelaskannya
Ubah bagian akhir persiapan Anda menjadi latihan performa. Selesaikan ulang soal-soal yang sudah familiar dengan suara keras menggunakan pengatur waktu, sebutkan pendekatannya sebelum mengetik, dan paksa diri Anda untuk menyampaikan kompleksitasnya tanpa diminta. Rekam sebuah sesi dan dengarkan jeda-jeda hening, karena itulah yang dialami oleh pewawancara.
SubcueAI dibangun untuk babak-babak lisan dalam rangkaian wawancara, bukan untuk babak coding. Aplikasi native macOS dan Windows menangkap audio sistem beserta mikrofon Anda dan menampilkan saran dalam overlay lokal yang mengambang; Side Panel pada ekstensi browser melakukan live assist untuk tab rapat di browser berbasis Chromium, hanya menangkap audio dari tab tersebut. Tidak ada bot rapat yang bergabung ke panggilan, dan tidak ada apa pun yang disisipkan ke halaman rapat.
Batasannya perlu dinyatakan dengan jelas. Babak coding Microsoft biasanya berarti berbagi layar Anda, dan apa pun yang ada di layar Anda ikut berada dalam berbagi itu. Di mana asisten ini berlaku adalah percakapan dengan perekrut, babak perilaku (behavioral), dan diskusi desain. Apa yang ditangkap dan disimpan dalam babak-babak tersebut ada di halaman security.