ML 深度面试考的是:给定一个任务,你能不能讲出端到端的方案,并说清其中每个技术点为什么这样选。
上一篇我们看了广度面试,它侧重知识储备和不同方案之间的细微差别。这一篇看深度面试。
什么是深度面试
可以用 T 型人才来理解:广度是 T 的那一横,深度是 T 的那一竖。面试官通常会沿着你选定的方案或项目一路往下问,直到摸到你理解的边界。
一个追问的例子
很多深度面试的追问长这样:
- 普通 RNN 为什么容易出现梯度弥散?
- LSTM 的门控结构为什么能缓解这个问题?它彻底解决了吗?
- 这里的梯度弥散,和极深前馈网络里的梯度弥散是一回事吗?
- 这两种情况分别可以怎么应对?
能背出定义只够应付第一问。后面几问要靠你真正理解过原理,最好还亲手调过。
如何准备
- 找到自己擅长的领域和方法。 拿分类任务来说,SVM、树模型、逻辑回归、CNN 的考查方式都不一样。熟练掌握一种,能让你在深度面试中更得心应手。
- 知其然,知其所以然。 对简历上写的每个方法,都准备好回答:为什么选它、它的假设是什么、什么情况下会失效、换一种方法会怎样。
- 用项目走完一次完整流程。 Kaggle、Google Colab 社区都有高质量的 ML 项目,附带数据集和解决方案,涵盖图像、NLP、推荐等领域。以此为基础完整做一遍,能加深你对某一类方法的理解。
面试前的自查清单
挑简历上最重要的一个项目,检查自己能否讲清:
- 问题是什么,为什么要用 ML 解决
- 数据从哪里来,有什么偏差
- 为什么选这个模型,放弃了哪些方案
- 用什么指标评估,线下和线上是否一致
- 遇到过的最大困难,你怎么定位和解决
- 重新做一次,你会改什么
这些考察点在工作中怎么用
- 独立或半独立带项目时,有没有足够的经验和知识完成端到端的开发和管理
- 和兄弟组或核心架构组合作时,能不能讲清当前的技术需求和预期效果
- 项目完成 alpha 版本后,有没有足够的技术能力支撑后续开发和优化
下一步
接下来可以看 ML 系统设计面试。整体顺序在 ML 工程师面试地图。
新文章发到你的邮箱
ML 求职、面试和职业发展。不发广告,每封邮件都能一键退订。
有具体的问题?预约 20 分钟聊聊