首先,有些公司可能会给一些大致的指导性原则,面试官应该从哪些大方向上进行考核。比如Amazon会强调面试官应该去考察面试者在ML上的深度和广度。 而更多的公司其实没有明确的机器学习的面试要求,更多的是面试官自己“发挥”。
在我这些年参与的面试里,我能体会到,不同ML面试官的面试题风格多种多样,但也有一定共性,比如有些问题大家都爱反复去问。
比如逻辑回归对吧,它的loss是什么,是用什么优化算法来minimize loss的,minimize这个loss和最大似然估计有什么关系。过拟合要怎么办,L1和L2的区别。这些问题大家会在无数面经里看到。
为什么面试官喜欢问这些问题呢。首先大部分面试官也不想刁难面试者,没有必要去问些很偏门的模型或者知识。其次面试官想知道面试者是真的有机器学习理论基础的而不是只是会调包。而这些高频题,它们首先很基础很重要,是每个做机器学习的人都应该知道,其次面试官还是比较容易通过面试者的回答,摸清他们对于机器学习的理论到底掌握到什么个程度。所以面试官经常喜欢问他们。
说到这里给大家一个我常给篱笆的学生的一个建议,主动去收集高频题是很重要的一件事,题海战术对于机器学习面试是有用的。
在如今这个就业市场,大家的简历上人均三四个机器学习项目。为了能找到真正优秀的机器学习从业者,面试官一般有两件事会想重点考察,一个是面试者是不是调包侠,是不是虽然做了项目,但是不清楚自己的每一个数据处理,每一个模型,每一个决策背后的所以然。
比如面试官会追问你为什么用Accuracy不用F1,为什么要这么做feature不那么做feature,为什么用这个模型不用那个模型。大家可能在很多面经里也能看到很多这种风格的问题。然后面试官会追问模型的各种理论细节,比如你用了XgBoost,那你讲一讲模型是什么,loss是什么,为什么用二阶泰勒展开,等等。基本上一套下来,面试官就大概可以摸清面试者的理论掌握程度了。
另一个考察的方面是面试者的项目经验。比如神经网络如果loss变成Inf会是为什么,比如label不平衡怎么办,比如怎么处理缺失数据等等。这些问题主要是想看面试者有没有执行一个完整的机器学习问题的能力和经验。
知道了面试官是怎么考察面试者的,大家之后在准备机器学习的面试的时候,就需要关注下这些方面的准备。希望这些分享对你有所帮助!