ML on Big Data 面试专题
概述
本文汇总"机器学习 + 大数据"方向高频面试题,覆盖特征工程、训练平台、模型部署、实时推理、Feature Store、AB 实验六大块。每题给出要点式回答与追问方向。
一、特征工程类
1.1 特征工程流程?
流程:
特征提取(数据 → 特征)
→ 转换(编码/归一化)
→ 选择(筛选重要特征)
→ 存储(Feature Store)
→ 消费(训练/推理)
关键:
在线离线一致性
特征质量1.2 类别特征怎么处理?
方案:
低基数 → One-Hot
高基数 → 哈希/Embedding
有序类别 → 数值映射
缺失 → 独立类别/兜底
注意:
高基数 One-Hot 稀疏
优先考虑 Embedding1.3 什么是特征泄露?
定义:
特征用了训练时不该有的信息
如未来数据、测试集信息
后果:
离线评估虚高
线上效果大跌
防护:
时间切分
只 fit 训练集
点回溯验证1.4 特征缺失怎么处理?
处理:
删除(缺失率高)
填充(均值/众数/默认值)
模型自带(树模型可处理)
关键:
在线与离线填充一致!
统一兜底值二、Feature Store
2.1 为什么需要 Feature Store?
痛点:
特征散落、重复开发
在线离线不一致
无法回溯
价值:
统一存储(在线+离线)
统一定义(一致)
支持回溯
团队共享2.2 在线离线一致性怎么保证?
方案:
同一套特征计算逻辑
批流共用定义
定期对账(离线 vs 在线)
统一兜底值
时间对齐(避免未来数据)2.3 特征回溯是什么?
定义:
生成历史时间点的特征
用于重训/验证新特征
要点:
按时间切分
无未来信息(point-in-time)
复用离线特征库三、训练平台类
3.1 模型训练平台有哪些能力?
能力:
GPU 资源调度
分布式训练
超参搜索(AutoML)
实验追踪(MLflow)
模型注册与版本管理
训练可复现3.2 实验追踪记录什么?
记录:
参数(超参)
指标(loss/accuracy)
代码版本(git)
数据版本
环境(依赖/镜像)
制品(模型文件)
目的:可复现、可对比3.3 超参搜索方法?
方法:
网格搜索(全组合,慢)
随机搜索(高效)
贝叶斯优化(智能)
早停(省资源)
实践:
先粗后细
结果全记录四、模型部署类
4.1 在线推理与批量推理?
在线:请求时,毫秒级,单条
场景:推荐/风控
批量:定时,大批量
场景:圈选/报表
流式:事件流实时打分4.2 在线推理性能优化?
优化:
特征缓存
模型量化(INT8)
TensorRT/ONNX 加速
批量请求(batching)
结果缓存
异步/并行4.3 模型压缩方法?
| 方法 | 原理 |
|---|---|
| 量化 | 权重精度降低 |
| 剪枝 | 去掉不重要参数 |
| 蒸馏 | 大模型教小模型 |
| 低秩分解 | 压缩矩阵 |
注意:
压缩后有精度损失
需校准与验证4.4 模型上线流程?
流程:
注册模型 → 格式转换
→ 打包部署 → 灰度(小流量)
→ 观察 → 全量/回滚
关键:
灰度 + AB 对比
回滚机制五、实时推理类
5.1 实时推荐怎么实现?
链路:
行为事件 → Kafka → Flink(实时特征)
→ 特征库(Redis)→ 在线服务
→ 召回 → 排序 → 返回
离线模型 + 实时特征:
模型日级更新
特征秒级生效5.2 实时特征怎么算?
实现:
Flink 窗口聚合(近 N 分钟行为)
写入在线特征库
服务读取
注意:
事件时间/水位线
窗口状态清理
新鲜度要求5.3 特征新鲜度怎么权衡?
实时成本高:
并非所有特征都需实时
高价值特征实时
低频特征离线更新
策略:
分级(秒/分/时/日)
按业务需求六、AB 实验类
6.1 AB 实验原理?
原理:
流量分桶(实验/对照)
控制变量
统计显著性判断
流程:
假设 → 设计 → 灰度 → 分析 → 决策6.2 分桶怎么设计?
设计:
用户维度(稳定)
随机均匀
同用户同组(一致性)
避免实验干扰
注意:
样本量
显著性检验6.3 离线指标好但线上差?
原因:
特征不一致
数据漂移
样本偏差
解决:
特征对账
漂移监控
小流量 AB 验证七、综合场景题
7.1 设计一个风控模型系统?
设计:
数据:交易/行为/黑名单
特征:实时交易特征(Flink)
模型:GBDT/深度学习(欺诈概率)
部署:在线推理(毫秒级)
验证:AB + 拦截率评估
监控:效果衰减/漂移7.2 冷启动怎么解决?
策略:
新用户:热门/探索推荐
新物品:内容特征/规则
画像补充
冷启实验池
大数据:
利用内容特征(不依赖行为)
实时画像7.3 模型效果衰减怎么办?
检测:
特征漂移(PSI)
线上指标下滑
处理:
触发重训
新旧对比
特征修复八、避坑与加分
8.1 加分项
加分点:
讲真实案例(推荐/风控)
讲清一致性/泄露等坑
讲权衡(实时成本/精度)
量化指标(延迟/提升)8.2 常见雷区
| 雷区 | 避免 |
|---|---|
| 只讲算法 | 讲工程链路 |
| 忽略一致性 | 强调在线离线一致 |
| 只讲离线 | 讲实时与部署 |
九、小结
ML on Big Data 面试核心:特征(一致性与泄露)、训练(复现与版本)、部署(在线/批量与优化)、实时(特征与推理)、验证(AB 与监控)。回答要体现"工程化思维"——把机器学习当成数据平台上的流水线来理解,强调一致性、可复现、灰度验证这三个关键点。