Maklum balas dan konteks
Soalan ini menguji sama ada seorang jurutera data boleh mengubah satu permintaan pemadaman menjadi kitaran hayat merentas sistem, boleh dicuba semula dan boleh diaudit. Pemadaman adalah lebih daripada sekadar DELETE pada pangkalan data utama; ia merangkumi jadual terbitan, cache, indeks, log peristiwa, sandaran dan pemproses. Rangkumi penemuan, pemetaan identiti, penahanan undang-undang (legal holds), keidempotetan, pemulihan dan bukti penyiapan.
Perkara yang diuji oleh penemu duga
Jawapan yang kukuh mentakrifkan skop dan pengecualian, kemudian membina katalog data bersama pemilik. Aliran kerja menghantar arahan padam atau awanama di sepanjang kebergantungan dan menunggu resit pengesahan. Status membezakan antara diminta, sedang berjalan, disahkan dan disekat, dengan jejak audit yang tidak boleh diubah. Jika sandaran fizikal tidak boleh diedit serta-merta, jelaskan pemadaman kriptografi (crypto-shredding), tamat tempoh, pengasingan pemulihan dan penggunaan semula.
Soalan untuk penjelasan
- Apakah yang mengenal pasti individu tersebut, dan bagaimanakah e-mel, peranti, pesanan dan pengecam tanpa nama dipautkan?
- Rekod manakah yang mesti dipadamkan, dan invois, bukti penipuan atau penahanan undang-undang manakah yang mesti kekal buat sementara waktu?
- Adakah indeks carian, cache, agregat, log peristiwa, storan objek, sandaran dan pemproses SaaS disertakan?
- Adakah sasaran merupakan pemadaman fizikal, penganoniman tidak boleh balik, atau penghentian penggunaan dalam tempoh tarikh akhir?
- Apakah yang mentakrifkan penyiapan, masa tamat (timeout), semakan manusia dan resit pengguna?
Rangka kerja jawapan 30 saat
“Saya akan mengkatalogkan sistem, medan, pemilik, peraturan pengekalan dan keupayaan pemadaman. Setiap permintaan mencipta kes pemadaman yang tidak boleh diubah dan tugas idempoten. Pengorkestra menghantar arahan padam, awanama atau pemadaman kunci di sepanjang kebergantungan; setiap pengguna (consumer) mengembalikan skop, versi dan ringkasan pengesahan. Kegagalan akan dicuba semula atau dieskalasikan. Data pegangan undang-undang akan dibekukan aksesnya dengan pengecualian yang direkodkan dan dipadamkan apabila pegangan tersebut tamat tempoh. Penyiapan memerlukan liputan katalog, resit, bacaan sampel dan jejak audit; pengguna menerima status yang jujur tanpa mendedahkan topologi dalaman.”
Jawapan mendalam langkah demi langkah
Langkah 1: Bina peta data dan identiti
Katalogkan jadual, baldi (buckets), indeks, kelas medan, pemilik, kebergantungan hiliran, kitaran sandaran dan pemproses. Petakan ID pengguna yang stabil kepada pesanan, peranti, e-mel dan token tanpa nama. Tanpa cantuman identiti yang boleh dipercayai, tuntutan pemadaman lengkap adalah tidak meyakinkan.
Langkah 2: Tentukan dasar pemadaman
Kelaskan rekod sebagai pemadaman terus, penganoniman, pengekalan agregat atau penahanan undang-undang. Rekod kewangan atau bukti penipuan mungkin memerlukan pengekalan, tetapi kurangkan medan, sekat akses dan rekod asas undang-undang. Versikan dasar tersebut supaya permintaan lama kekal boleh dijelaskan.
Langkah 3: Cipta kes idempoten
Cipta case_id, ID subjek, versi dasar, tarikh akhir dan sumber. Setiap sasaran menerima ID kes dan mengembalikan hasil yang sama semasa pengulangan. Gunakan status seperti diminta, sedang berjalan, disahkan, disekat, gagal dan tamat tempoh.
Langkah 4: Sebarkan di sepanjang kebergantungan
Padamkan rekod sumber atau keluarkan tombstone, kemudian cetuskan pengguna CDC untuk indeks, cache dan gudang data terbitan. Sistem kelompok memerlukan jadual penindasan (suppression table) supaya tugas terkemudian tidak mencipta semula subjek tersebut. Pihak ketiga mengesahkan melalui resit API atau proses kontraktual.
Langkah 5: Kendalikan sandaran dan pemadaman kunci
Sandaran biasanya tamat tempoh mengikut jadual. Jika pengeditan individu adalah mustahil, asingkan akses pemulihan, simpan manifes pemadaman dan gunakan semula pemadaman semasa pemulihan. Kunci penyulitan bagi setiap subjek boleh menjadikan teks sifer sensitif tidak dapat dipulihkan selepas pemusnahan kunci, tetapi ini bukan jalan pintas undang-undang yang universal.
Langkah 6: Sahkan melangkaui kod kejayaan
Pengguna mengembalikan kiraan, versi, sekatan (partitions) dan checksum. Pengorkestra mengambil sampel bacaan dalam stor utama, indeks, gudang data dan stor objek, serta memeriksa ketidaksahan cache dan tanda aras CDC. Pengesahan yang gagal mencipta kerja pampasan dan bukannya menutup kes.
Langkah 7: Asingkan pengecualian pengekalan
Simpan rekod pegangan undang-undang secara berasingan dengan medan yang minimum dan tiada pertanyaan produk. Laporan kes mengandungi skop, asas undang-undang, pemilik dan tarikh semakan. Pelepasan pegangan secara automatik mencipta tugas pemadaman baharu; pengecualian tidak boleh menjadi senarai hitam kekal.
Langkah 8: Audit, amaran dan tindak balas
Log audit mengandungi ringkasan subjek yang tidak boleh diubah, pelaku, masa, versi dasar dan hasil, bukan muatan sensitif. Pantau usia kes, kadar kegagalan, liputan katalog, resit pihak ketiga dan latih tubi pemulihan. Pengguna melihat status selesai, sedang diproses atau ditahan secara sah dengan tarikh akhir yang jelas.
Kod pseudo aliran kerja pemadaman
case = create_case(subject, policy_version)
for target in catalog.targets(subject, policy_version):
enqueue_idempotent(case.id, target, action_for(target))
verify_samples(case)
close(case, "verified" if all_verified(case) else "blocked")Pertukaran (trade-offs) dan sempadan
| Senario | Strategi | Kos |
|---|---|---|
| Utama dan indeks | Tombstone ditambah pemadaman tak segerak | Kelewatan penyebaran |
| Agregat analitik | Alih keluar butiran pengenalpastian dan kira semula | Kos pengiraan |
| Sandaran jangka panjang | Tamat tempoh atau main semula pemadaman semasa pemulihan | Bukan pemadaman baris serta-merta |
| Penahanan undang-undang | Minimumkan medan dan bekukan akses | Semakan dan tadbir urus |
Bukti hendaklah merangkumi tempat sistem mencari, sasaran mana yang telah mengakui dan pengecualian mana yang kekal. Ia tidak seharusnya menjanjikan penghilangan fizikal yang tidak boleh disahkan. Google Cloud menerangkan pemadaman sebagai saluran paip berperingkat di mana data kekal dilindungi sehingga peringkat-peringkat tersebut selesai.
Pelan pelancaran dan bukti
Pilih satu set data pengguna dan sambungkan katalog, peta identiti, stor utama, indeks dan gudang data. Suntik mesej pendua, pengguna luar talian, pemulihan sandaran dan perubahan dasar. Suruhanjaya Eropah mendokumentasikan pengecualian undang-undang kepada pemadaman; Google Cloud mendokumentasikan pemadaman berperingkat; soalan reka bentuk awam TechInterview mengetengahkan perkhidmatan mikro, storan objek, analitik, sandaran dan jejak audit.
Kriteria keluar perintis
Liputan katalog boleh diukur; setiap sasaran mempunyai pemilik dan keupayaan; permintaan berulang adalah idempoten; kegagalan dicuba semula atau dieskalasikan; pengesahan bersampel menemui baki sisa; pegangan mempunyai asas dan tarikh tamat tempoh; dan resit pengguna sepadan dengan status dalaman.
Cara membuktikan peningkatan adalah nyata
Bandingkan set data yang tidak berdaftar, masa penyiapan, kadar baki sisa yang ditemui oleh pengesahan, kadar percubaan semula dan campur tangan manusia sebelum dan selepas. Lakukan latih tubi terhadap pengguna luar talian, pemulihan sandaran dan masa tamat pihak ketiga dan bukannya hanya mengukur laluan mudah (happy path).
Kesilapan biasa dan soalan susulan
Hanya memadamkan baris utama
Indeks, cache, gudang data dan storan objek mungkin masih mengembalikan data. Liputan katalog dan resit hiliran mestilah menjadi kriteria penyiapan.
Satu peristiwa DELETE global untuk setiap sistem
Pengguna memerlukan tindakan dan versi yang berbeza. Tanpa keidempotetan, resit dan penanda aras (watermarks), peristiwa boleh hilang atau berulang. Gunakan aliran kerja ID kes.
Mendakwa bahawa sandaran dipadamkan serta-merta
Banyak sandaran tamat tempoh mengikut jadual. Jelaskan pengasingan akses, manifes pemadaman, main semula pemulihan dan masa tulis ganti muktamad.
Bagaimanakah penahanan undang-undang mengelak daripada menyekat semua pemadaman?
Minimumkan skop yang dipegang, bekukan akses, rekod asas, pemilik dan tarikh semakan, serta teruskan memadamkan segala-galanya di luar pegangan tersebut.
Bagaimanakah anda menghalang data daripada dicipta semula?
Keluarkan tombstone sumber atau rekod penindasan; CDC dan tugas kelompok memeriksa status pemadaman sebelum mencipta terbitan, dan main semula menggunakan semula dasar tersebut.
Bagaimana jika pengguna menuntut penyiapan serta-merta?
Bezakan sasaran yang disahkan daripada langkah sandaran atau pihak ketiga yang terikat dengan masa, kembalikan status pemprosesan berserta tarikh akhir, dan jangan sekali-kali mereka-reka pemadaman fizikal yang kononnya telah selesai.