Pertanyaan wawancara dengan perincian jawaban — Halaman 48 dari 52

Buka halaman 48 dari pembahasan pertanyaan dan jawaban wawancara Offer.cc lengkap dengan penalaran, detail implementasi, pertanyaan lanjutan, dan sumber publik.

BackendSulit

Wawancara Backend: Bagaimana Seharusnya Timeout, Retry, dan Circuit Breaker Bekerja Bersama?

Rancang panggilan dependensi sinkron dengan batas waktu (deadline) end-to-end, matriks semantik kegagalan, dan anggaran retry, lalu batasi kegagalan beruntun (cascading failure) dengan circuit breaker, probe terbatas, dan fault injection.

Buka tanya jawab
DataSulit

Wawancara Data Engineering: Bagaimana Cara Melakukan Backfill Data Historis Skala Besar Secara Aman?

Bagi komputasi ulang 180 TB menjadi partisi-partisi yang dapat dipulihkan, lalu lindungi pipeline produksi dengan input deterministik, isolasi sumber daya, delta catch-up, gerbang validasi, dan cutover berversi.

Buka tanya jawab
CodingSulit

Wawancara coding: Mengimplementasikan penjadwal work-stealing

Bangun deque per-worker dengan LIFO lokal dan stealing FIFO jarak jauh, lalu pertimbangkan shutdown, status idle, keadilan (fairness), dan eksekusi duplikat.

Buka tanya jawab
Desain sistemSulit

Wawancara Desain Sistem: Bagaimana Anda Mendesain Personalized News Feed?

Desain personalized news feed yang berpusat pada pembuatan kandidat (candidate generation), hybrid fan-out, pemeringkatan bertahap (staged ranking), penomoran halaman yang stabil (stable pagination), pemfilteran otorisasi, serta pemulihan dari hotspot selebritas dan konsistensi akhir (eventual consistency).

Buka tanya jawab
BackendSulit

Wawancara Backend: Bagaimana Cara Mendiagnosis dan Memperbaiki Masalah N+1 Query?

Deteksi jumlah kueri yang bertambah secara linier seiring ukuran halaman, bandingkan JOIN dan pemuatan batch select-in, serta verifikasi perbaikannya tanpa menyembunyikan overfetching atau perubahan konsistensi.

Buka tanya jawab
DataSulit

Wawancara Data Engineering: Bagaimana Cara Mendiagnosis dan Memperbaiki Spark Data Skew?

Buktikan data skew pada Spark menggunakan UI, rencana eksekusi, dan distribusi key, lalu pilih AQE, broadcast, targeted join salting, atau agregasi dua tahap serta verifikasi kebenaran (correctness) dan performanya.

Buka tanya jawab
CodingSulit

Wawancara coding: Mengimplementasikan request coalescing per kunci (singleflight)

Implementasikan deduplikasi in-flight berdasarkan kunci dengan hasil bersama, percobaan ulang setelah kegagalan, pembersihan aman dari race condition, dan semantik pembatalan eksplisit.

Buka tanya jawab
Desain sistemSulit

Wawancara Desain Sistem: Mendesain Consistent Hashing dengan Node Virtual

Turunkan hash ring dari pemetaan ulang modulo, lalu rancang consistent hashing dengan node virtual, bobot, replika, dan migrasi berversi sambil mengidentifikasi masalah hot-key dan kegagalan yang tidak dapat diselesaikannya.

Buka tanya jawab
BackendSulit

Wawancara Backend: Jelaskan OAuth Authorization Code Flow dengan PKCE

Pahami alur OAuth authorization code melintasi otorisasi, callback, dan pertukaran token; bedakan state, PKCE, autentikasi klien, dan OIDC; lalu verifikasi rancangannya dengan serangan dan pengujian kegagalan.

Buka tanya jawab
DataSulit

Wawancara SQL: Menghitung Retensi Kohort Hari ke-7 Tepat

Bangun kueri retensi kohort Hari ke-7 yang tepat di PostgreSQL, dengan zona waktu hari kalender, pemfilteran kohort matang, deduplikasi tingkat pengguna, pelestarian zero-return, dan pemeriksaan produksi.

Buka tanya jawab
CodingSulit

Wawancara coding: Bagaimana Anda merancang parser ekspresi dengan pemulihan kesalahan (error-recovering)?

Bangun proses lexing, parsing, sinkronisasi, diagnostik, dan AST parsial sehingga satu kesalahan sintaksis tidak membatalkan seluruh dokumen.

Buka tanya jawab
Desain sistemSulit

System Design Interview: Mendesain Sistem Pemrosesan Pembayaran E-commerce

Menurunkan sistem pembayaran e-commerce yang dapat dipulihkan (recoverable) dari payment intent, otorisasi dan penangkapan (capture), percobaan ulang idempoten, webhook asinkron, buku besar uang yang tidak dapat diubah (immutable ledger), pengembalian dana (refund), dan rekonsiliasi.

Buka tanya jawab
BackendSulit

Wawancara Backend: Bagaimana Cara Anda Mencegah SQL Injection?

Pisahkan kode SQL dari data menggunakan parameterisasi sisi server, petakan identifier dinamis melalui allowlist tetap, pertahankan otorisasi tenant, serta verifikasi jalur raw-query, stored procedure, dan eksekusi second-order.

Buka tanya jawab
DataSulit

Wawancara SQL: Temukan Rentetan Login Beruntun Terpanjang Setiap Pengguna

Selesaikan masalah wawancara gaps-and-islands PostgreSQL dengan menetapkan grain hari bisnis, menurunkan group key yang stabil dengan ROW_NUMBER, mempertahankan rentetan terpanjang yang bernilai seri (tied), serta menguji kasus edge zona waktu dan duplikasi event.

Buka tanya jawab
CodingSulit

Wawancara Coding: Bagaimana cara mengimplementasikan penjadwal tugas prioritas yang dapat dibatalkan?

Mengimplementasikan penjadwal simpul tunggal (single-node) dengan tenggat waktu, prioritas, penggantian tugas duplikat, dan pembatalan sambil menangani entri heap yang basi, batas pekerja (worker limits), dan race condition saat shutdown.

Buka tanya jawab
Desain sistemSedang

Wawancara Desain Sistem: Mendesain URL Shortener

Desain pemendek URL yang tahan lama dan berlatensi rendah dengan menurunkan ruang kode, penyimpanan, cache, pengalihan, idempoten, kedaluwarsa, dan kontrol penyalahgunaan dari asumsi lalu lintas yang eksplisit.

Buka tanya jawab
BackendSulit

Wawancara Backend: Bagaimana Cara Menentukan Ukuran Connection Pool Database dan Mendiagnosis Kehabisan Koneksi?

Turunkan batas connection pool dari anggaran database global, konkurensi permintaan, dan jumlah replika, lalu bedakan antara pool yang kekecilan, kebocoran koneksi, dan overload database menggunakan antrean aplikasi serta bukti sesi PostgreSQL.

Buka tanya jawab
DataSulit

Wawancara Data Engineering: Bagaimana Cara Anda Mendebug Angka Dashboard yang Salah?

Mulailah dengan semantik metrik dan pembanding yang tepercaya, lacak silsilah data (lineage) ke batas pertama yang rusak, lalu pulihkan kepercayaan melalui pembendungan (containment), backfill yang idempoten, rekonsiliasi, dan data contract.

Buka tanya jawab
CodingSedang

Wawancara coding: Mengimplementasikan async map dengan pembatasan konkurensi beserta pembatalan

Gunakan worker tetap, hasil terindeks, mode error eksplisit, dan AbortSignal untuk menyelesaikan masalah scheduler asinkron.

Buka tanya jawab
Desain sistemSulit

Wawancara Desain Sistem: Merancang Message Queue Terdistribusi

Menghasilkan message queue multi-tenant yang scalable dan dapat diputar ulang (replayable) dari kontrak pengiriman, log terpartisi, acknowledgment replika, offset konsumen, dan jalur penyimpanan objek untuk payload besar.

Buka tanya jawab
BackendSulit

Bagaimana Cara Melakukan Migrasi Skema PostgreSQL Tanpa Downtime?

Mulailah dengan kompatibilitas rolling-deployment, lalu rancang alur kerja expand-backfill-cutover-contract yang dapat dibatalkan (abortable) untuk menangani lock DDL PostgreSQL, dual writes, validasi constraint, indeks, dan rollback khusus fase.

Buka tanya jawab
DataSulit

Wawancara Data Engineering: Bagaimana Cara Merancang Pipeline Fitur ML Tanpa Training-Serving Skew?

Menggunakan penilaian penipuan (fraud scoring) real-time, rancang pipeline fitur ML yang dapat diverifikasi dengan kontrak semantik, dua clock, offline dan online store, peluncuran berversi, serta pemutaran ulang (replay) vektor fitur.

Buka tanya jawab
CodingSulit

Wawancara Koding: Mengimplementasikan Penyimpanan Nilai Kunci Berversi Waktu (Time-Versioned Key-Value Store)

Implementasikan set/get dengan riwayat versi per kunci dan pencarian biner batas atas (upper-bound binary search), mencakup stempel waktu yang tidak berurutan, kesamaan nilai (ties), batas waktu, dan kompromi memori.

Buka tanya jawab
Desain sistemSulit

Wawancara Desain Sistem: Bagaimana Anda Mendesain Sistem Pemantauan Metrik dan Peringatan?

Mulailah dengan anggaran time-series dan kardinalitas, lalu rancang platform metrik dengan pengumpulan throughput tinggi, kueri berbatas, peringatan andal, isolasi penyewa, dan pemulihan yang dapat diuji.

Buka tanya jawab