Chinese In North America(北美华人e网)

注册
返回列表 12345678» / 35
发新话题 回复该主题

1#

(帮忙内推FB)Data Scientist 跳槽经验总结帖+复习资料推荐

来回报论坛了,说说自己近期面试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%, sql10%, python10%, spark (specifically, pySpark 10%).

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


先说结果: 投了40家左右

Offer: fb, google

Rej: Linkedin and a startup (onsite rej)

twitter (after 2 tech interview)

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

Uber (failed first tech interview)

Airbnb (failed on data challenge)

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

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

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


【时间线】

172月,开始上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的区别,每个公司定义不同,但可以参考这里:http://www.1point3acres.com/data-science-machine-learning-engineer-etc/

小心提示下: linkedindsmle不可以同时面,只能21 Fbapple可以同时面,面试结果互不影响。

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

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

【面试范围】

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

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

【要不要刷题???】

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

如果你面的titlemle, 或者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,具体过8case。每个case都有3个面试者,然后victor cheng分别点评,提出改进建议。这个我在喜马拉雅fm app上听的,免费:

http://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 Statisticshttps://classroom.udacity.com/courses/ud201

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

2.       Penn state universitystats 414 415.

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

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

Probability

我看了2个:

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

我做了前面5course的免费题目,看了解答。主要是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完全没经验,参考别人的帖子吧。。。


Overall ds跳槽的面经推荐阅读:

http://www.1point3acres.com/bbs/forum.php?mod=viewthread&tid=300246&extra=page%3D1%26filter%3Dsortid%26sortid%3D311%26searchoption%5B3088%5D%5Bvalue%5D%3D7%26searchoption%5B3088%5D%5Btype%5D%3Dradio%26searchoption%5B3091%5D%5Bvalue%5D%3D1%26searchoption%5B3091%5D%5Btype%5D%3Dradio%26sortid%3D311

这个面经写的非常好!!有很多我没cover的点,比如怎么写简历,linkedin network,如何安排时间等等,请一定看一下~


【我是刚毕业怎么办?】

建议第一份工作也许不能是dream job ,但一定要有一些值得你去的点,是和你的dream job 相关联的。衡量工作的内容,想想以后写在简历上会不会添彩?比如你想做ds,但如果现在一份工作要求你天天用sas,真心建议别去了。如果你想做MLE 但现在一个工作要求你用tableau reporting?也别去了。


最后,有问题的话麻烦回帖,大家一起来讨论。不要私信。如果你非要私信我我也不回的,请尊重我的要求。

    已有2评分我要评分查看所有评分

    最后编辑supermuyes 最后编辑于 2018-02-22 12:19:06
    转发
    TOP
    25
    0
    2#

    Mark.........,,,
    TOP
    0
    0
    3#

    thx for sharing
    TOP
    0
    0
    4#

    强烈mark,谢谢lz,写的太详细了
    TOP
    0
    0
    5#

    强贴mark!恭喜mm!超赞的总结和分享,十分感谢!!!
    TOP
    0
    0
    6#

    Mark!
    TOP
    0
    0
    7#

    markmark,恭喜楼主

    ---发自Huaren 官方 iOS APP

    TOP
    0
    0
    8#

    lz写得好详细

    ---发自Huaren 官方 iOS APP

    TOP
    0
    0
    9#

    谢谢楼主分享,写的太好了。
    TOP
    0
    0
    10#

    mark,谢谢楼主
    TOP
    0
    0
    发新话题 回复该主题