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

s
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的区别,每个公司定义不同,但可以参考这里:http://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上听的,免费: 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 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完全没经验,参考别人的帖子吧。。。
Overall, ds跳槽的面经推荐阅读: 这个面经写的非常好!!有很多我没cover的点,比如怎么写简历,linkedin, network,如何安排时间等等,请一定看一下~
【我是刚毕业怎么办?】 建议第一份工作也许不能是dream job ,但一定要有一些值得你去的点,是和你的dream job 相关联的。衡量工作的内容,想想以后写在简历上会不会添彩?比如你想做ds,但如果现在一份工作要求你天天用sas,真心建议别去了。如果你想做MLE, 但现在一个工作要求你用tableau 做reporting?也别去了。
最后,有问题的话麻烦回帖,大家一起来讨论。不要私信。如果你非要私信我我也不回的,请尊重我的要求。
u
utnaer
2 楼
Mark.........,,,
z
zhuangzhuang27
3 楼
thx for sharing
S
Schnauze
4 楼
强烈mark,谢谢lz,写的太详细了
沐尔
5 楼
强贴mark!恭喜mm!超赞的总结和分享,十分感谢!!!
s
sherry11
6 楼
Mark!
j
julie78417
7 楼
markmark,恭喜楼主 ---发自Huaren 官方 iOS APP
奈奈anna
8 楼
lz写得好详细 ---发自Huaren 官方 iOS APP
j
jiangnan66
9 楼
谢谢楼主分享,写的太好了。
s
sindylee
10 楼
mark,谢谢楼主
h
herion518
11 楼
非常感谢!!!!
蹉跎
12 楼

来回报论坛了,说说自己近期面试data scientist 的经验。
背景: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了,结果发现自己水平也不够,有的就直接拒了。 小心提示下: 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上听的,免费: 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 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完全没经验,参考别人的帖子吧。。。
Overall, ds跳槽的面经推荐阅读: 这个面经写的非常好!!有很多我没cover的点,比如怎么写简历,linkedin, network,如何安排时间等等,请一定看一下~
【我是刚毕业怎么办?】 建议第一份工作也许不能是dream job ,但一定要有一些值得你去的点,是和你的dream job 相关联的。衡量工作的内容,想想以后写在简历上会不会添彩?比如你想做ds,但如果现在一份工作要求你天天用sas,真心建议别去了。如果你想做MLE, 但现在一个工作要求你用tableau 做reporting?也别去了。
最后,有问题的话麻烦回帖,大家一起来讨论。不要私信。如果你非要私信我我也不回的,请尊重我的要求。

supermuyes 发表于 12/10/2017 11:03:18 PM
mark一下谢谢分享
i
icyhui
13 楼
好贴,准备去读data science的学位
什么名字好
14 楼
mark学习
S
Stefanie2015
15 楼
非常好的帖子,辛苦楼主了! 想了解DS专业需要什么基础,大概几年能读下来?谢谢
北京的家和小白猪
16 楼
非常感谢分享 好贴
j
joy35113115
17 楼
lz棒棒哒!写得真详细,赞
c
cindy_us
18 楼
这个必须mark,谢谢lz
l
lianzi
19 楼
赞一个。华人上面现在这样的帖子太少了。
b
birdbeyondsky
20 楼
赞!写得很实在
b
baklava
21 楼
Mark mark!congratulations!
k
kelly825
22 楼
mark 谢谢mm分享
c
chryct
23 楼
好贴 谢谢lz分享!
豆妈007
24 楼
谢谢分享!
y
yr_bfish
25 楼
mark!感谢lzmm分享!
Y
Yuanxi
26 楼
楼主说的DS和MLE的区别是什么?怎么感觉这些公司对DS的定义很狭窄,好像和以前的modeler, statistician 似的?真正的DS也是要做大量工作,包括清理数据,整合数据,还要控制模型如何在大数据平台上最高效的运行的。要不然只能等米下锅,完全被data engineer 牵着鼻子走了。
c
claraly
27 楼
mark mark, thanks for sharing!
s
sunshinelulu
28 楼
谢谢楼主分享
k
kebler
29 楼
多谢lz!
能问一下package 范围吗?被弯曲贫困线吓倒。另外你说到mle好像比ds有明显差异?能具体解释下吗?
面试过程中感觉对过往项目经验要求高吗?
d
doupaxiong
30 楼
写得太好了!真的很实用! ---发自Huaren 官方 iOS APP
g
guiyuan
31 楼
写得很详细
l
liuruoying
32 楼
Mark.
大雁飞飞
33 楼
markkkkkkkkkkkkk
谢谢楼主分享
f
flyerx
34 楼
非常同意,这样的ds很容易被data engineer给牵制住,最好既能modeling,也能参与production

楼主说的DS和MLE的区别是什么?怎么感觉这些公司对DS的定义很狭窄,好像和以前的modeler, statistician 似的?真正的DS也是要做大量工作,包括清理数据,整合数据,还要控制模型如何在大数据平台上最高效的运行的。要不然只能等米下锅,完全被data engineer 牵着鼻子走了。

Yuanxi 发表于 12/11/2017 1:11:00 AM
r
real_daniela
35 楼
Thanks for sharing
r
reboot2014
36 楼
mark.楼主好厉害。谢谢分享
l
lubboo
37 楼
成功只给有准备的人 mark... ---发自Huaren 官方 iOS APP
h
hellosunzz
38 楼
Mark!
r
ryechan
39 楼
进来围观牛人 谢谢楼主的经验!
k
kitten1
40 楼
强烈mark,谢谢lz,写的太详细了
Schnauze 发表于 12/10/2017 11:16:23 PM
来来来
41 楼
虽然不找工作,也要赞一下楼主的热心分享!
C
Cwang14
42 楼
Mark mark 谢谢楼主
O
Oceannight
43 楼
谢谢lz分享
v
vinila
44 楼
Mark。谢谢lz! ---发自Huaren 官方 iOS APP
p
potato1113
45 楼
太厉害了,谢谢耐心的lz,进来沾沾喜气
s
sophiababy
46 楼
恭喜楼主!非常感谢这么详细的分享!
e
everything
47 楼
谢谢lz的分享。有心人
r
runindark
48 楼
mark, 谢谢楼主
m
miejueshishi
49 楼
多谢楼主分享
n
nface
50 楼
Thanks for sharing!  Very smart mm!
b
babeelaine
51 楼
mark一下 赞一个lzmm
E
Eveyang
52 楼
mark!
c
cherryrum
53 楼
干货很多,谢谢lz!
s
sunnynaroah
54 楼
mark!谢谢楼主分享复习资料
h
huang826
55 楼
恭喜mm mark
j
jerryfe
56 楼
楼主写得太详细了!收藏了。多谢分享!
L
LQLOVENK
57 楼
markmark
z
zhouuuuuuuuu
58 楼
谢谢分享!! ---发自Huaren 官方 iOS APP
b
bunnybunny123
59 楼
ds mark!
l
laiemilyyan
60 楼
mark谢谢分享! ---发自Huaren 官方 iOS APP
d
drth8120
61 楼
马一下,谢lz分享
j
jjwwddgg
62 楼
mark,必须细细读。楼主报下offer数字可以吗?
幸福家园
63 楼
赞LZ,太好了谢谢分享!
D
DigitalChick
64 楼
前途无量。紫薯紫薯
m
mumu007
65 楼
好贴,学习了
L
Littlesun2014
66 楼
总结得真好,谢谢楼主
m
mandymandy
67 楼
mark mark 多谢分享
s
szchq
68 楼
总结得真好,谢谢楼主
Littlesun2014 发表于 12/11/2017 10:51:36 AM
M
Mollyso
69 楼
Thanks for sharing! Good stuff!
R
Robbie16
70 楼
多谢楼主,存着
l
little-princess
71 楼
mark, thanks for sharing!!
e
eileenby
72 楼
谢谢MM,攒着晚上看
r
rainyballball
73 楼
MARK!!!强赞!
p
puresun
74 楼
马一个 谢谢
e
elias
75 楼
超赞,拜谢!


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

沐尔 发表于 12/10/2017 11:18:00 PM
w
wygreentea
76 楼
mark, 赞
m
marssoil
77 楼
谢谢lzmm分享,好详细
c
cici159
78 楼
谢谢分享
慧紫蓝忻
79 楼
感谢楼主,Mark!
c
charlize
80 楼
太详细了,赞无私分享的lz
d
doukounianhua
81 楼
Mark mark
c
charmyss
82 楼
Data Scientist
s
snowmelt
83 楼
ds跳槽资源马克。多谢楼主分享
d
driftyy
84 楼
谢谢分享~~~~~
j
jennyqq
85 楼
Mark...,
南京小芝麻
86 楼
牛人!mark ds ---发自Huaren 官方 iOS APP
M
Mongkiki
87 楼
一定要Mark 恭喜拿offer!沾喜气
b
busyapple
88 楼
马可!马可!马可
j
jenniferMM
89 楼
mark, 赞楼主
c
cottonsugar
90 楼
感谢分享! ---发自Huaren 官方 iOS APP
p
pichazhu
91 楼
写得很实在,多谢分享
h
happy26
92 楼
Mark!
c
chenbao
93 楼

lz之前的工作,需要的技术data analysis 、modelling. 是不是已经大部分算是可以胜任ds工作了,还是说你面试准备时学了很多新的技术,比如说an test.
l
luckmm_sf
94 楼
回复 1楼supermuyes的帖子

Mark mark
H
Hannah1984
95 楼
mark 学习
b
bericade
96 楼
赞楼主 谢谢分享
f
ftianqd
97 楼
写得太好了,这个一定要Mark一下 ---发自Huaren 官方 iOS APP
M
Momokohime
98 楼
楼主能讲下ds的工资范围吗?还有这些大公司里da和ds的区别
x
xixi7779
99 楼
Mark .......thanks
蜂蜜芥末
100 楼
Mark,给楼主点赞👍,这样的干货在Huaren 越来越少了