Kerangka TECT: Cara Lolos Interview Coding

TThe Coding Koala
Job SearchAdult EducationComputing/Software

Transcript

00:00:00Mari kita bahas tentang wawancara coding. Percaya atau tidak, insinyur perangkat lunak membenci wawancara coding
00:00:05lebih dari mereka membenci bersosialisasi. Mungkin bukan masalah besar jika Anda adalah tipe orang yang telah
00:00:09melahap 500 soal LeetCode. Tapi bagi kita yang sering mengantuk saat mencoba memecahkan satu soal
00:00:16dan diam-diam minta bantuan AI agar soal tersebut dianggap selesai, ini masalah besar. Tapi inilah bagian
00:00:21terburuknya. Bahkan jika Anda sudah menyelesaikan 500 soal LeetCode, Anda tetap bisa ditolak. Itu bukan
00:00:27sekadar pendapat saya. Saya sempat menelusuri Reddit, membaca kisah nyata dari kandidat yang sudah melakukan segalanya
00:00:33dengan benar namun tetap gagal. Jadi jika Anda tidak ingin hal itu terjadi, video ini akan membantu Anda. Karena hari ini
00:00:38saya akan memberikan kerangka kerja yang jelas dan bisa diulang yang bisa Anda gunakan untuk menaklukkan
00:00:43wawancara coding Anda. Saya menyebutnya TECT. Kerangka kerja ini membantu saya mendapatkan pekerjaan pertama saya dan setelah meneliti
00:00:49bagaimana kandidat sukses beraksi di sesi wawancara, saya menyadari sesuatu yang menarik. Kebanyakan dari mereka
00:00:54secara tidak sadar mengikuti proses yang persis sama. Jadi mari kita lihat bagaimana Anda bisa menggunakan kerangka kerja TECT ini dalam
00:01:00wawancara coding Anda. Jadi, T dalam kerangka kerja TECT berarti Think atau berpikir. Apa artinya adalah misalkan
00:01:06wawancara coding Anda baru saja dimulai dan pewawancara memberikan sebuah pertanyaan kepada Anda. Maka tahap
00:01:10pertama adalah memikirkan solusinya. Banyak dari Anda mungkin berpikir bahwa ini sangat jelas,
00:01:16tapi dengarkan saya dulu. Kesalahan yang harus Anda hindari di fase ini adalah memikirkan
00:01:21solusi yang paling optimal sejak awal. Jangan pikirkan dulu soal penggunaan memori atau kecepatan kode.
00:01:26Pikirkan saja bagaimana cara menyelesaikannya. Tapi bagaimana jika Anda sudah tahu solusi optimalnya? Ada kalanya
00:01:31Anda sudah familier dengan pertanyaannya dan sudah tahu solusi optimalnya. Apa yang
00:01:35harus Anda lakukan? Saya akan menjawab ini di fase kedua. Jadi, hasil dari fase pertama ini
00:01:40seharusnya adalah Anda memiliki gambaran solusi di pikiran Anda tentang cara menyelesaikannya. Setelah Anda tahu cara
00:01:44menyelesaikannya, itu membawa kita ke fase kedua: Explain atau menjelaskan. Apa yang dilakukan kebanyakan orang adalah mereka hanya
00:01:50memikirkan solusinya dan langsung lompat ke implementasi tanpa mengucapkan sepatah
00:01:55kata pun. Tapi itu adalah tanda bahaya bagi kebanyakan pewawancara. Apa yang seharusnya Anda lakukan adalah
00:02:00setelah Anda memiliki solusi di pikiran, jelaskanlah kepada pewawancara tentang
00:02:04solusi tersebut dan proses berpikir Anda secara keseluruhan. Misalkan pertanyaan yang Anda dapatkan di wawancara adalah
00:02:08masalah “three sum” yang terkenal itu. Jadi, daripada hanya berpikir dan langsung menulis kode, pikirkan dan komunikasikan
00:02:14dengan pewawancara terlebih dahulu. Anda bisa mengatakan sesuatu seperti, “Karena kita perlu mencari tiga angka yang
00:02:19jumlahnya mencapai target, salah satu pendekatan langsungnya adalah dengan menggunakan loop bersarang untuk mengecek setiap kemungkinan
00:02:23kombinasi.” Dengan cara ini, sampaikan seluruh pemikiran Anda tentang cara Anda menyelesaikannya dan mengapa
00:02:28metode itu akan berhasil. Jadi jika Anda sudah pernah mengerjakan soal itu sebelumnya dan tahu jawabannya, jangan langsung
00:02:33membahas solusi optimal terlebih dahulu. Sebelum itu, sampaikan dulu solusi brute force-nya. Itu karena langsung
00:02:39membahas solusi optimal bisa membuat Anda terlihat seolah-olah hanya menghafalnya. Jadi untuk menghindari itu, mulailah
00:02:45dengan menjelaskan proses berpikir Anda dari pendekatan brute force, baru kemudian bicarakan tentang
00:02:49solusi optimalnya setelah itu. Anda bisa bilang seperti, “Cara ini berhasil tapi tidak optimal. Alih-alih
00:02:55menggunakan tiga loop, kita bisa mengurutkan array-nya dan menggunakan pendekatan two-pointer untuk mengurangi kompleksitas waktu,”
00:03:01lalu jabarkan seluruh proses berpikir Anda. Sebelum kita lanjut ke bagian berikutnya dari
00:03:05kerangka kerja TECT, saya ingin bicara sejenak tentang sponsor video ini. Jika menurut Anda LeetCode itu
00:03:11sulit dan Anda selalu berakhir dengan menghafal solusi, Algo Monster cocok untuk Anda. Ini adalah platform persiapan
00:03:16wawancara coding yang berfokus pada pembelajaran berbasis pola, bukan latihan acak. Konsepnya
00:03:22sederhana. Kebanyakan pertanyaan wawancara dibangun dari sekumpulan kecil pola inti, dan begitu Anda benar-benar
00:03:27memahami pola-pola tersebut, Anda tidak perlu lagi menghafal ratusan soal. Mereka menyediakan diagram alir
00:03:32untuk membantu Anda mendekati pertanyaan apa pun secara sistematis plus templat kode yang bisa Anda terapkan
00:03:38saat wawancara. Algo Monster bukan sekadar platform di mana Anda hanya mendapatkan daftar soal untuk latihan.
00:03:44Ia memberikan cara yang lebih terstruktur dan efisien untuk mempersiapkan diri menghadapi
00:03:47wawancara coding Anda. Tersedia paket gratis dan jika Anda mau, Anda juga bisa mencoba versi berbayar
00:03:52untuk mendapatkan nilai lebih dan struktur dalam pembelajaran Anda. Anda bisa dapat diskon 50%. Link-nya ada di
00:03:58deskripsi. Sekarang mari kita kembali ke langkah berikutnya dari kerangka kerja TECT. Sekarang Anda sudah punya
00:04:02solusi, sudah menjelaskannya ke pewawancara, dan tibalah fase berikutnya: Code. Fase ini cukup jelas.
00:04:08Anda tinggal menulis kode untuk solusi Anda. Tapi di sinilah banyak pengembang melakukan kesalahan. Mereka tetap diam
00:04:13saat menulis kode. Dalam kebanyakan wawancara, pewawancara akan meminta Anda menjelaskan kode yang Anda tulis. Jadi jika
00:04:18Anda menulis kodenya dalam diam, pewawancara kemungkinan besar akan bertanya setelahnya untuk menjelaskan kode Anda.
00:04:23Padahal akan lebih baik jika Anda menjelaskannya saat Anda sedang menulisnya. Misalnya saat Anda mulai coding.
00:04:28Anda menginisialisasi array kosong untuk menyimpan hasil. Untuk menjelaskan apa tujuannya, Anda bisa mengatakan
00:04:33sesuatu seperti, “Jadi saya akan menginisialisasi array kosong untuk menyimpan hasil dan melanjutkan penjelasan
00:04:39untuk baris kode berikutnya.” Percayalah, ini sangat efektif dan pewawancara akan menyukainya. Ini juga
00:04:45membantu memastikan adanya interaksi yang konstan antara Anda dan pewawancara sekaligus membuktikan
00:04:50bahwa Anda benar-benar tahu apa yang Anda kerjakan. Masalah lain yang mungkin Anda hadapi adalah Anda mungkin lupa
00:04:55suatu sintaks atau lupa nama fungsi. Dalam hal itu, jangan membuat kesalahan dengan terpaku pada baris yang sama,
00:05:01mencoba mengingatnya. Jika Anda tidak ingat, Anda bisa meninggalkan komentar kecil dan lanjut saja menulis kodenya
00:05:06lalu kembali ke baris tersebut setelah Anda selesai. Dengan cara ini, Anda tidak akan membuang waktu hanya untuk
00:05:11mengingat satu sintaks saja. Jika Anda benar-benar tidak ingat sama sekali, akui saja kepada pewawancara.
00:05:16Terkadang mereka malah akan memberi petunjuk atau menyuruh Anda mencarinya. Itu membawa kita ke tahap terakhir.
00:05:21Setelah kode Anda siap, hal berikutnya yang harus dilakukan adalah Test atau mengujinya. Dalam beberapa kasus, pewawancara mungkin
00:05:27memberi Anda input dan output yang diharapkan. Tapi jika tidak, Anda harus membuat kasus uji Anda sendiri.
00:05:32Cobalah pikirkan kasus uji dasar. Dan jika Anda bisa memikirkan edge cases, itu bahkan lebih baik. Pastikan saja
00:05:38kode Anda bisa menanganinya. Setelah Anda menjalankan kodenya, belum tentu 100% kodenya akan langsung jalan.
00:05:43Jadi ada dua kemungkinan. Kodenya akan jalan atau menunjukkan error. Jika jalan, bagus. Jika tidak,
00:05:48inilah yang perlu Anda lakukan. Pertama, jangan panik. Karena jika Anda sudah mengerjakan solusinya tadi
00:05:53dan yakin bahwa pendekatan Anda benar, itu hanyalah kesalahan sintaks atau kesalahan logika kecil. Jadi jangan panik,
00:05:59baca saja pesannya dan perbaiki. Kebanyakan orang bahkan tidak membaca pesan error-nya dengan teliti
00:06:05dan malah mulai membaca kode dari awal karena merasa tertekan. Tidak apa-apa jika tidak langsung jalan di
00:06:09percobaan pertama. Pewawancara tidak akan memotong poin hanya karena kesalahan kecil. Jadi jika semuanya berjalan lancar
00:06:14dan Anda beruntung, pewawancara mungkin hanya akan menanyakan beberapa pertanyaan dasar tentang solusinya
00:06:19dan lanjut ke pertanyaan berikutnya. Tapi jika Anda melamar untuk posisi tingkat menengah hingga senior,
00:06:24Anda mungkin akan ditanya soal pendekatan yang lebih optimal. Dalam kedua kasus tersebut, Anda tinggal mengulangi kerangka
00:06:30kerja TECT ini lagi untuk melalui wawancara Anda. Jadi, itulah kerangka kerja yang sederhana dan mudah diingat
00:06:34jika Anda akan menghadapi wawancara coding. Wawancara coding bukan hanya soal coding.
00:06:40Ini juga tentang komunikasi. Pewawancara tidak hanya ingin melihat kode Anda. Mereka ingin tahu
00:06:44apa yang Anda pikirkan dan bagaimana cara Anda berpikir. Ingatlah satu hal ini: komunikasi sangatlah
00:06:49penting bahkan dalam wawancara coding. Saya sudah berbicara dengan para perekrut dan mereka semua setuju bahwa jika
00:06:54kandidat tidak banyak berkomunikasi, itu adalah tanda bahaya bagi mereka. Jadi ingatlah hal ini dan jangan
00:06:59lupa cek Algo Monster untuk persiapan wawancara coding Anda. Sekian untuk video ini,
00:07:04semoga sukses dengan wawancara Anda. Jangan lupa berikan dukungan untuk video ini.
00:07:07Sampai jumpa di video berikutnya.

Key Takeaway

Keberhasilan wawancara coding ditentukan oleh kemampuan kandidat dalam mengomunikasikan proses berpikir secara terstruktur melalui kerangka kerja TECT, bukan sekadar menghafal solusi optimal.

Highlights

Wawancara coding bukan hanya tentang kemampuan menulis kode

Timeline

Masalah Utama dalam Wawancara Coding

Video dibuka dengan pengakuan bahwa banyak insinyur perangkat lunak membenci wawancara coding karena tekanannya yang tinggi. Pembicara menyoroti realitas pahit di mana kandidat yang sudah berlatih 500 soal LeetCode pun masih bisa mengalami kegagalan. Masalah ini sering terjadi karena kurangnya kerangka kerja yang jelas dalam menghadapi tantangan tersebut. Bagian ini menjelaskan bahwa keberhasilan membutuhkan strategi yang bisa diulang di setiap sesi wawancara. Oleh karena itu, diperkenalkanlah kerangka kerja bernama TECT sebagai solusi praktis bagi para kandidat.

Fase T: Think (Berpikir)

Tahap pertama dari TECT adalah Think atau berpikir, di mana kandidat harus fokus memikirkan solusi segera setelah pertanyaan diberikan. Kesalahan fatal yang sering dilakukan adalah mencoba mencari solusi paling optimal sejak awal yang justru membuang waktu. Pembicara menyarankan untuk mengabaikan penggunaan memori atau kecepatan kode pada menit-menit pertama. Fokus utamanya adalah memastikan bahwa kandidat memiliki gambaran kasar tentang bagaimana masalah tersebut bisa diselesaikan secara logika. Fase ini berakhir ketika kandidat sudah memiliki konsep solusi di dalam pikiran mereka.

Fase E: Explain (Menjelaskan)

Fase Explain menekankan pentingnya mengomunikasikan strategi sebelum mulai menulis satu baris kode pun di layar. Kandidat disarankan untuk memulai dengan menjelaskan solusi brute force agar tidak terlihat seperti sedang menghafal jawaban. Pembicara memberikan contoh kasus "three sum" untuk mengilustrasikan cara menyampaikan logika kepada pewawancara secara verbal. Setelah solusi dasar dipahami, barulah kandidat mendiskusikan optimasi seperti penggunaan algoritma yang lebih efisien atau struktur data yang tepat. Penjelasan ini membangun kepercayaan pewawancara terhadap kemampuan analisis mendalam yang dimiliki oleh kandidat tersebut.

Sponsor: Algo Monster

Bagian ini memperkenalkan Algo Monster sebagai platform yang membantu persiapan wawancara dengan pendekatan berbasis pola. Alih-alih melakukan latihan soal secara acak, platform ini fokus pada pola-pola inti yang mendasari sebagian besar pertanyaan wawancara. Mereka menyediakan diagram alir dan templat kode untuk membantu kandidat mendekati masalah secara sistematis dan efisien. Sponsor ini relevan bagi mereka yang merasa kesulitan menghafal ratusan soal di platform lain seperti LeetCode. Tersedia juga penawaran diskon bagi pengguna yang ingin mengakses fitur premium untuk persiapan yang lebih matang.

Fase C: Code (Menulis Kode)

Saat memasuki fase Code, kandidat harus menuliskan implementasi teknis dari solusi yang telah didiskusikan sebelumnya. Salah satu tips krusial di sini adalah tetap berbicara dan menjelaskan apa yang sedang ditulis agar tidak terjadi keheningan. Jika kandidat lupa pada sintaks tertentu, disarankan untuk meninggalkan komentar sementara dan melanjutkan logika utama agar waktu tidak terbuang. Mengakui keterbatasan pada fungsi tertentu justru lebih baik daripada terpaku diam dan terlihat buntu di depan pewawancara. Langkah ini memastikan adanya interaksi konstan yang membuktikan bahwa kandidat benar-benar menguasai alur kerja mereka.

Fase T: Test (Menguji) dan Penutup

Tahap terakhir adalah Test, di mana kandidat menguji kode mereka dengan berbagai kasus uji, termasuk edge cases yang menantang. Jika terjadi kesalahan atau error, pembicara menekankan agar kandidat tetap tenang dan membaca pesan error dengan teliti alih-alih panik. Kesalahan kecil seringkali hanya masalah sintaks atau logika ringan yang bisa diperbaiki dengan cepat jika kandidat tetap fokus. Video diakhiri dengan penegasan kembali bahwa komunikasi adalah kunci utama yang dicari oleh para perekrut di perusahaan teknologi. Kerangka kerja TECT ini dapat diterapkan berulang kali untuk berbagai tingkat kesulitan soal wawancara.

Community Posts

View all posts