· 技术面试
技术面试的话,会涉及到很多领域的内容,这里我就结合自己的面试经历,把一些经常会问到的领域展开分析一下,哪些不常问的领域,我就不过多介绍了。
(1)machine learning
Machine learning这个方向的热度有多高,我应该不需要多说什么,大家都了解。我申请的岗位是model方向的data scientist岗位,在面试中主要问的问题基本上都是machine learning方向的问题。比如说模型评估、如何优化模型、不同模型的差异点以及某些算法的细节。我之前在面试的时候,被问的比较多的算法包括svm、clustering、tree based models、logistic regression以及pca等等。当然有些公司在面试的时候,也会问一些数据方向的问题,比如如何选择feature、unbalance应该怎样处理等等。有时也会被问到一些deep learning方向的问题,面试中的大部分问题都和公司的经营范围相关度比较高,如果有时间的话,个人建议computer vision、NLP这些都可以提前准备准备。
(2)stats & probability
stats & probability方向的问题,主要就是概率和假设检验此类的问题。在面试之前可以去看一下a practical guide to quantitative finance interviews这本书,上面有一些知识还是很有用的,对面试有一定的帮助。
(3)SQL
Analytics分支的data scientist的很多面试官都对SQL情有独钟,有时间的话,多刷刷题,或者去论坛上看看那些前辈的面经,这些都是很有帮助的。个人建议,如果你想申请Analytics分支的data scientist的话,还是多学习一下subquery、aggregate function等相关的知识,这样会更加稳妥一些。
(4)algorithm
大概可能也和我选择的岗位性质有关,我申请的岗位,很少会被问到coding题目。但我认识几个申请machine learning engineer的小伙伴,还是会碰到coding题目的,比如说高难度的算法题目。会不会被问到coding题目,主要还是看你申请的是什么岗位。如果你打算申请machine learning engineer此类岗位的话,那肯定是刷题帮助会更大一些,最好可以刷到中等难度,如果有能力的话,就刷到高等难度。
(5)product
产品类别的技术面试,对我而言还是有一些难度的,因为这方面的经验并不是特别丰富。之前在产品技术面的时候,面试官问过我如何设计A/B Test、如何选择metrics此类问题。如果你对产品方面比较感兴趣的话,我可以给你推荐两本书,一本是A Collection of Data Science Challenges,还有一本是Lean Analytics。
Case
面试说完了简历面试和技术面试,我们来了解一下第三类——Case面试。Case面试的话,又分为两小类,第一是商业case面试,还有一类是machine learning case面试。先说说商业case面试,面试官会针对企业的运营内容、经营范围等方面进行提问,所以你最好可以提前了解一下公司的概况,避免不知道答什么;然后再来说一下machine learning case面试,面试的题目大部分都是现场给你一个data challenge,你需要在一定的时间内做出解决方案。对于machine learning case面试的准备,只能平时多积累了,多跟一些machine learning的科研项目,积累一些实务经验。如果你申请的公司是初创公司的话,还可能会涉及到咨询case面试,这里我可以给大家推荐一本书——Case in Point。