本帖最后由 匿名 于 2019-9-19 22:48 编辑
分享下楼主2个月内全职在家找到DS工作的一些经验总结,工作日的时候平均每天花7个小时在准备,周末带娃没怎么复习了。希望能让大家少走弯路,节省时间,有个清晰的准备方向和提供些有用的资料。介绍下背景:2年多的DS工作经验,主要做的analytics。 现在正在FLAG中的某家team match,攒人品求一切顺利,求H1B名额能顺利转走并激活。找工作期间受到很多素不相识的同胞的帮助,希望大家团结起来,互相帮助。论坛不能上传资料,有兴趣的自己去一亩三分地下哈,不需要大米。
这次找工作主要准备了下面5个方向:
product sense SQL/python stats & probability AB test & hypo testing machine learning
第一轮复习: Product sense: 这部分需要很清楚各大公司的goal和盈利模式,他们看重的一些KPI,比如FB/Google主要靠广告收入,credit karma靠成功推荐信用卡,游戏公司根据是平台还是自主开发游戏关注的点又不一样了。熟悉各种metrics,对于一些问题能根据business goal提出最能衡量它的指标。 这类问题的套路一般就是问各种clarification question,不要自己assume(也有例外的公司,我有个onsite就问了面试官各种问题,被面试官说你要会自己assume呀,我们工作中不可能有人给你各种建议提示),然后明白business goal -> metrics -> hypothesis, like it will improve blah blah -> collecting data -> analysis data -> conclusion/suggestion
书:cracking the pm interview 一亩三分地的数据科学Analytics面试精选24题
SQL/Python: 主要复习了SQL一些语法和常用的window function,然后在leetcode做了几道题, Python主要就是复习了pandas这个包,把一些常用的函数自己琢磨了遍。自己写了个文件,涵盖了我面试过程中遇到的所有问题了。都无偿分享给大家,攒人品中。 还刷了Leetcode easy 和medium的算法题,主要是array, string部分。这个帖子也很有帮助。
Stats & probability 主要是把以前上的课拿出来复习了下,这部分主要考贝叶斯和全概率公式,有些公司会考正态分布二项分布,举个例子:比如投硬币,硬币次数投多了就根据大数定理正态分布啦,然后会问你下投的次数越多正态分布曲线怎么变化?还有投骰子。不会直接问你些概念性的东西,但是基本功要牢,问的时候能明白面试官想要考你什么。推荐个可汗学院的统计课,自己觉得挺不错的。还有个做题网站。
AB test & hypo testing 主要看了udacity这个,但是只能说这个是入门级的AB test,很基础但是也很重要,一定要看明白,不明白重复看直到明白了,然后就可以进入第二重境界啦,看高深的AB test。onsite面试过程中AB test环节会问的很深入,基本不会出现udaciy那么简单的问题。 AB test 一般的套路就是 understand business goal -> define metrics -> hypo -> design test plans, sample size? Duration? Regions for AB testing? -> launch experiment -> sanity check and analyze result -> conclusion/suggestion
machine learning 我平时不做模型,所以花了大部分时间在准备这块内容上。建议从linear regression开始准备,基本功一定要打牢,linear regression是最简单的machine learning模型,把这个看懂了后面的其他模型或者一些术语就会融会贯通。面试过程中会问些LR的assumption,logistic regression的loss function,maximum likelyhood function,overfiting怎么办,不会直接问你regularization,但是会隐藏在其他问题里。
强烈推荐这个课,老师讲的非常的清楚非常的好。 上完后可以上Andrew Ng的machine learning,推荐cousera的这个,YouTube那个不大推荐,太花时间。建议认真看完这两个。
第二轮复习: product sense:主要就是看地里的面经和一些博客。还有自己开大开下脑洞。。。
AB test & hypo testing:也是看博客了,你会发现AB test真的是水很深,比如control和test的samples size是90% 和10% 分布,同时测10个metric而不是一个,又要改什么?AB 测试需要注意的事项和assumption是什么? novelty effect是隐藏在这部分很重要的考点,怎么消除?违反了什么assumption?等等。加几个我平时看AB test的网站: 这个帖子不错~ machine learning 主要就是看面经了。自己也总结了些问题,希望能帮到大家,都无偿分享给大家了,攒人品。
最后就是建议大家python的pandas和leetcode得练习下,有些公司的技术面就是全程考leetcode算法(没要求bug free和最优解法,有时候会给你些follow up question让你不断优化),或者让我用python把SQL的解法写一遍,完全就是技术的,这个环节真正花在考AB test和product sense的时间不多。我5个onsite 有2个公司面了我算法,3个公司面到了用python把SQL写一遍,有些公司不会提前跟你说考什么。想要比别人做得更好,那只能是要多付出,做最好的准备。还有回答问题一定要有条理,一步一步说,解释清楚,不要思维跳跃太快,你自己知道所有的细节,跳过了没觉得有什么问题,但是别人不知道,面试官跟不上会觉得你很难交流沟通,我挂掉的面试几乎都是同一个毛病,communication!一定不要忽略这些soft skills。
找工作的过程中,最重要的是心态一定要及时的摆正。这个过程非常的痛苦,道路是未知的,我自己也经常受不了的大哭,觉得自己怎么这么差劲,要找不到工作了,一直压力很大,不断怀疑自己。还有你投了很多的简历,却没有面试,有了面试,明明面的不错却没有onsite或者技术面被拒了,onsite也不错却被拒,或者onsite太晚了连备胎机会都没有。这并不代表你不行你不优秀,只能说运气不好。一般公司的DS坑很少,他们想要招有相关经验的人,有strong communication的candidate。还有你每轮面试其实都是备胎而已或者连备胎机会都没有,很多面着面着就收到position closed或者没有然后了之类的。心态一点要好,尽人事听天命。
|