如何准备机器学习工程师的面试 ?

本题已加入知乎圆桌 »「机器学习 · 学以致用 」,更多「机器学习」相关话题讨论欢迎关注。我之前面试一些公司的机器学习或者数据挖掘工程师的职位。感觉自…
关注者
14,833
被浏览
2,013,749
登录后你可以
不限量看优质回答私信答主深度交流精彩内容一键收藏

19年参加校招算法工程师岗位,拿到多个大厂offer,来分享一下经验。(可能有一点点偏题,我的项目都以深度学习为主)

我觉得最重要的就是面试的态度,谦虚且自信。遇到不会的问题也沉着冷静,别慌张。面试官也不会期待所有问题都能回答上来,只要有亮点即可。因为机器学习工程师这个岗位也分具体的偏向,如果研究能力强可以安排你多研究算法,如果工程能力强可以偏工程,如果都中等偏上也有用武之地,就怕两边都达不到中等水平,那就难了。

太长不看版:百面机器学习,leetcode top interview,剑指offer,软件工程师常考问题

先把题主问题中提到的另一个问题的回答贴过来:

再分享一下自己整理的一些机器学习/深度学习题目:

机器学习

  1. SVM和LR的区别和联系
  2. LR可不可以做非线性分类
  3. bagging和boosting的区别
  4. 决策树,GBDT
  5. 介绍一下xgboost,xgboost和GBDT的区别
  6. l1正则化和l2正则化
  7. 如何处理类别不均衡问题
  8. 如何判断分类器的好坏(分类器的评价指标)
  9. 介绍Kmeans算法
  10. 特征工程的方法

深度学习

  1. 防止过拟合的方法,dropout的原理
  2. 常用的激活函数,sigmoid的缺点,relu的缺点
  3. 平时用什么优化方法,adam的缺点及解决方法
  4. 介绍平时调参的经验
  5. 介绍BatchNorm
  6. RNN的缺点,LSTM的作用,LSTM和GRU
  7. 除了LSTM和GRU是否了解其它循环单元
  8. 如何处理OOV问题
  9. 介绍word2vec的作用,缺点
  10. 常用的文本分类方法,优缺点
  11. 残差网络resnet介绍,解决什么问题
  12. CNN在图像中1*1卷积的作用
  13. 一维卷积的作用
  14. 介绍transformer,为什么比LSTM好,怎么获取顺序信息
  15. 介绍BERT,ELMO等

机器学习/深度学习这里,《百面机器学习》看两遍就可以了,如果有多余时间可以看一遍西瓜书或者统计学习方法。

除了机器学习/深度学习水平之外,还要考察工程能力,以及代码编写。代码编写准备的方法比较统一,就是刷题。至少要刷完《剑指offer》的所有以及leetcode的"top interview questions"。需要注意的是写题并不是写对了就可以了,还要尽量保证代码的工整性,以及复杂度、异常处理、边界值等等。

工程能力就是考察“机器学习工程师”岗位除了“机器学习”的相关能力了。考察的点很多,比如操作系统,线程/进程,编程语言特点等等,这块通常面试算法工程师的同学都比较薄弱,需要多准备。分享几个常考到的:

  1. 进程/线程的区别,python中怎么实现,谈谈GIL
  2. python2和python3的区别
  3. python中浅拷贝和深拷贝
  4. python的生成器是什么

这块我去年秋招时准备的不多,所以想不起来太多问题,以后想到再补。