算法岗基础 / 03
算法岗能力栈
算法岗能力不是“会几个模型”这么简单。真实工作需要你把业务问题拆成数据问题、模型问题、策略问题和工程问题,再通过实验验证收益。
可以把能力栈分成六层:编程基础、数学统计、机器学习、业务建模、实验分析、工程落地。
第一层:编程和数据结构
编程基础决定你能不能把方案稳定实现出来。Python 是数据处理和建模的主力,C++ / Java 常用于高性能服务和工程系统。
需要掌握:
- 数组、哈希表、堆、队列、树、图。
- 排序、二分、双指针、动态规划、搜索。
- 时间复杂度和空间复杂度分析。
- 常见工程数据处理:SQL、Pandas、Spark 基础。
业务算法岗不要求你像竞赛选手一样刷到极限,但常见数据结构和复杂度必须稳。因为召回、匹配、路径、调度、在线服务里都会用到这些基础。
第二层:数学和统计
数学不是为了推公式,而是为了理解模型、指标和实验。
重点包括:
- 概率分布、期望、方差、条件概率、贝叶斯。
- 统计估计、置信区间、假设检验、p-value。
- 线性代数、向量空间、矩阵分解。
- 最优化基础:梯度、凸优化、拉格朗日、约束优化。
如果做因果推断、广告、增长、运筹,这一层尤其重要。很多面试问题本质上是在问你是否理解偏差、方差、随机性和约束。
第三层:机器学习和深度学习
机器学习是算法岗的核心工具箱。
基础模型要会:
- 线性回归、逻辑回归、树模型、GBDT、XGBoost。
- Embedding、DNN、Wide & Deep、DeepFM、DIN、DCN。
- 序列模型、Transformer、预训练模型。
- 聚类、异常检测、图模型、表示学习。
但准备时不要只背模型结构。更重要的是理解:
- 样本怎么构造。
- 标签怎么定义。
- loss 和业务目标是否一致。
- 负样本怎么采。
- 数据泄漏和训练线上不一致怎么处理。
- 模型输出如何校准。
第四层:业务建模
业务建模是区分“会调模型”和“会做算法岗”的关键。
例如:
- 推荐不是预测点击,而是优化长期消费和生态。
- 广告不是预测 CTR,而是优化广告主 ROI 和平台收入。
- 风控不是拦截风险,而是在风险和误伤之间取舍。
- 调度不是算最短路径,而是在实时约束下做全局资源分配。
业务建模要回答:
- 目标是什么。
- 谁是决策对象。
- 可用动作是什么。
- 约束是什么。
- 指标如何衡量。
- 策略如何上线。
第五层:实验和因果分析
算法岗必须会证明效果。离线指标只是第一步,真正的收益通常要通过在线实验验证。
需要掌握:
- A/B 实验基本设计。
- 样本量、显著性、置信区间。
- 主指标和护栏指标。
- 实验分层、分流、污染和干扰。
- ablation 和收益归因。
- 因果推断基础:DID、PSM、IV、DR、uplift。
面试里常见追问是:“你怎么证明这个提升是你的方案带来的?”如果只能回答“离线指标涨了”,通常不够。
第六层:工程落地
算法方案最终要上线。工程落地决定方案能不能持续产生价值。
需要理解:
- 特征生产:离线特征、实时特征、特征一致性。
- 模型训练:样本流水线、训练调度、模型版本。
- 在线服务:延迟、吞吐、缓存、降级。
- 监控告警:输入分布、输出分布、业务指标、异常 case。
- 反馈闭环:日志、标签回流、再训练、策略复盘。
一个不能上线、不能监控、不能回滚的模型,在业务里风险很高。
不同方向的能力侧重
| 方向 | 更看重什么 |
|---|---|
| 推荐 / 搜索 | 排序模型、召回、特征样本、A/B 实验 |
| 广告 | 预估校准、出价机制、预算控制、ROI |
| 风控 | 标签噪声、对抗、规则模型协同、误伤 |
| 运筹调度 | 建模、约束、求解、仿真、实时优化 |
| NLP / AIGC | RAG、评测、推理成本、幻觉控制 |
| 增长 / 因果 | uplift、实验设计、增量评估、预算分配 |
如何补短板
如果你编程弱,先刷基础题和 SQL,不要急着堆模型项目。
如果你模型弱,先掌握 LR、GBDT、DNN、Transformer 的适用场景。
如果你业务弱,多拆 JD,多看产品链路和指标体系。
如果你实验弱,重点补 A/B、因果和指标归因。
如果你工程弱,做一个从训练到服务的完整小项目。
面试表达模板
我的能力栈主要分三块:第一是模型和数据能力,能完成样本构造、特征工程、模型训练和评估;第二是业务建模能力,能把业务目标转成指标、标签和策略;第三是工程和实验能力,能考虑上线延迟、监控、A/B 实验和收益归因。我认为算法岗不只是追离线指标,而是要把模型变成可上线、可验证、可迭代的业务方案。
下一篇建议继续看: