第4章 特征工程与数据预处理面试:特征构造、归一化、缺失值处理
特征工程是搜索算法模型面试的「兵家必争之地」,面试官通常从特征构造、归一化、缺失值处理三个维度考察候选人的工程落地能力与业务理解深度。本章围绕高频面试题,提供可迁移的回答框架与避坑指南。
🎯 本章学习目标:掌握特征工程三核心模块的面试回答框架,能够在30秒内构建「问题→分析→方案→验证」的完整叙事逻辑。
📌 面试问答 ① 特征构造
面试问题:如何为搜索排序模型构造有效的组合特征?
🎯 面试官考察点:
- 特征交叉的业务理解(是否理解搜索场景的匹配逻辑)
- 特征工程方法论的成熟度(组合方式 + 筛选机制)
- 避免过拟合的意识(维度控制与验证策略)
🧩 回答框架:
- 业务理解:识别搜索场景中 query 与 doc 的核心匹配信号
- 特征交叉:将文本匹配信号与用户行为统计做组合
- 验证筛选:通过特征重要性排序 + 离线评估验证有效性
📝 简短示例回答:
结合搜索业务,将 query 与 doc 的 BM25、语义相似度与点击率做组合交叉,生成 query-doc 匹配特征对。通过 GBDT 特征重要性筛选 Top-50,离线 NDCG@5 提升 3%,线上 CTR 提升 1.2%。
🔍 可能追问:
- 特征组合爆炸如何解决?
- 特征有效性如何验证?用了哪些指标?
- GBDT 特征重要性与 SHAP 值你更倾向哪个?
⚠️ 避坑提醒:避免盲目做高阶交叉(如 5 阶以上),优先做业务可解释的低阶交叉(2~3 阶);验证集必须与训练集时间对齐,防止数据泄露。
📌 面试问答 ② 归一化
面试问题:搜索模型中的连续特征应该选择 Min-Max 归一化还是 Z-score 标准化?
🎯 面试官考察点:
- 对特征分布的理解(是否有边界、是否存在异常值)
- 模型对尺度的敏感性(树模型 vs 深度学习模型)
- 工程落地意识(线上实时归一化的实现方式)
🧩 回答框架:
- 分布判断:分析特征是否有明确边界、是否近似正态
- 模型匹配:树模型可不做,DNN/LR 必须统一尺度
- 场景选型:有边界无异常值 → Min-Max;有异常值/正态分布 → Z-score
📝 简短示例回答:
若特征有明确边界且无异常值(如点击率 0~1),选 Min-Max;若特征近似正态或存在异常值(如停留时长),选 Z-score。树模型可不做归一化,但 DNN/LR 必须统一尺度,否则影响收敛。
🔍 可能追问:
- 线上实时归一化怎么做?参数如何更新?
- Min-Max 遇到超出边界的线上值怎么办?
- 归一化参数在训练集和测试集如何复用?
⚠️ 避坑提醒:测试集必须使用训练集的归一化参数,不可混用;Min-Max 对异常值敏感,先做截断再归一化。
📌 面试问答 ③ 缺失值处理
面试问题:搜索日志特征缺失严重时,你会如何处理?
🎯 面试官考察点:
- 缺失原因分析能力(冷启动 vs 采集故障)
- 处理策略的工程鲁棒性(不引入未来信息)
- 效果验证意识(A/B 实验验证填充方案)
🧩 回答框架:
- 原因分析:区分冷启动物品、日志采集故障、特征本身不可用
- 策略选择:均值填充、前向填充、模型预测填充
- 效果验证:A/B 实验对比不同填充策略对线上指标的影响
📝 简短示例回答: