题目重点:Screen 问简历项目的数据怎样收集、处理,以及数据和下游任务的关系;用可追溯数据链和消融说明。
题意与假设
这道练习题保留了面经中值得训练的核心约束,并将需要澄清的条件单独列出。现场拿到变体时,先和面试官确认这些条件。
- 训练版讨论有输入数据、处理流水线和可测下游任务的 ML 项目;若项目不是监督学习,标签与目标指标需改写。
- 任何规模、模型或收益数字都来自候选人真实记录,不能从题目推断。
- 因果结论需实验或可靠对照,单次离线相关性不能证明某数据处理带来线上收益。
解题路线
- 画数据血缘:原始源、采样条件、采集时间、权限与 consent、去重、清洗、标注、版本、train/validation/test 切分、上线特征与监控。每环说明本人负责边界。
- 先给下游任务与目标指标,例如召回、准确率、延迟或人工审查成本;再说明数据处理每一步对应什么误差模式,而非机械列 ETL 步骤。
- 检查泄漏:同用户/同实体跨 train/test、未来时间进入训练特征、重复样本跨集合。切分单位与线上泛化目标一致。
- 用 ablation 对照数据版本:保持模型与训练设置近似相同,只改一个数据处理策略,报告总体与关键切片指标及置信/样本量;若多因素同变,则承认无法归因。
- 上线后监控输入分布、缺失/重复率、标注滞后、模型输出与业务指标,发现漂移要能回溯到数据版本并回滚。
手动走一遍
训练例:若目标是判断 tweet 是否含某类主题,旧数据只采英文,线上含多语。新增多语样本后,先按语言切片测召回,而非只报总体准确率;若同时换了模型架构,就不能把召回改善全部归功于数据。候选人需换成自己的真实项目。
规模与取舍
处理 N 条数据至少 O(N) 扫描,按 ID 去重平均 O(N) 时间与 O(U) 索引空间;大规模数据可分区/外排。训练、标注和人工审阅预算依实际规模而定,题目没有数值。
易错点与追问
容易失分的边界
- 只讲模型结构,不知道数据从何而来、如何标注。
- 离线提升归功于清洗,但同时改变数据切分/模型。
- 把用户级泄漏当成合法泛化。
- 报漂亮总体指标,掩盖关键人群或时间段退化。
- 说数据一定改善任务,却无版本或对照证据。
继续深挖
- 最严重的一次数据质量问题如何发现?
- 如果线上分布变了,先查哪几个指标?
- 如何防止同一实体泄漏到测试集?
- 若标注预算只有一半,如何选择样本?
