职场 | Data Scientist 跳槽经验总结帖 复习资料推荐

北美华人论坛请访问:
m.huaren.us 或 www.huaren.us
(国内用户请访问:m.huaren4us.com 或 www.huaren4us.com

楼主:supermuyes

来回报论坛了,说说自己近期面试data scientist 的经验。

ps:如果大家觉得写的东西有帮助想来试试fb的话,欢迎找我内推~私信联系方式咯~

提问的话, 还是帖子里问 ,这样大家都可以看到 。谢谢!

背景:ms systems engineering + 2yr work experience in a small (not start-up) company, daily responsibility includes data analysis, modeling, machine learning, some text mining, some big data analysis. 不做任何reporting and visualization,也没有所谓的product analytics (experiment design),和flg要求的有较大差距。

Skill set (括号代表非常真实的工作时间分布): r (70%), sql(10%), python(10%), spark (specifically, pySpark, 10%).

坛里一定有很多比我牛的人啦,我只是新人一个。在这里我只想给出一个非牛人,但挺努力有目标的人会怎么准备。目标是想去湾区做ds。

先说结果:投了40家左右

Offer: fb, google

Rej: Linkedin and a startup (onsite rej)

twitter (after 2 tech interview)

Apple (不同组跟4个hm聊过,最终有被拒也有withdraw)

Uber (failed first tech interview)

Airbnb (failed on data challenge)

还有好多其他公司,有的跟hr聊聊发现不合适,有,有的默拒,有的好歹还告诉你一下被拒了。

总结下:就是太小的公司,投了也白投,直接简历悲剧。我大概投了25+小公司,只3个好歹给我电面。其他就是没消息。

所以觉得自己背景还不错的朋友,建议安排面试的时候,从不太想去的中/大公司开始,到自己最想去的大公司。找小公司成本很高, 投的时候麻烦而且又没面试。

【时间线】

17年2月,开始上JIUZHANG算法初级课,刷题,断断续续到6,7月吧。(***如果找ds,刷题没用,看后文)

期间,边玩边刷剧边复习,复习内容后面会说。

7月中,开始投简历,以小公司为主。开始断断续续的电面等等。

9月中,开始投最想去的一波公司(FLG等其他共10个左右吧)。

10月, 第一个onsite 小公司,fail。这段时间基本2周一个onsite,去了三次。

11月,确认offer,谈价钱,完事。

再说开始投简历之前的准备:

第一,  先搞明白自己到底想做什么。

最开始,在data scientist 和machine learning engineer 之间摇摆不定。MLE么,一来很火,钱多多了,还有也更偏技术点,我bf强推我走这条路。于是开始了刷题之路。

最后,没选择走mle,坚持了ds。一是虽然会编程,但是没上过正经的算法课,刷题基础不好,看题刷题很痛苦。二是,结合了自己的兴趣和能力,衡量下了之后觉得ds这种通才更适合我个人发展。个别公司给了面mle的机会,有的take了,结果发现自己水平也不够,有的就直接拒了。

关于ds和mle区别,每个公司定义不同,但可以参考这里:

https://www.1point3acres.com/data-science-machine-learning-engineer-etc/

小心提示下:linkedin的ds和mle不可以同时面,只能2选1。Fb,apple可以同时面,面试结果互不影响。

第二,  列出公司列表,按自己想去不想去的程度,分出几个档次。然后倒着投。我还是建议把最想去的公司放到最后。面试是一个学习进步的过程。前期不管是跟人聊自己的经历,proj也好,面tech聊ML的可以帮助自己找到知识点的查缺补漏等等,我觉得这对后来面大公司很有帮助。

第三,  心态调整。面试是个双向选择,互相平等选择的过程。表现在去面试的时候,要显得自信而不自傲。和面试官平等沟通。把面试当成去公司上班的一天,去和同事解决问题的一天就会轻松很多了。

【面试范围】

从简单到难,目前我观察ds面试主要有3块,一是处理数据的能力,flg都是靠考察sql能力为主;二是所谓的product analytics,这块比较虚了(很难复习),考察的内容很宽泛;第三是统计,概率和machine learning,我复习的较少,认为基础还行吧,主要是上课学过。

根据我自己的情况,我花的时间大概是10% - 50% - 40% 吧。很多也在日常积累中。

【要不要刷题???】

我的回答,如果是面ds,真心不用。类似leetcode那种算法题,完全没考到!

如果你面的title是mle, 或者software engineer-data science/machine learning/data mining 这种的,一定一定要刷。

【Sql复习资料】

如果你连sql是啥都不知道,建议从这门课学起:
https://lagunita.stanford.edu/courses/Engineering/db/2014_1/about 只看开头和relational database 两章足够。
https://community.modeanalytics.com/sql/tutorial/introduction-to-sql/
如果你已经很熟悉sql,日常工作中有用到,稍微复习下这些题目足够了:
https://leetcode.com/problemset/database/
【product sense 复习资料】

1.学习管理咨询那套解决问题的框架:

朋友推荐看的书是case in point, Case Interview Secrets (我都没看,没时间)

我推荐的是听后者作者的一个讲座,look over my shoulder,具体过8个case。每个case都有3个面试者,然后victor cheng分别点评,提出改进建议。这个我在喜马拉雅fm app上听的,免费:

https://www.ximalaya.com/5269453/album/6414597/

我一共听了3+次,开车听。

2.Product design:我看了这个:

https://classroom.udacity.com/courses/ud509

3.一定要复习的是ab test. 我对ab test 是完全没任何工作经验的,所以从0 开始学习。我看了以下材料 (按顺序):

首先,系统学习下什么是ab test(个人完整看了3次以上,认真写了笔记,每次去onsite的飞机上都是复习这个笔记)

https://classroom.udacity.com/courses/ud257

然后,我看了这个:A/B Testing for Business Analysts

https://classroom.udacity.com/courses/ud979 看一次,主要理解了randomize design and paired design, 第一个课里没仔细讲的。还有这个课非常短,适合短时间看一下的。

最后上这个:

https://community.modeanalytics.com/sql/tutorial/sql-business-analytics-training/

因为学习了很久,我一直的疑惑就是实际工作中到底怎么展开研究一个问题?到底什么是正确答案?这个系列training解答了我很多疑惑,而且也结合了sql的处理,一定建议对每个图,打开右上角的view query in Mode,建立从提出问题到数据处理之间的联系。

4.补充的资料,时间不够可以不看了的

Model building and validation:

理解所谓的QMV process, questionè model è validation.  以下这个课我是加速看的前3章。

https://classroom.udacity.com/courses/ud919

【stats, probability, machine learning 复习资料】

Stats 我复习的少,主要针对tests, hypothesis testing 看了一下这些:

1. Intro to Inferential Statistics:https://classroom.udacity.com/courses/ud201

主要看了estimate, hypo testing 这2个,其他也来不及了没看。

2. Penn state university的stats 414, 415.

https://onlinecourses.science.psu.edu/stat414/

哪里知识缺了就来补看一下。

【Probability】

我看了2个:

1. https://brilliant.org/courses/probability/ (强烈推荐)

我做了前面5个course的免费题目,看了解答。主要是Bayes rule, conditional probability, expection 这些概念的理解和灵活应用。

2.https://www.amazon.com/Practical-Guide-Quantitative-Finance-Interviews/dp/1438236662
一般是推荐给面quant的人的,我看了其中概率题的那章。忘记是哪个了。。。

【machine learning】

这部分我主动复习的很少了,在学校上过课+我bf是做这个方向的,他帮我复习了各个算法的情况,优劣势等等。具体到面试中,考察的内容比如是,提出什么问题,收集那些数据,用什么feature,哪些transformation, 如何data cleaning, 如何选模型?如何evaluate model etc。。。我自己写了个笔记,就写面到的,错过的,想到的知识点等等。要面试前会复习的。

如果对ml完全没经验,参考别人的帖子吧。。。

(0)

相关推荐