Pertanyaan wawancara dengan perincian jawaban — Halaman 50 dari 52

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

CodingSedang

Wawancara coding: Bagaimana cara mengambil sampel secara seragam dari stream dengan panjang yang tidak diketahui?

Gunakan reservoir sampling untuk mempertahankan k item dengan probabilitas yang sama dalam satu lintasan dengan memori O(k), membuktikan invarian, dan menangani batasan.

Buka tanya jawab
Desain sistemSulit

Bagaimana Anda Merancang Generator ID Unik Terdistribusi?

Turunkan tata letak bit Snowflake dari batasan kapasitas, tangani rollback jam, identitas worker, kehabisan sequence, dan kegagalan multi-region, lalu bandingkan dengan UUIDv7 dan alokasi segmen.

Buka tanya jawab
DataSulit

Mengevaluasi Pengklasifikasi pada Data Tidak Seimbang

Turunkan metrik klasifikasi dan ambang batas keputusan dari confusion matrix, kapasitas peninjauan, dan biaya kesalahan, lalu jelaskan peran berbeda dari AUROC, precision-recall, kalibrasi, serta pemantauan base-rate.

Buka tanya jawab
CodingSulit

Wawancara coding: Bagaimana cara memaksimalkan reward dengan pekerjaan yang tidak tumpang tindih?

Gunakan weighted interval scheduling untuk menghubungkan pengurutan, binary search, dan pemrograman dinamis, dengan batasan yang tepat, pembuktian, kompleksitas, dan rekonstruksi.

Buka tanya jawab
Desain sistemSulit

Bagaimana Anda Merancang Distributed Job Scheduler?

Rancang penjadwal multi-tenant untuk tugas satu kali dan cron menggunakan identitas kemunculan, indeks waktu ter-shard, dan pengiriman at-least-once, sambil menangani lonjakan tersinkronisasi, misfire, zona waktu, race condition pembatalan, serta pemulihan.

Buka tanya jawab
DataSulit

Mendeteksi dan Mencegah Kebocoran Data dalam Machine Learning

Gunakan model fraud untuk mendefinisikan kontrak waktu prediksi, menyelidiki kebocoran target, temporal, entitas, dan prapemrosesan, serta membangun pembagian data, validasi silang, dan evaluasi holdout akhir yang kredibel.

Buka tanya jawab
CodingSedang

Wawancara Koding: Bagaimana Cara Mengimplementasikan Dynamic Array dan Membuktikan Append Teramortisasi O(1)?

Gunakan invarian kapasitas, pertumbuhan geometris, dan pembuktian amortisasi untuk mengimplementasikan dynamic array yang dapat diindeks serta jelaskan biaya ruang dan kasus terburuknya.

Buka tanya jawab
Desain sistemSulit

Mendesain Sistem Notifikasi Multi-Saluran

Dengan asumsi wawancara sebesar satu miliar tugas pengiriman saluran per hari, rancang sistem notifikasi untuk OTP dan kampanye pemasaran, dengan isolasi prioritas, status pengiriman yang akurat, callback yang tidak berurutan, percobaan ulang (retry), dan pemulihan yang dapat diuji.

Buka tanya jawab
DataSulit

Menangani Event yang Terlambat dan Tidak Berurutan dalam Stream Processing

Gunakan pendapatan per jam untuk menurunkan desain stream-processing dari event time, watermark, lateness yang diizinkan, dan state deduplikasi, termasuk koreksi, pembersihan state, pemulihan kegagalan, dan rekonsiliasi offline.

Buka tanya jawab
CodingSedang

Wawancara Koding: Bagaimana Anda mengembalikan K kata yang paling sering muncul?

Gunakan penghitungan frekuensi, min-heap kustom, dan komparator frekuensi/leksikografis yang presisi untuk mengembalikan kata Top K dalam waktu O(n log k).

Buka tanya jawab
Desain sistemSulit

Wawancara system design: Menerapkan rate limit global lintas wilayah

Rancang quota leasing untuk limit API global, kuantifikasi overshoot selama partisi jaringan, lakukan rebalance pada wilayah dengan trafik tinggi (hot region), dan pilih perilaku fail-open atau fail-closed yang eksplisit.

Buka tanya jawab
CodingSedang

Wawancara coding: Bagaimana cara mengimplementasikan kalender yang menolak tumpang tindih?

Gunakan interval setengah terbuka (half-open), pencarian predecessor dan successor, serta ordered map untuk menyelesaikan My Calendar I dengan batas dan kompleksitas yang jelas.

Buka tanya jawab
CodingSedang

Wawancara coding: Men-debug median streaming dua-heap yang rusak

Mendiagnosis MedianFinder yang mengembalikan nilai salah setelah penyisipan adversarial dengan memulihkan invarian pengurutan heap, ukuran, status kosong, dan overflow.

Buka tanya jawab
CodingSedang

Wawancara coding: Bagaimana Anda mengimplementasikan stack minimum O(1)?

Pertahankan stack prefix-minimum sehingga push, pop, top, dan getMin berjalan dalam O(1), termasuk penanganan nilai minimum duplikat dan perilaku stack kosong.

Buka tanya jawab
CodingSulit

Wawancara Koding: Mengimplementasikan Bloom Filter

Implementasikan add dan mightContain untuk Bloom filter, lalu jelaskan false positive, penentuan ukuran, batasan penghapusan, dan pengujian.

Buka tanya jawab
CodingSulit

Wawancara Coding: Mengimplementasikan Read-Write Lock yang Thread-Safe

Implementasikan read-write lock dengan mutex dan variabel kondisi, lalu evaluasi keadilan (fairness), upgrade, dan kasus kegagalan.

Buka tanya jawab
CodingSedang

Wawancara Coding: Mengimplementasikan TTL Cache dengan Kedaluwarsa

Gunakan tabel hash, stempel waktu kedaluwarsa, pembersihan, dan aturan konkurensi untuk mengimplementasikan TTL cache yang dapat diuji.

Buka tanya jawab
CodingSedang

Wawancara Koding: Bagaimana Anda Mengimplementasikan Interval Set dengan Merge dan Query?

Implementasikan set interval non-tumpang tindih yang ternormalisasi dengan operasi add, remove, point lookup, dan query range overlap, termasuk penalaran batasan dan kompleksitas.

Buka tanya jawab
CodingSedang

Wawancara Koding: Bagaimana Anda Mengimplementasikan Mutable Priority Queue dengan Update dan Remove?

Gunakan heap, map indeks, dan lazy deletion untuk mengimplementasikan priority queue yang dapat diperbarui, mencakup pemecahan seri yang stabil (stable ties), penghapusan, entri usang (stale entries), dan pembuktian kompleksitas.

Buka tanya jawab
CodingSedang

Wawancara Koding: Bagaimana Cara Mendesain Resumable Batched Iterator?

Mulai dari kontrak hasNext/next dan rancang iterator yang membaca halaman jarak jauh, melanjutkan (resume) dengan aman, menghindari duplikat, dan meneruskan kegagalan.

Buka tanya jawab
CodingSedang

Wawancara Coding: Mengimplementasikan Snapshot Array

Rancang array berversi dengan riwayat perubahan per indeks, penulisan yang digabungkan (coalesced writes), dan pencarian biner pendahulu (predecessor binary search), lalu buktikan semantik waktu, ruang, dan snapshot.

Buka tanya jawab
CodingSedang

Wawancara Koding: Ruang Rapat Minimum

Ubah interval rapat menjadi penggunaan sumber daya bersamaan, hitung jumlah ruang minimum dengan sweep line dua larik, dan buktikan optimalitas melalui kedalaman tumpang tindih, termasuk titik akhir setengah terbuka, kejadian bersamaan (tied events), alternatif heap, serta tindak lanjut penetapan ruang rapat.

Buka tanya jawab
CodingSulit

Wawancara Koding: Menyelesaikan Alien Dictionary dengan Topological Sort

Simpulkan alfabet yang tidak diketahui dari daftar kata terurut dengan hanya mengekstrak edge presedensi yang valid. Pelajari aturan prefiks tidak valid, deteksi siklus, bukti kebenaran, pemeriksaan ambiguitas, dan uji adversarial untuk jawaban wawancara yang lengkap.

Buka tanya jawab
CodingSedang

Wawancara Koding: Menghitung Jumlah Pulau dengan DFS Iteratif

Turunkan DFS iteratif in-place dari pemodelan connected-component, jelaskan mengapa sel harus ditandai saat di-push, serta bahas kebenaran, kompleksitas, pengujian batas, dan alternatif solusi.

Buka tanya jawab