题干与适用场景
这道题考察的是数据生命周期与可验证性,不是简单执行一条 DELETE。你需要追踪一个主体的标识如何进入原始层、表文件、派生结果、缓存、特征、导出和备份,并定义何时可以对外声称“已完成”。
题目没有指定法律结论。回答应先声明需要由隐私或法务确定保留义务、例外和期限,再把工程系统设计成可执行的范围、状态和证据。
面试官真正想听什么
- 你能否建立数据目录和血缘,覆盖副本、派生值、日志、快照、缓存和备份。
- 删除请求是否幂等、可重试、可暂停,并且不会被正在运行的摄取或重放重新写回。
- 逻辑不可见、物理擦除、快照过期和备份到期之间的边界是否清楚。
- 如何隔离删除期间的查询与训练,保护未删除数据和其他租户。
- 最终证据能否证明每个范围都处理过,而不是只记录一个成功状态。
推荐回答结构
先定义主体键、请求状态和完成口径,再画出数据域与血缘。为请求分配稳定的 erasure_id,冻结新摄取和重放对该主体的写入,按域执行删除或重算,最后运行独立验证和保留策略清理。
说明哪些数据可立即逻辑删除,哪些需要重写文件或等备份轮换;每一步都写入审计事件、输入版本、结果计数和重试游标。恢复时从同一状态继续,不重复产生副作用。
深入拆解:从请求到证明
先定义范围和标识
把用户账号、设备、订单或外部标识映射到不可变主体键,记录映射版本和租户。列出原始对象、Iceberg 行、聚合、特征、搜索索引、导出、缓存、日志和备份;无法定位的暗数据必须进入风险清单,不能假设不存在。
让删除与摄取互斥
删除服务先登记 erasure_id 和主体状态。摄取、重放和派生作业在写入前检查已完成或进行中的删除标记;事件总线可用墓碑或按主体分区的屏障阻止旧事件回灌。并发任务用版本或租约协调,避免删除后又提交旧快照。
区分逻辑删除和物理清理
Iceberg 的 equality delete 或 position delete 可以让读取忽略目标行,但旧数据文件、快照和孤儿文件仍可能存在。需要按表的保留窗口完成压实、快照过期和孤儿文件清理;对象存储原始文件则按对象清单删除或隔离。对不可立即改写的备份,记录保留到期、访问限制和到期删除任务。
派生数据不能只删输入
可追溯聚合可以按主体重算,无法反查主体的汇总要提供带主体维度的中间状态或重新构建分区。模型特征、缓存和导出文件要有所有者与版本;删除期间暂停相关发布,完成后从已净化输入重建,避免把个人信息留在不可逆的平均值或嵌入中。
用验证证据定义完成
对每个域记录扫描范围、匹配行数、删除版本、物理清理任务、失败项和验证时间。独立读取路径应确认查询、导出和重放都不能返回目标主体;对派生表检查血缘任务已消费墓碑。证据缺失时状态只能是部分完成,不能由超时自动改成成功。
可直接套用的回答示例
“我先让隐私负责人确认主体键、法定保留例外和完成期限。删除服务创建幂等的 erasure_id,冻结该主体的摄取与重放,并把请求写入每个数据域的待办表。原始对象按清单删除,Iceberg 表先写 equality delete,再在保留窗口后压实并过期快照;聚合和特征按主体分区重算,缓存和导出由各自 owner 清理。35 天备份只允许受控恢复,恢复流程读取删除墓碑并在上线前重新验证。每步保存版本、计数、失败项和校验时间,独立扫描查询、导出和重放路径。只有所有域都返回零匹配且失败项为空,状态才变为完成;新事件在屏障解除前仍会被拒绝。”
常见失分点与修正
- 只删主表 → 列出原始、派生、缓存、导出、日志和备份。
- 把 delete 文件当物理擦除 → 说明快照、旧文件、压实和孤儿清理的时序。
- 忽略并发写入 → 设计删除屏障、墓碑、版本检查和重放门禁。
- 用一个成功布尔值结案 → 为每个域保存范围、计数、版本和独立验证。
- 承诺所有备份立即改写 → 说明保留期限、访问限制、到期清理和法务例外。
评分标准与自检清单
高分回答应有:稳定主体标识;完整血缘;幂等状态机;写入与重放屏障;逻辑和物理删除边界;派生数据重算;备份策略;失败恢复;逐域证据;零匹配验证;权限、租户和敏感日志保护。
自检:我是否知道每份副本的 owner?删除期间旧事件会不会回流?哪些数据只是不可见、哪些真正被擦除?重放怎样处理墓碑?失败后如何继续?什么证据才足以改变完成状态?
追问与延伸
如果 Iceberg 表很大,不能马上重写文件怎么办?
先写行级删除让查询路径立即排除目标,再安排按文件大小、删除密度和保留期限排序的压实。期间限制快照访问和导出,并把物理清理完成时间保留在状态中,不能把逻辑不可见冒充物理删除。
删除请求与新事件同时到达怎么办?
用主体级屏障或单调版本让摄取在删除完成前拒绝或隔离新事件。屏障解除后只接受高于删除版本的明确新同意事件;旧事件重放必须检查墓碑。
派生指标无法按用户反查怎么办?
把它标为不可证明的派生域,暂停对外发布并选择保留主体维度的中间状态、按分区重建或合规批准的替代方案。没有血缘证据就不能声称已删除。
如何保护删除审计本身不泄露个人数据?
审计只保存不可逆主体引用、请求 ID、范围和计数,不写原始姓名、邮箱或事件内容。访问审计需要独立授权,保留期限与隐私政策一致。