题干与适用场景
这道题考察你能否把“保留多久”转成可执行、可解释、可回滚的数据生命周期系统。不同存储的版本、快照、复制、备份和下游导出并不共享同一删除语义;Apache Iceberg 的快照过期也要求确认文件仍未被保留快照引用。回答要覆盖策略来源、优先级、执行器、依赖发现、删除证明和失败恢复。保留期限涉及具体法律与合同,系统应支持法务确认,而不是替代法律判断。
面试官考察什么
- 能否区分业务保留、法定保留、删除请求、备份窗口和技术清理。
- 能否设计带版本、作用域、审批和例外的策略模型,而不是硬编码一个 TTL。
- 能否处理快照、复制、缓存、导出、下游表和孤儿文件等隐藏引用。
- 能否提供 dry-run、可观测执行、删除证明、重试、回滚和审计追踪。
回答前需要澄清的问题
先确认数据分类、主体或租户边界、业务目的、区域、合同与法务来源。策略按表、列、记录、对象还是事件生效?法定保留与删除请求冲突时谁审批、何时解除?湖仓快照、消息主题、对象存储、备份和搜索索引有哪些复制与恢复路径?系统需要证明物理删除,还是证明已从在线查询面移除并等待备份自然过期?执行失败时允许暂停、重试还是回滚元数据?
30 秒回答框架
我会先建立带来源、版本、作用域、优先级和有效期的策略模型,区分普通保留、法定保留、删除请求和备份例外。策略编译器把数据目录中的实体映射到湖仓快照、消息主题、对象、索引和备份执行器,先 dry-run 展示影响与冲突。执行时用依赖图和引用检查避免删除仍被快照或恢复流程需要的文件,分批提交并记录每一步。完成后生成覆盖范围、删除时间、失败项和剩余备份窗口的证明;异常触发暂停与人工审批,而不是静默跳过。
分步骤深入解答
1. 建模策略来源与优先级
策略至少包含主体范围、数据标签、处理目的、保留时长、起算事件、区域、来源、版本、审批人和例外条件。把“删除请求”“法定保留”“合同期限”“备份自然过期”建成不同约束,定义冲突决策和人工升级路径。所有计算都保存输入快照,便于解释为什么某条记录仍被保留。
2. 建立实体与引用目录
目录需要知道表、分区、快照、对象、消息主题、索引、导出和备份之间的 lineage 与所有者。对湖仓要识别仍被保留快照、分支或标签引用的数据文件;对异步管道要记录删除事件是否已到达下游。无法确认引用时按保守策略保留并生成待处理项,不用猜测性删除换取完成率。
3. 编译成可执行计划
策略编译器为每个实体生成到期时间、动作、前置检查、审批要求和回滚边界。动作可以是禁止新写入、从查询面隐藏、过期快照、删除孤儿文件、发出下游删除事件或等待备份窗口。计划要带版本和幂等键,使重复执行不会重复扣费或破坏状态;dry-run 先输出冲突、预估对象数与风险。
4. 设计分批执行与保护栏
执行器按租户、区域、表或分区分批,限制并发和每批删除量。提交物理删除前再次检查活动快照、恢复任务、法律保留和最近写入;高风险动作需要双人审批或短暂冻结窗口。支持暂停、续跑和指数退避,避免底层存储或目录服务过载。每批记录计划版本、输入摘要、动作结果和错误分类。
5. 生成可验证的删除证明
证明不能只是一条“任务成功”日志。它应列出策略版本、覆盖实体、开始与结束时间、已处理和失败数量、引用检查结果、下游确认、备份剩余期限与不可验证边界。对湖仓快照过期、文件删除和索引清理分别记录结果;若备份不能即时物理删除,明确“在线面已移除,备份将在何时过期”,并由审批者确认。
6. 处理失败、回滚与持续审计
元数据变更和物理删除要分阶段提交,保留必要的快照或软删除窗口以便恢复。发现策略错误时先停止后续批次,标记受影响实体并执行补偿计划;已物理删除的数据不能假装可回滚,应从恢复副本或上游重建。持续监控到期积压、误删拦截、下游确认延迟、备份残留和策略冲突,定期复核来源与权限。
高质量示范回答
我会建立包含数据标签、处理目的、主体范围、起算事件、保留时长、区域、来源、版本、审批和例外的策略模型,明确普通保留、法定保留、删除请求与备份窗口的冲突。目录维护表、分区、湖仓快照、消息主题、索引、导出和备份的引用关系;无法确认引用就保守保留。编译器生成带版本和幂等键的计划,先 dry-run 展示影响,再按租户和分区分批执行。提交删除前重新检查活动快照、恢复任务、法律保留和最近写入,记录每批结果与错误。证明包含覆盖实体、策略版本、删除与下游确认、失败项和备份过期时间,并区分在线移除与物理删除。异常就暂停后续批次并进入补偿或人工审批;定期审计积压、误删拦截、残留和权限。
常见错误
- 把所有存储都当成一个带 TTL 的键值表。
- 只保存最终期限,不记录目的、来源、版本、审批和冲突。
- 删除前不检查湖仓快照、分支、备份、索引和下游复制。
- 以任务返回成功作为删除证明,不列出覆盖范围与失败边界。
- 没有 dry-run、暂停、分批、幂等和人工审批护栏。
- 宣称物理删除可立即回滚,或忽略备份自然过期窗口。
- 把系统配置当作法律结论,不保留法务和合同来源。
追问及应对
法定保留与删除请求冲突怎么办?
把两者建模为不同约束,按已确认的法务政策执行优先级,并记录审批人、理由、开始和解除时间。系统可以冻结删除计划或限制在线访问,但不能自行创造法律例外。
如何证明快照过期不会删掉仍在使用的文件?
执行前读取活动快照、分支、标签和恢复任务的引用集合,只处理不在保留集合中的快照和文件。提交后再次扫描并记录引用检查结果;无法确定时保留文件并生成待处理项。
备份无法马上删除怎么办?
区分在线数据移除、备份不可用和物理介质过期三种状态,记录备份保留期限、加密销毁或自然过期计划及访问限制。证明中明确尚未物理删除的边界和责任人。
误删已经发生,系统怎么处理?
立即停止相关策略和后续批次,锁定计划版本与审计证据,评估受影响实体。用保留快照、备份或上游重建恢复;恢复后重新应用正确策略,并把修复、审批和通知写入审计记录。