Pertanyaan Interview Angular yang Perlu Diketahui

Oleh Aaron Cao · Diperbarui

Pertanyaan Interview Angular yang Perlu Diketahui
Harapkan change detection lebih dulu: apa yang memicu pengecekan, apa yang diubah OnPush, dan bagaimana signals berperan. Lalu dependency injection, pemilihan operator RxJS, dan pembersihan subscription. Sebagian besar sesi menambahkan latihan langsung, biasanya pencarian typeahead yang dibangun dengan service, debounceTime, dan switchMap.

Harapkan change detection lebih dulu: apa yang memicu pengecekan, apa yang diubah OnPush, dan bagaimana signals berperan. Lalu dependency injection, pemilihan operator RxJS, dan pembersihan subscription. Sebagian besar sesi menambahkan latihan langsung, biasanya pencarian typeahead yang dibangun dengan service, debounceTime, dan switchMap.

Konsep Angular apa yang paling sering ditanyakan?

Permukaan API Angular sangat luas, dan daftar pertanyaan yang beredar memperlakukan setiap decorator seolah sama-sama mungkin muncul. Padahal tidak. Bagian ini membahas area yang benar-benar menentukan sebagian besar sesi, agar latihan Anda sesuai distribusi nyata. Empat kelompok mendominasi:

  • Change detection: apa yang memicu pengecekan, bagaimana Zone.js menambal API asinkron, apa yang diubah OnPush, dan bagaimana signals memungkinkan Angular melewati pekerjaan.
  • Dependency injection: injector hierarkis, providedIn, injection token, dan fungsi inject() dibanding parameter konstruktor.
  • RxJS: observable dibanding promise, memilih operator yang tepat, dan membersihkan subscription sebelum komponen dihancurkan.
  • Arsitektur komponen: standalone component, input dan output, content projection, dan lifecycle hook.

Kesadaran versi lebih penting di sini dibanding sebagian besar sesi framework lain, karena Angular berganti arah. Standalone component, blok control flow bawaan @if dan @for, deferrable view, dan signals semuanya muncul di versi mayor terbaru, jadi pewawancara sering bertanya apa yang akan Anda tulis hari ini dibanding yang dipakai basis kode lama. Menguasai keduanya, dan tahu alasan framework berpindah, terdengar lebih baik daripada memihak salah satu.

Seberapa dalam pertanyaan RxJS dan signals?

Lebih dalam dari sekadar nama operator. Pertanyaan RxJS yang membedakan level adalah operator flattening mana yang cocok: switchMap membatalkan request inner sebelumnya dan cocok untuk typeahead, mergeMap menjalankan semuanya secara paralel, concatMap menjaga urutan, dan exhaustMap mengabaikan event baru selama satu masih berjalan, itulah sebabnya cocok untuk tombol submit. Pewawancara lalu bertanya soal kebocoran: apa yang terjadi pada subscription manual saat komponen dihancurkan, dan mengapa async pipe atau takeUntilDestroyed menghilangkan masalah itu.

Pertanyaan signals lebih baru dan biasanya dimulai dari motivasi, bukan API. Bersiaplah menjelaskan apa itu signal, bagaimana computed diturunkan darinya, untuk apa effect digunakan, dan mengapa signals memberi Angular cara yang lebih presisi untuk tahu apa yang berubah dibanding memeriksa ulang seluruh pohon komponen. Jawaban kuat menghubungkan kedua topik: signals dan OnPush sama-sama mengurangi pekerjaan change detection, tapi signals melakukannya dengan melacak pembacaan, bukan dengan mempersempit kapan pengecekan berjalan.

Pewawancara tidak berharap Anda sudah memakai setiap fitur terbaru. Mereka berharap Anda menyebutkan versi terakhir yang Anda pakai dan bernalar jernih soal sisanya.

Latihan coding langsung apa yang harus disiapkan?

Sebagian besar sesi Angular mencakup membangun sesuatu yang kecil sambil diawasi pewawancara. Latihan yang berulang stabil di berbagai perusahaan:

  • Memanggil API dari service dan merender hasilnya dengan async pipe.
  • Membangun pencarian typeahead dengan debounceTime, distinctUntilChanged, dan switchMap.
  • Menulis reactive form dengan validator kustom dan status error yang terlihat.
  • Meneruskan data antara komponen parent dan child, lalu mengangkatnya ke service.
  • Menambahkan rute dengan komponen lazy-loaded dan guard.

Seorang front-end engineer yang mewawancara untuk peran produk mid-level, misalnya, mungkin membangun typeahead, lalu ditekan soal apa yang terjadi jika respons datang tidak berurutan, cara menampilkan status loading, dan apa yang harus terjadi saat pengguna menghapus input. Perluasan itulah yang menentukan hasil sesi, jadi latih follow-up-nya, bukan hanya jalur mulus. Kumpulan bersebelahan yang masih sering dibuka sesi Angular, termasuk dasar JavaScript dan TypeScript, ada di pusat bank soal.

Bagaimana berlatih agar terbawa ke sesi sesungguhnya?

Membaca daftar pertanyaan membangun pengenalan, bukan daya ingat, sementara sesi menguji daya ingat saat diawasi orang lain. Solusinya adalah repetisi dalam bentuk nyata sesi: bangun latihan standar dari proyek kosong, narasikan keputusan change detection dan subscription dengan suara keras sambil mengetik, dan serap interupsi tanpa kehilangan alur. Menjalankan rangkaian ini sebagai gladi lisan, satu pertanyaan sekaligus dengan follow-up, adalah fungsi latihan mock interview.

Satu batasan yang perlu dinyatakan jelas: sesi live Angular hampir selalu berjalan di editor bersama atau dengan layar Anda terlihat, dan apa pun di layar itu terlihat oleh pewawancara. Asisten cocok untuk persiapan dan sesi berbasis percakapan, bukan di layar yang dibagikan. Format mana yang mengizinkan apa dibahas di jenis interview.

FAQ

Apakah saya masih perlu tahu NgModules?

Pada level membaca, ya. Banyak Angular produksi masih berjalan di NgModules, jadi siapkan diri ditanya apa yang dideklarasikan modul dan bagaimana providedIn menggantikan sebagian besar array provider. Pertanyaan kode baru memakai standalone component, yang kini menjadi default di versi terbaru.

Apakah AngularJS sama dengan Angular?

Tidak, dan pewawancara kadang mengeceknya. AngularJS adalah lini 1.x dengan scope, digest cycle, dan controller. Angular dari versi 2 ke atas adalah framework terpisah yang dibangun di atas TypeScript dan komponen. Jika deskripsi pekerjaan menyebut AngularJS, pastikan mana yang mereka maksud sebelum bersiap.

Seberapa banyak RxJS yang saya perlukan jika tim memakai signals?

Tetap banyak. Signals menangani state komponen dengan baik, tapi panggilan HTTP, event router, dan aliran nilai form tetap observable, jadi pemilihan operator dan pembersihan tetap muncul. Tim mencampur keduanya, dan menjelaskan di mana masing-masing cocok adalah pertanyaan senior yang umum.

Apakah pewawancara bertanya soal testing?

Biasanya sebagai strategi, bukan hafalan API. Bersiaplah ditanya apa yang akan Anda uji di level komponen dibanding end to end, bagaimana TestBed menyiapkan komponen, dan bagaimana Anda memalsukan service. Menyebutkan trade-off lebih penting daripada mengucapkan nama matcher.

Berapa banyak versi Angular yang harus bisa saya bahas?

Versi yang Anda pakai, plus apa yang berubah sejak itu. Pewawancara bertanya soal standalone component, blok control flow, dan signals karena jawaban itu menandakan kebaruan. Menyebutkan versi terakhir yang Anda kirim dan bernalar soal sisanya adalah jawaban lengkap.

Pertanyaan terkait

← Selengkapnya tentang Pertanyaan Wawancara Berdasarkan Peran & Topik