Pertanyaan wawancara dengan perincian jawaban — Halaman 45 dari 52

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

CodingSulit

Wawancara Koding: Bagaimana Cara Mencari Pola dengan Suffix Array?

Ubah kueri substring teks tetap menjadi dua pencarian biner pada suffix array, lengkap dengan konstruksi, kompleksitas, dan kasus batas (edge case).

Buka tanya jawab
Desain sistemSulit

Wawancara System Design: Bagaimana Cara Mengisolasi Noisy Tenant dan Menjadwalkan secara Adil?

Rancang layanan multi-tenant berdasarkan identitas tenant, anggaran sumber daya, dan tingkatan isolasi, menggunakan kuota, antrean yang adil (fair queues), dan shuffle sharding untuk membatasi blast radius dari tenant yang bising (noisy tenant).

Buka tanya jawab
FrontendSedang

Mengimplementasikan Event Emitter di JavaScript

Menurunkan EventEmitter JavaScript dari kontrak eksplisit, menangani pendaftaran duplikat, mutasi listener selama pengiriman (dispatch), listener once yang bersifat reentrant, dan propagasi error, lalu memverifikasi semantik tersebut dengan kasus-kasus batas (boundary cases).

Buka tanya jawab
BackendSulit

Wawancara Backend: Bagaimana Cara Anda Melindungi Layanan dari Kelebihan Beban (Overload)?

Rancang perlindungan kelebihan beban dengan sinyal saturasi, konkurensi berbatas, load shedding selektif, degradasi halus (graceful degradation), dan loop pemulihan terkendali yang mempertahankan pekerjaan berguna saat terjadi lonjakan permintaan berlebih.

Buka tanya jawab
DataSulit

Wawancara SQL: Melakukan Sessionize pada Event Pengguna dengan Batas Inaktivitas 30 Menit

Gunakan PostgreSQL LAG, flag batas, dan running window sum untuk melakukan sessionize pada event sambil menangani batas tepat 30 menit, pengurutan deterministik, rentang kueri, data terlambat, dan verifikasi.

Buka tanya jawab
ProdukSedang

Cara Menjawab ‘Apa Produk Favorit Anda dan Bagaimana Anda Akan Meningkatkannya?’

Bangun tesis produk dari perjalanan pengguna dan tradeoff yang eksplisit, lalu turunkan satu peningkatan dari masalah pengguna yang dapat diuji dengan metrik hasil dan guardrail risiko.

Buka tanya jawab
UmumSulit

Wawancara Linux: Bagaimana Cara Mendiagnosis OOM Kill?

Konfirmasikan cakupan OOM dari exit status, event cgroup, dan log kernel, lalu pisahkan alokasi memori, bedakan kebocoran memori dari limit yang terlalu kecil, dan lakukan remediasi dengan aman.

Buka tanya jawab
CodingSulit

Wawancara coding: Mengimplementasikan radix heap integer monoton

Gunakan invarian kunci terekstraksi yang tidak menurun (nondecreasing) dan ember (bucket) bit berbeda tertinggi untuk membangun antrean prioritas integer serta jelaskan biaya teramortisasinya.

Buka tanya jawab
Desain sistemSulit

System Design Interview: Mendesain Sistem Penagihan Langganan (Subscription Billing)

Desain penagihan berulang (recurring billing) dengan state machine langganan, snapshot faktur yang immutable, upaya pembayaran yang idempoten, pengurutan webhook, prorasi, dunning, rekonsiliasi, dan pemulihan hak akses (entitlement).

Buka tanya jawab
FrontendSedang

Bagaimana Cara Mengimplementasikan Promise.all dengan Pengurutan dan Semantik Kegagalan yang Benar?

Turunkan implementasi Promise.all dari kontrak iterable, yang mencakup plain values, thenable, input kosong, hasil yang berurutan, dan penolakan fail-fast, lalu validasi dengan kasus-kasus batas (boundary cases).

Buka tanya jawab
BackendSulit

Wawancara Backend: Bagaimana Cara Anda Menyelesaikan Masalah Dual-Write Database dan Message Broker?

Rancang transactional outbox yang membuat intensi event menjadi durable, lalu lakukan penalaran terkait crash pada relay, duplikasi pengiriman, pengurutan per agregat, idempotent consumer, dan pengujian injeksi kegagalan.

Buka tanya jawab
DataSulit

Wawancara Data Science: Bagaimana Cara Memvalidasi Model Forecasting Time-Series Tanpa Kebocoran (Leakage)?

Bekerjalah mundur dari origin forecast nyata untuk merancang backtest rolling-origin, tegakkan ketersediaan fitur, berikan skor horizon dan kota secara terpisah, serta sisihkan holdout final untuk pipeline yang terpilih.

Buka tanya jawab
ProdukSulit

Wawancara Product Manager: Bagaimana Anda Mendiagnosis Penurunan 15% pada DAU?

Gunakan validasi metrik, analisis kontribusi absolut, nested funnel, dan bukti linimasa untuk menemukan anomali DAU serta memutuskan apakah harus memperbaiki data, menghentikan rollout, atau melakukan rollback.

Buka tanya jawab
UmumSulit

Wawancara Linux: Mengapa Load Average Tinggi Saat Penggunaan CPU Rendah, dan Bagaimana Cara Mendiagnosisnya?

Mulailah dengan penghitungan runnable dan uninterruptible-task di Linux, lalu gunakan status R/D, PSI, wchan, dan metrik subsistem untuk mendiagnosis beban tinggi dengan penggunaan CPU rendah serta memverifikasi perbaikannya.

Buka tanya jawab
CodingSulit

Wawancara Coding: Bagaimana Cara Menyelesaikan Offline Dynamic Connectivity dengan DSU Rollback?

Turunkan solusi dynamic connectivity offline dari union-find menggunakan segment tree berdasarkan waktu dan rollback, termasuk penghapusan, invarian, edge case, dan kompleksitas.

Buka tanya jawab
Desain sistemSulit

Wawancara Desain Sistem: Mendesain Multi-Region API Gateway

Desain sebuah API gateway untuk 300 layanan dan 500.000 permintaan puncak per detik, mencakup routing, autentikasi, peluncuran konfigurasi, kegagalan regional, beban berlebih, dan observabilitas.

Buka tanya jawab
BackendSulit

Wawancara Backend: Bagaimana Cara Menyimpan Password Secara Aman dan Memigrasikan Hash Warisan?

Mulailah dengan ancaman offline-cracking, lalu rancang parameter Argon2id, kredensial berversi, migrasi saat login, penanganan akun tidak aktif, rotasi pepper, dan perlindungan kapasitas.

Buka tanya jawab
DataSedang

Wawancara SQL: Menghitung Rolling 7-Day Active Users

Hitung rolling 7-day active users secara persis menggunakan calendar spine, deduplikasi user-day yang benar terhadap zona waktu, dan distinct union di setiap trailing window, lalu tangani gap data, late event, serta skalabilitas.

Buka tanya jawab
ProdukSedang

Bagaimana Anda Memprioritaskan Permintaan Fitur yang Saling Bersaing?

Bandingkan permintaan yang saling bersaing melalui sasaran, batasan mutlak (hard constraints), kualitas bukti, biaya penundaan (cost of delay), dan biaya peluang (opportunity cost); buat satu keputusan; serta dokumentasikan komitmen, rencana cadangan (fallback plans), dan pemicu untuk peninjauan kembali.

Buka tanya jawab
UmumSedang

Wawancara Jaringan: Bagaimana HTTP/3 Mengatasi Head-of-Line Blocking pada HTTP/2?

Gunakan lini masa packet-loss untuk menjelaskan blocking TCP lintas stream pada HTTP/2, isolasi stream QUIC pada HTTP/3, serta waktu tunggu yang tersisa pada retransmission, congestion control, flow control, dan QPACK.

Buka tanya jawab
CodingSulit

Wawancara coding: Mengimplementasikan interval tree untuk query tumpang tindih (overlap)

Augmentasikan balanced tree dengan batas akhir maksimum subtree untuk menjawab query overlap secara online dan jelaskan rotasi, penghapusan, serta kompleksitasnya.

Buka tanya jawab
Desain sistemSulit

Wawancara System Design: Mendesain Proximity Service untuk Tempat Terdekat

Dapatkan candidate set geospasial, verifikasi jarak eksak, dan paginasi yang stabil untuk layanan tempat terdekat yang menangani batas sel, wilayah padat (hot region), pembatalan cache, dan kegagalan shard.

Buka tanya jawab
BackendSulit

Wawancara PostgreSQL: Bagaimana Cara Kerja MVCC dan VACUUM Bersama-sama?

Lacak visibilitas baris PostgreSQL dari snapshot MVCC melalui cleanup horizon, autovacuum, penggunaan kembali disk, diagnosis bloat, pembaruan HOT, dan pembekuan XID.

Buka tanya jawab
DataSulit

Wawancara Data Engineering: Kapan Anda Harus Menggunakan Batch, Micro-Batch, atau Stream Processing?

Turunkan kapan harus menggunakan batch, micro-batch, atau continuous stream processing dari tenggat waktu tindakan bisnis, lalu buktikan pilihan tersebut dengan anggaran latensi, revisi hasil, biaya, dan verifikasi bayangan (shadow verification).

Buka tanya jawab