【持续更新】陆本毕业0基础转码,国内工作gap两年收获fb intern

avatar 558419
xkahj
12221
57
我18年本科毕业,在转专业这条路上吃了一些苦头,也总结了一些经验,希望可以帮到正在经历相似困境的朋友,也有一些困惑希望可以和大家讨论。还有就是希望地主们多投喂大米hhh

转码前我的背景:
我在大学之前就打算以后来美国发展,我本科是在南方科技大学读的材料专业,在大三下学期之前我的规划一直是来美国读PHD,为此我也做了很多准备,所以我在大三上学期申请了大四之前那个暑假的暑研项目和大四上的交换项目。但是从大三一开始我就开始怀疑自己是不是适合材料这个专业,当时想转材料的主要原因是我觉得材料很难把自己的想法变成现实。我大二大三申请过项目和投过会议。当时我很天真地觉得我写的应用前景都能实现,我做的东西肯定能帮助到很多人,但是师姐告诉我这些东西在未来的十年甚至几十年基本都不可能被实际应用,我开始怀疑自己做的自己做的东西是否有意义。到了大三下学期,我纠结到有些意志消沉了…我当时一方面犹豫自己是不是应该放弃材料,放弃读PHD,但是舍不得已经投入的沉没成本。另外一方面我在犹豫如果转专业应该转什么专业。当时我有两个想法,一个是转金融数学,是因为我很崇拜的一个学姐是学金融数学的,我觉得她每一步走的路,都是我想走的路。另一个想法是转计算机,其实我从来没有想过转计算机,因为我大一上的Java通识课学得很痛苦,但是在充分分析了赴美前景之后,我不得不承认计算机是一个性价比很高的选择。在赴美之前,我终于下定决心转计算机,当时我的情况学校不允许转专业+延毕,我只能硬着头皮准备年底申请cs master。在美国交换的前半段,我刚从高度精神紧张的生活里解脱出来,完全沉浸在新鲜的美国生活里,在后半段里我申请的压力越来越大,整个人情绪很不好,我虽然选了一门python课,也在努力准备申请cs master,但我当时真的是学不清楚学不明白,加上没有任何cs相关背景+极弱的数学背景,基本没希望申请到专排和综排都不错的学校。

转码进行时:
17年底我申请cs master的时候由于cs背景不够找的中介,中介不仅没起作用还帮了倒忙,这个后面会详细说。17年底交换回国之后,我继续申请master, 但其实当时已经是半放弃的状态了。大四下除了做毕设和补两门必修课之外,我主要在思考了三个问题:(1)如果gap我应该怎么办,(2)我要gap多久, (3)如何提高自己的计算机水平。关于第一个问题,当时我有三条路,一条路是肄业,在学校旁听一年补cs的课程再毕业;第二条是厚脸皮留在我的实验室做ra,之后在学校旁听cs课程+自学;第三条是头铁找工作。因为我家里非常反对我转专业,我也不想接受家里经济上的帮助,同时我也看到了不少本来打算出国读书,gap year在学校待废了的例子,我下定决心要找工作,养活自己的同时积累计算机相关背景。 gap多久这个问题我很快有了答案,我要gap两年,如果gap一年的话意味着我很快就要再次申请了,我觉得我在多半年的时间里并不能很好的提高自己的cs背景,多于2年我怕我会慢慢放弃出国读书的目标。关于如果提高自己的计算机水平,我咨询了很多cs专业的同学和上网查了一些资料,我定当时定下的目标是在2019年底再次申请美国的cs master,在工作之外,我要自学完数据结构与算法和操作系统两门课。这里有个需要反思的点是,其实我大四下有挺多时间学习,但是由于我太焦虑了花费太多精力在保持情绪稳定上和做心理建设上,以及不知道cs课程应该怎么学习,这个学期基本也没学到什么东西。转眼到了春招季,我很想找工作,但是无从下手,因为我相关背景实在太弱了,面一家挂一家,产品经理我也面,也是挂。后来机缘巧合,我同学在他朋友圈看到一个初创教育网站在招打算出国的gap year学生全职工作,待遇比较低但是对专业能力要求很低,我当时和CTO谈了一小时我的材料研究成果+人生规划,一直信誓旦旦地保证我学习能力超强…之后就被录取了。后来我毕业之后就从深圳去了北京,开始了打工人的生活。

刚进第一家公司,我真的什么都不会,git我不会, 装环境也问题百出,我用java或者python写不出超过10行的代码,而且我第一家就职的公司是用Go工作。我第一个小任务是写一个ip池,帮助数据部的同事爬数据。我每天加班都半夜,但是对于当时的我来说太难了,调用API就几行代码,我都花了将近一天才明白。当时流过太多眼泪,回家偷偷加过太多班了,但是整理完情绪还是得继续,因为这是自己选择的路。但是我非常幸运,我第一家公司的CTO是前googler,他人在美国,虽然都是和我远程语音,但是非常有耐心肯带新人,同时review我的code非常仔细,我的pr改5 6遍才过都是常事。我印象特别深,我第一次做我们网站上一个新功能,我做不出来,pm也很着急一直在催我,他和我说,不能因为pm催就降低自己代码的质量。他对我的帮助不仅是教会我怎么写code, 他也在教我明白一个工程师应该做哪些事情。我其他的同事也非常nice, 真的是手把手带我。就这样我慢慢熟悉了工作,度过了试用期,成为了北四环千千万万光荣的打工人之一。另一件对我成功走上cs道路帮助很大的事是,有几个cs专业的同学总是问我具体做什么方向? 其实一开始他们问我这个问题的时候,我很生气,我觉得他们对我要求太高了,我能得到现在这份工作养活自己已经用尽所有力气了,我根本不知道cs有哪些方向,我根本不清楚我的兴趣具体在哪个方向,什么方向更适合我。但是生气完了,我就开始思考这个问题了,我到底想往哪条路上发展呢?我在第一家公司大部分时间是在做网站后台开发,写接口和操作数据库,我们网站的数据库访问量很小,根本涉及不到什么并发的问题,严格意义上来说我就只是在写代码,而不是做和cs相关的事情。 关于这个问题我思考了大概半年,直到我第一次跳槽。当时我跳槽的原因是想回深圳,待遇太低以及公司不需要我做有挑战性的工作,所以我在19年3月打算跳槽。当时我的背景还是很薄弱,所以我完全没有考虑过大厂。国内用Go语言的小型公司主要分为云计算和区块链两个方向,由于第一份工作我有使用docker的经历,我选择了云计算方向。这次找工作,我同样只面试了一家公司,由于云计算我了解的太少了, 很搞笑地我大部分时间又在和CTO聊人生规划…之后就又被录取了,我就回到了我最爱的城市—深圳。

第二份工作挑战也很大,首先我不是一个纯新人了,角色也不是gap year的学生了,第二家公司对我的要求肯定比第一家更高。而且云计算涉及到的知识也更多更新。我第一个挑战就是上手Kubernetes和理解公司业务逻辑。我第二家公司算是外包公司,帮客户做SaaS平台。我觉得到我离职之前,我都没有把所有组件的逻辑弄清楚。所以第二份工作一开始也是完全从头学起,还是很痛苦,还是咬牙坚持。虽然CTO不会像我上一个boss一样耐心了,但是也是很nice,给我时间,给我机会。我也结交了关系不错,对我帮助颇多的同事。第二家公司中间出现过财务危机,所以有一些在公司很久,负责很多业务的老员工走了,留下了不少历史遗留问题,同时在业务迭代的过程中,发现了很多严重的架构设计问题。这一方面增加了我工作的难度使我非常痛苦,另一方面也给了我修改公司架构的机会,其中我做过一个很重要的任务是修改我们平台的微服务的通信架构,在这个过程中我学到了非常多东西,我也有了第一次当leader的经历,第一次站在一个项目负责人的角度想着怎么把控整个项目的进度而不是只关心自己手头上的工作,同时我也有了oncall的经历。如果说第一份工作我只是在学习写代码,那么第二份工作我已经开始接触一些computer science的东西了,比如说网络,linux和并发,我对cs的兴趣也在慢慢提升,我会渴望学习更多cs的基础知识并把它们应用到工作中。我会到上github向开源项目的管理者请教middleware的场景,自己设计功能并写demo验证,在第二份工作中我对于工程师角色的理解也在慢慢加深,也开始思考我以后的职业发展目标。

我太困了…明天继续。

补充内容 (2021-3-11 10:20):
在工作的同时,我为了提高口语和作文成绩又考了两次托福,为了提高作文分数考了一次GRE。最后我申请时的标化成绩是108和325+3。cs基础课我只上完了Coursera上的Stanford算法,不过我上的比较认真,作业和quiz都认真做了,感觉这块的基础打的比较扎实,对我后面刷leetcode打下比较好的基础。17年申请的时候我是找的中介全包,当时觉得中介写的文书挺好,但当自己有了一些cs的背景之后,再回头看17年的文书,根本就是毫无内容堆砌语言。所以我觉得申请学校重点是要看自己的背景和经历,语言只要没有大问题就行。如果自己在相关背景方面差太多我更建议gap补背景,17年申请我其实是有offer的,但我觉得学校我不够满意,而且即使我去上学了找工作也没有竞争力,上学的钱打水漂的概率很大,所以我就放弃了。19年申请的时候我全程diy, 当时托了不少朋友帮我改文书,有cs专业的,也有非cs专业的。我提几个文书里我做了较大修改的点。首先不管是在cv还是ps里,在具体阐述一个project的内容的时候要点出你的contribution,如果有可以量化的数据最好,没有的话也可以用enable, augument…这些词点出为什么你这项工作是有意义的。比如我优化了一个网站的架构,最直接的就是我提高了%多少的网站响应时间,如果没有这种具体的数据,也要换种表达来体现你工作的价值。第二点是ps讲的故事不仅要紧扣主题也要注意措辞。比如我前文提到了我转专业的原因,我一开始在ps里也是那么写的,但我朋友给我提的意见就是,这和cs有点不相关了,而且表达出我对research有一些消极的态度,每个学科都是需要research的,这对我申请会有不好的影响,我后面把表述改成了cs更可能把我的想法做成一个产品,我可以用我的产品帮助到很多人并且通过用户的反馈来进一步提升我的产品。第三点就是要思考自己长期的career goal。我一开始在ps里写到我这两年为去读Master做了哪些具体的努力,我朋友给我指出,我的目标不应该局限在读master上,我这些努力也不只是为了读一个master就完事了,我应该想想我在这个行业上到底想到达什么位置,想做成什么样的事。我的ps,cv呈现出的内容基本全是我将近一年半的工作经历,我朋友们整体反馈比较好,我也把19年的申请当作对我过去一年半工作的检验。同时有些学校还要求写一封focus on your personality rather than acedemic background的文书,我觉得这个文书写起来特有意思,我是一个很爱回顾和反思的人,我常常会想近几年我的一些改变,但是为了写这个文书我要从我很小时候的事开始回忆,我会想我到底是什么时候想来美国读书的,我怎么一步步来的南科大,我的性格和观念都发生了什么变化。我发现我这10几年做了蛮多和大家不一样的选择的,当时就很能感受到乔布斯说的"You can't connect the dots looking forward; you can only connect them looking backwards.

19年申请的时候我在选校方面的要求是(1)城市安全生活质量好,(2)学校综排和专排都在前40,(3)学校在东西海岸主要城市,(4)申请纯cs/se项目,(5)项目时长在15个月到24个月,(6)公立学校优先(学费较便宜)(7)不申请很卷的学校比如CMU, Columbia(当然人家可能也看不上我),以上条件排名分先后。原因:(1)我17年在UCI交换过半年,尔湾在全美生活质量我觉得能排进前三,而且我在这边朋友很多,当时过的非常开心。我觉得学校的地理位置对留学体验很重要。(2)前40的学校在简历上不会有负面影响。(3) 东西海岸公司多,对找工作有帮助,其中肯定加州最优,不过covid时期这一点影响被弱化了。(4)我的一个弱点是没有正统cs学位,所以只考虑cs项目和software engineering项目。(5)我需要有暑期实习。(6) 私立学校的master对我来说不会比公立学校起到更大的帮助,性价比较低。(7)我的目标是找到工作,很多大公司是按学校分hc的,在很卷的学校里我没有优势。 综合考虑下来,我最想去的学校是UCI,最后也顺利收到UCI SE master的offer了。

我去运动了…晚上继续。

补充内容 (2021-3-11 16:40):
申请master方面补充一点,我的推荐信是两家公司的CTO各一封,本科学校两个材料系的教授帮我各提交了一半的学校。我觉得想找上司要推荐信,首先就是不要一开始就刻意隐瞒自己有出国读书这个打算。我两位上司都知道我有出国读书的打算,所以要推荐信的时候不会尴尬。我第一家公司的上司是自己写的推荐信,第二家上司是我给了初稿。其次就是认真对待工作吧,这样上司会愿意帮忙。我在12月底完成了所有的申请,从一月下旬开始陆续收到ad。

关于收到ad之后选校,我觉得可以根据我上面提到的几点选校要求对学校综合打分之后决定,当然具体顺序和权重每个人都不一样。关于担心具体学校的就业问题,可以联系一下现在就读于相同项目的前辈了解一下项目找工情况,不光要了解整体上岸比例,也可以了解一下一般哪些公司会把那所学校当作target school,自己的dream company是否在该项目招过人。比如Facebook是真的喜欢UCI….了解情况的时候一定要客观,千万不要觉得自己是天选之子,虽然之前项目找工情况不好,但自己一定没问题啥的…在前期调研的时候还是要尊重数据。

20年2月份的时候我在的公司因为疫情冲击资金周转出了问题,放了将近一个月的无薪假,我也借这个机会开始刷leetcode。3月下旬的时候我建了一个leetcode刷题群,大家每天都要发自己的做题截图,从建群到20年底我会定期查过去几天的打卡记录,没有打卡的话按5元/次发红包,这个群一直维持在35-60人的规模。我从2月底到12月初一共刷了421道题,有些题可能做了超过5遍。我感觉这种有人“值班”的小群很有用,很推荐要刷题的朋友建小群互相监督。从3月到7月我也在一直处于比较焦虑的状态下,3月复工之后我一边上班一边刷题任务还是蛮重的,同时美国疫情不断恶化,美签开放遥遥无期,当时很担心能不能顺利来上学,以及应不应该今年来上学。但是最后觉得无论来不来美国,都是在赌博,那我没必要放弃我已经计划了这么久的事情。同时我也觉得中国关系在恶化,即使疫情结束了我能不能到美国读书依然不确定,所以我就在7月初辞职了,在8月中旬用了17年交换时办的f1签证,借道柬埔寨来美国上学了。柬埔寨曲线赴美详情见这个帖子instant.1point3acres.cn

入学和找实习:
先贴一下一些公司的timeline
Intuit:
20.09.02intuit通过ghc简历池捞了我给我发了oa —>
20.09.08完成oa —>
20.09.11约coding面 —>
20.09.17 coding面 —>
20.09.21约value面 —>
20.09.28value面 之后就默拒了。

Google:
20.08.31内推 —>
20.09.22完成网申 —>
20.10.15 HR要成绩单 —>
20.10.19下OA —>
20.10.26约面试,back to back coding面 —>
20.11.24电话拒

FB Production Engineering:
20.09.10内推 —>
20.09.22被邀请参加PE learning session —>
20.10.17参加learning session —>
20.11.18 找hr要的OA —>
20.12.16做完OA下面试 —>
20.12.22号coding面 —>
21.01.08 System面 —>
21.01.12下offer

LinkedIn:
20.11.04在LinkedIn实习拿return了的朋友直接给我推到hr手底下了,当天下了OA —>
20.11.11完成OA —>
20.11.18 hr move to next step —>
20.11.20和hr打电话,定面试时间 —>
20.12.04 两轮back to back, 先bq再coding —>
20.12.14 hr电话据 —>
20.12.15不服气发邮件aruge —> 12月下旬和hr反复沟通争取到了一个组招加面的机会 —> 21.01.12和LinkedIn一个小组的manager加面,更像一个team match —> 21.01.17再次挂

FB SWE:
20.09.10内推 —>
20.10.26hr联系 —>
20.10.28下OA —>
20.11.17 coding一面 —>
20.12.08 coding二面 —>
20.12.15据信

Amazon:
20.09.13内推,14号完成网申 —>
20.11.13收到邮件让我检查资料 —>
20.12.10说我申请未完成, 过了2天补全 —>
21.01.06下OA1

有一些小公司就不记录了。其他的公司,TuSimple有毒, OA做完之后简历挂直接冷冻一年;Arista面试友好,国人大哥给力,当天下offer, 还给推迟了一周签offer的ddl; Snowflake,Dropbox,Amazon后来因为接了offer就没再面; 微软简历拒,苹果一直没消息。

我从8月中旬开始写简历,9月初定了最终稿,后来就一直用的这份简历没有再修改。简历需要注意的地方首先就是格式要清楚明了。写简历和写申请文书一样要想办法突出自己的contribution。我觉得公司会更感兴趣申请人实习和全职工作做的工作,如果有超过连续3个月的工作内容建议写详细一点。我个人觉得简历上项目在精不在多,如果有很多项目可以写,可以挑几个写的详细一点而不是都堆上去。一个好的LinkedIn profile很重要,有些职位可以直接通过领英投递,很方便。也有些hr会从LinkedIn上找人发面试,不过这种情况一般小公司居多。我从9月到10月上旬投了超过100份简历,基本上是看到职位就投,除了FLAG和两三家中型公司是内推的,其他都是海投,10月中旬开始我放慢了投简历的频率,只有感兴趣的大中公司开放职位了我才会投。我觉得秋招找实习很重要的一点就是早投简历,一般9月初开始是最合适的,再早可能hc还没放开,直接简历据。我觉得找实习可以和朋友建一个10人以内的小群,一起分享职位信息和各种资料,相互鼓励/相互给peer pressure,有同家公司的面试一起整理面经和准备面试效率也会更高。我有一个8人的实习小分队,除了一个大兄弟运气实在有点差,还在面试,其他7个人都已经上岸了,其中4个人是Facebook。我会觉得美国公司不管大厂还是小厂会很看中工作经验,这4个人里3个人有2年及以上的工作经验,另一个确实是基本没实习经验的应届生。所以客观来说,工作经历对过简历关帮助巨大,同时公司并不会在意你之前工作的公司是不是大公司,他们关注的还是你具体的工作内容。对于大部分应届生来说,我觉得能不能进FLAG主要看Amazon给不给机会。

我秋招基本一直在和FLAG纠缠…如果算上我没有继续做的亚麻OA,和我argue来的LinkedIn组招,我一共有6个来自FLAG的机会,现在回头想想幸亏是有了个FB PE的offer…不然也有一点点丢脸。因为之前在请朋友帮忙修改简历和找人内推的阶段,收到了不少正面反馈,所以我对找实习是比较有信心的。我来美国之前给自己定下了保Amazon冲Facebook的目标,但是可以说是造化弄人,我的秋招十分坎坷,我在去年12月的时候一度打算退学回国。

今天就这样了….明天写一下FLG具体的面试经历,准备方法和反思。以及刷leetcode的小心得。
  • 240
57条回复