零基础刷题拿到亚麻社招Offer的经验

avatar 153626
lyzxgz
41854
138
去年七月写了篇《哎,Data类实在太难招工作了》(原谅错别字),经过了楼主大半年的奋斗,拿到了亚麻音乐社招的sde全职offer,另外拿到的onsite有Apple(onsite挂), Google(onsite安排出了问题,后面详说),Twilio (onsite 挂), Amne(Onsite还没去)。目前打算从了Amazon music。这篇文章主要讲讲楼主这一年找工作的经历,积累下的经验,希望能够帮助到广大还在挣扎中的朋友。

首先讲一讲Data类的工作大致分成三类,data analyst, data engineer, data scientist。面试所需的skill set如下:
DA: SQL, case study, 重bq
DE:算法easy到medium(也有公司是hard比如苹果某些组的DE跟sde是一个标准);SQL,ETL知识,轻BQ,轻ML知识
DS:算法easy到medium,比DE要求低一些;SQL, ML算法,统计,case study

如果你是刚开始考虑自己到底是找Data类还是码农类的工作的话,如果你肯下功夫刷题,我的建议是SDE>DE>DA>DS。为什么?Data类的工作看似非常好入门但是有很多坑,就DS来说,不同公司的考点不同,你不仅需要学ML,统计,case, 还有算法,内容太多太杂,虽然每一样都是比SDE好入门但是复习起来非常不容易。楼主就是自学的统计跟ML到后面面试的时候还得花时间去复习。不如直接算法来的straightforward,无论面那个公司只需不停地focus刷题就可以。而看似最好入门的DA,就是因为太好入门了,所以很多美国人也可以做,注重work cross functionally,所以语言非常重要,对大部分同胞来说还是吃亏的。

之前那篇文章中楼主讲了自己的背景,地里应该没有背景比楼主更差更难过简历关的了,所以在去年楼主投出去的简历都是没有回复的。在去年的8月份楼主在一个求职群里看到有个华人小公司招人,抱着试一试的态度居然被录用了,虽然薪水非常非常低,但是工作经验对于专业不对口的同学来说非常有用,今年开始投简历以后得到的回复就有一些了。楼主去年入职的华人小公司非常小,刚进去的时候只有几个人,本来打算认真好好干几年的,几个月后公司发生了一些不可说的事情,楼主变成了最早入职的员工,从那之后打算跳槽了。在职刷题的日子非常艰苦,每天下班后已经非常累了,还是逼自己多刷几道题,楼主当时还有音乐上的活,整个人非常非常累,一度还累生病了。转机发生在今年年初。

GOOGLE
今年1月末的时候看到Google有个music operation的工作,需要3年的sql经验,以及music industry operation的经验,楼主本科时候陆陆续续有个两年part time的经验,硬着头皮让youtube music的朋友给我内推了。结果一周后直接收到了onsite邀请。由于这个职位非常冷门,晚上没有任何面经,楼主决定拖个半个月再去onsite,后来被证明这是个不好的决定。大家找工作的时候如果碰到这种组招点对点的职位,只招一个的,能尽快面就尽快面,不要等到自己准备好了再面。投简历也是一样,组招的职位,越早越好,拿面试远比面试困难。Google的onsite定在了NYC,一切都订好NDA都签好后,楼主发现了个问题。当时的工作是在波士顿,貌似狗家HR以为我在纽约,丝毫没提trip安排的事。楼主战战兢兢地问了下报销的事,没想到HR说哦你不在纽约啊,那就先电面吧。。。直接哭晕。。电面很顺利,都是些music industry的问题,面试官也很喜欢我的背景,本来以为过了,结果第二天发现这个职位撤了。然后接到电话说这个职位被filled了,但是feedback不错,所以不冷冻,让我看到别的合适的职位告诉她。虽然狗家的这个职位挂了,但是对我的帮助非常大。为了准备这个面试,我找了7个朋友每人给我模拟30到45分钟的BQ电面,涵盖了各种有可能被问到的BQ,对之后的面试帮助非常大。我建议大家在准备BQ的时候最好找人给你模拟,在别人面前说会有面试的氛围跟感觉,跟自己跟自己说完全不一样。

APPLE
本帖隐藏内容需要登录后才能查看。

挂了苹果的Onsite后楼主一度陷入深深的绝望,倒不是因为想进顶尖的公司,是觉得只有那几个公司才愿意不介意我的专业给我面试,而我却没有把握住。哭了几天之后静下心来,继续海投,得到了一些回应:
CRUNCHBASE:
本帖隐藏内容需要登录后才能查看。

AMNE:
本帖隐藏内容需要登录后才能查看。

TWILIO:
他家是Data engineer, growth. 是一个需要三年工作经验的职位,不知为啥给了楼主面试。面试体验非常好,回复也很快。加上HR轮,一共5轮电面,才给楼主发了onsite邀请。5轮电面中一轮hr; 一轮technical 一道medium sql加一道medium 算法;两轮印度女HM面(第一轮因为她要坐飞机只面了15分钟,第二轮一小时);一轮VP面 BQ加上case分析。VP说他们组里有很多musician,所以会很有意思之类的encourage我。Onsite 五轮,一轮bar raiser纯BQ,2轮database design,一轮HM纯聊天,一轮Data analyst聊项目细节,case分析。她家办公室很漂亮,整体很年轻,氛围很好。HR跟我交流下来关系还不错,说最后招了个有更多工作经验的,我说没关系,保持联系,以后有什么合适我和我朋友的opening可以联系你,她说好的没问题。大家如果看上twilio的职位,觉得跟自己特别match的可以把简历发给我,我帮你转发hr。

AMAZON:
本帖隐藏内容需要登录后才能查看。

去年这个时候楼主hashmap都不知道,就这么不停地边刷题边在职工作终于守得云开见月明。面试等待的日子非常煎熬,楼主也不知道当时是怎么熬过来了,如果没有爱人跟朋友的陪伴,真的很难渡过这段时光。去了amazon music对楼主来说应该是最好的结果了,跟专业相关,包裹跟location也不错。希望还在奋斗的朋友们不要放弃希望,坚持刷题是王道。楼主一共刷了433题,题不多,但是每一道都刷了至少三遍以上。每个人的学习方式不一样,最重要的是找到适合自己的学习方式。我来提供一下我的学习方式,不一定适合所有人:
楼主从小就是属于拿到电脑或者小霸王直接上手,不看说明书的那种,在犯错中进步。看说明书会让我静不下心,而直接上手会有feedback让我做对题目有成就感。但是算法上建议大家先看一下data structure跟algorithm:
1. princeton 的 algorithm网课
2. interactivepython.org
第二个source非常好,是Python data structure方面从0开始入门的好东西,非常建议0基础同学学一下这个。我每次面试之前也都会巩固一下。
看完之后就可以上手刷题了。刷题最困难的是easy类别的前200题,从无到有的过程。我建议大家第一遍刷题不要花太多时间,10分钟想不出来看答案的思路。过完一轮后开始二刷。二刷就要保证不看答案就能通过,并且会最优解,以及明白复杂度。二刷后过一段时间三刷,三刷就当成自己的模拟面试,一拿到题边说边写,注意变量名,并且要会在coderpad.co上运行。刷完这200道easy题基本上各种的data structure跟算法都会接触到了。
然后开始做medium的题,从easy到medium甚至hard,比从0到easy要容易一些,算法还是那些万变不离其宗,重要的是适应思路。比如dp其实就是数学归纳法的思路,算n想象你有了n-1的解,然后逐个归到0时候的解,这样from top to bottom。会了之后再想想能不能from bottom to top降低复杂度。每个人的情况不同这里不多说,刷了一些medium跟hard之后大家再根据自己的薄弱环节专门找时间刷一个主题的题。比如楼主本来对heap啥都不知道,找了一个下午狂刷了一些heap题之后就没问题了。还有graph曾经是楼主的噩梦,花了好久的时间一直做graph题才搞清楚一些。这时候还可以回过头看看普林斯顿那个算法课,会有新的理解。

其他的不多说,这一年确实是我经历的最大的磨难。非常理解地里一些找不到工作绝望的朋友的心情,大家看到能鼓励就鼓励,不能理解就不理,希望国人还是能够团结互帮互助,在海外飘着都不容易。为了回报地里,我打算在入职之前为一些朋友提供无偿的模拟面试服务,按照苹果的面试标准跟流程用coderpad.co让大家熟悉熟悉感觉,并从各个角度给出建议。由于精力有限会根据大家的简介筛选,并仅提供给python选手。需要的同学可以把简历跟自我介绍发到我邮箱1point3acres.com (非我名字)。

另外求SF地区一起租房或者有房间的朋友。
以及想找一名sf地区的mentor, 我会给paid, 最好是有大数据经验。楼主还是觉得自己很多方面需要学习一下,以免被pip。都请邮箱联系我。谢谢

祝大家都能找到自己心仪的工作!

补充内容 (2019-5-30 03:02):
补充一个海投的经验。大家海投的时候一定要注意根据role的jd去写,role需要什么样子技能跟经验(比如work cross functionally)就写上去,会增加很大的几率。不相关的技能不要放上去了,找工作时要展示对方需要

补充内容 (2019-5-30 03:03):
对方需要什么你给什么,不要什么都放上去。简历最重要的是match而不是看你这个人有多厉害。切记切记!!!
  • 501
138条回复