首先大致说下楼主的背景,本科统计,master是DS硕,本科期间有两段国内互联网大厂数分数科实习,找实习前没有刷过leetcode。今年秋季入学,十月底开始找实习,一月底上岸Microsoft data scientist intern。
因为第一学期学业任务非常重,真正开始全面准备DS面试是在十二月初寒假,在其间系统的过了一遍ML,DL,stat,product知识,在准备的期间找到了很多有用的资料,也总结了一些短期系统复习的经验,在这里分享给大家。
DS面试(这里主要是指偏engineering的,非analytics)主要分为以下几个部分:Machine learning(包含ML case),statistics concept,coding(包括SQL和算法), A/B testing(causal inference),Deep learning/NLP/CV/推荐系统等advanced topics(与简历project相关问题)。重要性排序大致是:ML>stat>Coding>AB test = DL/NLP> other topics. 不过在面试前需要仔细阅读岗位要求,琢磨岗位需要的skillset,有些会侧重experimentation,有些会侧重DL,NLP等。下面我就各个部分分别总结一下复习资料推荐。
Machine learning
我当时的策略是按专题一个一个过,总结笔记。比较重要常考的专题有:线性回归(考察基本功,gradient descent,regularization是常考内容),logistic regression(loss function是什么),SVM(模型推导),K-means(描述算法,不同clustering的区别和use case),ensemble learning(bagging和boosting的区别,decision tree的split criterion、算法实现等),除去各种模型之外,model evaluation,data cleaning, model selection等也是常考内容。. From 1point 3acres bbs
参考资料:我当时是以Andrew Ng的 ML 公开课的notes为主要资料,链接贴在这里
同时以林轩田老师的机器学习课件为辅助补充资料(林老师在ensemble learning,decision tree部分讲得很深入),再加上我上学期学校学的ML课件,三个资料总结在一起基本覆盖了所有的ML常考知识点。
在面试之前,我会查面经,总结该公司常考的ML问题,过一遍基本就差不多了。
ML Case. check 1point3acres for more.
ML case 通常是和ml知识点穿插考察,一般是给一个在industry中实际的问题(有可能是组里正在做或者曾经做过的项目),让你提供一个end-to-end的解决方案。重点在于考察:如何选metrics,如何搜集数据转化为可以建模的形式,如何选model(可以从business objective,计算速度,模型复杂度,是否需要实时计算等方面来选择model),如何选evaluation metric(包括imbalance data如何选metric),模型上线后的评估(AB test)等等。这里给大家推荐一个很好的资料:ML Systems Design Interview Guide,作者是一个ML engineer,把如何在面试中回答ML system design总计的很清楚。大家可以根据他的内容总结出合适自己的回答模版。. 1point 3 acres
Stats
因为本科是统计,基础知识点还是比较熟悉的,所以没有花太多时间在stats上,但我找到了一个总结很好的系统复习统计知识点的网站,Data Science for Beginners part 2. 博主把DS基本所有的统计常考知识点都总结了,我觉得写的很好,新手友好浅显易懂。 除此之外,建议大家把P-value,confidence interval,hypothesis testing这几个基本数学concept定义熟知,同时提前准备好non technical explanation(最好是讲故事举例子来解释)。关于stat concept的解释YouTube博主data science pro总结的很好,大家可以看看。.1point3acres