字节跳动 AI / 算法怎么准备
字节算法岗公开讨论里,推荐和广告效果很常见。面试官想听你如何定义指标、处理偏差、以及上线后如何看。
五题覆盖偏差、指标、探索、编码和协作。用你自己的实验经历替换,不要编造提升点数。
字节怎么面算法
- 常见编码 + 机器学习基础 + 业务。
- 会追问离线好、在线平的原因。
- 准备好数据泄露和位置偏差的说法。
面试阶段与知识点
第一批不把每个阶段拆成独立 URL,避免程序化重复页。阶段对应下面的题,练完再用模拟面试串起来。
- 效果:偏差和指标。
- 编码:能写清楚。
- 模型:能解释为什么用。
- 协作:和工程抢资源。
值得开口练的题
每题给考察点、思路、结构化参考答案和追问。参考答案用来组织语言,面试时必须换成你自己的项目事实。
离线 AUC 涨了,在线时长没动,可能原因?
考察点
- 分布差异
- 延迟反馈
- 指标错位
回答思路
先对齐离线样本与在线流量分布,核对主指标口径是否一致,最后才怀疑模型结构是否过拟合。
结构化参考答案
- 指标上把离线 AUC 与在线时长、留存分层对照,固定同一批用户与曝光窗口,避免把不同优化目标当成同一胜负。
- 方法上排查位置偏差、选择偏差与延迟反馈,用随机桶或 IPS 校准离线标签,必要时做反事实回放验证。
- 工程上要控制特征延迟与回滚成本,在线实验保留对照桶,避免为追 AUC 引入高延迟链路放大偏差。
- 有效性以同一实验框架看时长、负反馈与回滚前后曲线,只有离在线指标同向改善才算真正有效。
面试官可能追问
- 如何做反事实评估?
- 位置偏差怎么建模?
- 谁决定主指标?
推荐总推爆款,如何加入探索又不伤体验?
考察点
- 探索利用
- 安全
- 评估
回答思路
探索要有独立预算和负反馈保护,在多样性指标与主体验指标之间做可回滚的分层实验。
结构化参考答案
- 指标上同时看点击率、会话时长、多样性与负反馈率,给探索流量设独立配额并避开高伤害内容类目。
- 方法上用 bandit 或受控随机丢流量做探索,新内容走冷启动通道,记录策略版本便于对比与回滚。
- 工程上限制探索对主链路延迟的影响,实时过滤低俗与重复,用户明确不喜欢时秒级停推并衰减权重。
- 有效性用小流量 A/B 验证探索桶的时长与负反馈不劣于对照,多样性提升可量化后再逐步放量。
面试官可能追问
- 如何防止探索变成低俗?
- 用户明确不喜欢如何快速停?
- 探索是否进主模型训练?
手写一个带位置偏差的点击率评估思路(不必写完整代码)
考察点
- 倾向得分
- 加权
- 截断
回答思路
讲清 IPS 思路:估计展示倾向、用倒数加权观测点击,并截断权重以防方差爆炸。
结构化参考答案
- 样本上按位置、用户段分层统计曝光与点击,先确认各槽位展示概率是否严重不均再谈加权。
- 方法上估计每个位置被展示的倾向得分 p,用 1/p 加权点击观测,并对过大权重做截断或 SNIPS 归一化。
- 工程上说明无随机化时偏差仍在,加权可能放大噪声,离线评估要与在线小流量对照避免过度自信。
- 有效性通过加权前后 AUC 与方差曲线、以及模拟数据上的偏差回收实验,证明评估更接近真实点击率。
面试官可能追问
- SNIPS 和 IPS 差在哪?
- 没有随机流量怎么办?
- 如何验证加权没把方差炸掉?
特征穿越导致泄漏,你如何发现?
考察点
- 时间切分
- 特征审计
- 突然涨分
回答思路
离线分异常偏高是警报,按时间切分样本并审计特征生成时刻,排查是否用了未来信息。
结构化参考答案
- 样本上严格按时间切分训练与验证,报告切分日期,同一会话与用户行为不跨集合以防标签泄漏。
- 方法上对可疑特征做生成时刻审计与消融实验,实时特征对齐到请求时刻而非落库时刻。
- 工程上在数据管道加延迟窗口校验与门禁,发现泄漏后保留可回滚模型版本并停止污染特征入仓。
- 有效性以消融后离线指标回落幅度、延迟窗口复现结果与线上小流量对照,证明修复后效果可信。
面试官可能追问
- 如何防止数据管道再引入?
- 实时特征如何对齐?
- 发现后已上线的模型怎么办?
工程说特征太重要下线,你认为效果会掉,怎么谈?
考察点
- 代价
- 实验
- 替代
回答思路
用延迟预算、在线增益与消融实验说话,给出可落地的替代方案而不是单纯对抗。
结构化参考答案
- 指标上展示该特征对时长或转化的在线增益,以及下线后预估掉的点数与业务影响区间。
- 方法上提出抽样计算、缓存或蒸馏替代,先小流量下线验证,保留对照桶便于随时回滚。
- 工程上尊重 P99 延迟与资源预算,把特征重要性拆成可分批下线的模块,避免一次性全断。
- 有效性以灰度实验的离在线同向结果与回滚演练记录,证明替代方案在效果与耗时上可接受。
面试官可能追问
- 若工程坚持全下?
- 如何避免每次都对抗?
- 你怎样记录?
和岗位、模拟面试一起用
资料管理里保存目标岗位 JD,模拟面试会按简历出题。点题目下的按钮会把本题带进模拟开场,仍需先绑定简历与岗位。