专栏首页Java程序员的技能宝典北大“女学霸”,3 个月内拿取硅谷10 家顶级科技公司offer!
原创

北大“女学霸”,3 个月内拿取硅谷10 家顶级科技公司offer!

经过 3 个月精心准备,我拿到了 Google,Facebook,Netflix,linkedin,Snapchat,Roku TV,Amazon,Signal,Wealthfront,Toyota Research Institute 一共 10 个硅谷公司的 offer。airbnb 结果还没出,uber, dropbox 面试体验不好,最后 onsite 直接 withdraw。Soundhound intuit HR 自己说他们待遇不 competitive,所以也 withdraw 了。最终大概率在 LinkedIn Staff 和 Netflix 之间选一个。

背景:

本人 13 年北大毕业,本科读的是信息管理与信息系统专业,和图书馆学是一个系。我的数理能力肯定不是顶尖,高考是靠语文英语拉分的。后来追随男朋友(现在的老公)来美国读了 UCSD,强转计算机专业。我 13 年刚刚入学 UCSD 的时候,连 terminal 也不会用,从本科算法课,操作系统课开始一点点补。来美国上了第一个 quarter 之后,靠老公对我的冬令营,刷题补习,拿下了 Apple,Facebook,Amazon 的暑期实习。14 年暑假选择了和老公隔壁组的实习,因为深知自己计算机水平完全不够,只是会刷题,想和老公近一点,能帮助指导,减少我不必要的压力,同时增加拿到 return offer 的概率。14 年暑期实习表现的很好,实习的 project 也被选上 org 最佳。实习结束后,高高兴兴拿到了return offer。于是我在 Apple 一呆就是四年。

出发点:

在 Apple 工作的四年里,结交了很多好朋友,深交了几位知己。第一年 exceed,RSU refresh 了工资的 60%,升职成功,超过预期,短暂高兴过头觉得自己是人生赢家。工作更加积极努力。第二年 exceed,股票比前一年多给了一万,基本符合预期,短暂高兴过后是平静。工作依然卖力积极。也在这一年,我鼓励老公跳槽升职成功,他顿时包裹丰厚,把我狠狠甩在了后面。也听说身边很多同学,升职跳槽成功,真心为他们高兴,努力就有收获。当时我完全没有考虑跳槽,因为这年的项目特别好,我觉得是一个非常好的机会。所以,我同样卖力工作,怀着孕,但是丝毫没有懈怠,代码量还是组里前三。18 年 7 月份开始休产假。宝宝出生后 7 周我就回去上班了。不久 review 就出来了,第三年 exceed,股票再比前一年多给了一万,感觉有点失望,不是说钱少,而是感觉我再怎么比组里其他人努力,但是基本上都差不多了,再没有惊喜,大锅饭,可预测性太强。同一年,老板也想升职加薪,因为项目带的好,“编出来” 好多 head count,招了 5 位新成员,其中有一位来自 cisco,强推 CI,新成员狂写 unit tests,搬到了 Apple Park。我们组从原来的家庭小作坊的温馨和谐,其乐融融,变成了企业式经营,所有人都来 “新官上任三把火”,我觉得弄得效率很低。

所以,对我来说:

1、组里项目已经成熟,和老板交流后发现明年的项目并没有什么意思。 2、组里人太多,马上就要 re-org,我虽然基本知道我的新老板会是我在组里最要好的朋友和导师,但是,他刚刚变成 manager,肯定要适应,我的升职肯定会受到影响。 3、我想再生个宝宝,那样,基本上最新两年升职没戏了。于是,在 18 年圣诞,我就下定决心,准备跳槽。

准备过程:

说干就干!我打开了网站,一切还是那么熟悉与陌生。当时宝宝只有 4 个月,所以,我的时间比较零散,周中基本上每天 1-2 个小时,周末一天会有 3-4 个小时用来学习。以下按照我的个人经历。你要是能全职准备,或者基础扎实,其实应该很快。

1、热身期(1-2周)

我先开始按照通过率高的开始刷,只挑 easy 的刷,增加信心,找回感觉。这样刷起来很快,我刷了两个周末就刷了 60+道。但是刷到后面感觉没有意思,碰到会做的会做,不会做的还是不会做,没有任何实质进步,再这样刷下去没有意义了。

2、学习期(1周)

于是我开始系统性看书,我老公一直是推荐算法导论,但是我觉得翻译不好,看得不大明白,一看就困。

我在 UCSD 做过算法和操作系统的助教,算法我强力推荐我老师的书,浅显易懂,看起来快。

我觉得基础知识一定要打好,面试的时候,除了 FB,感觉别的公司多多少少还会,不是说考,而是交流的时候,会涉及一些平时的工作的,或者是基础知识。特别是,有的时候我做题很快,面试官没有准备,就会问一些临场的问题,那就什么问题都有可能了。但是只要打好基础,系统性有个全面的了解,一般碰到没有听过的东西,我直接就说我不知道,好像也没有任何麻烦。但是,要是问到基础性的问题,说不会就不太好了。反正到处都是雷,打好基础能最好的帮助避开这些雷。

3、突飞猛进期(1 个月)

学习结束之后,我开始分类攻克,按照数据结构和算法,拿出几个常见的类型,一类一类的看。包括树,图,dfs,bfs,recursion,linkedlist,hashmap,priorityqueue,等等。按照频率,一道一道刷,理解,掌握方法,融会贯通。在此我推荐一下前几年和老公一起写的书。我们都是强推以质代替量。保证理解,能考虑为什么这道题要这么做,是先有方法再有题目,而不是一味的做一道题,想一个方法。一道题做了,做一道类似的题,举一反三一下。掌握解这种类型题目的方法。得问问自己为什么这道题能用这个数据结构或者这样做?有没有别的方法?

对此,我还是推荐一定主攻 leetcode 前面 150 道题,基本上要是全部会就无敌了已经。要是保险,再刷刷每个类的高频题强化一下。LeetCode 都相当经典,高频题肯定也是好题,面试官平时面来面去也就这么几道题,比如我自己基本上就面一道和自己 project 相关的题。他们选考这些题是有原因的。比如可以考多个知识点,或者对一个知识点考的很全面,或者对代码质量要求比较高,或者有多个解法发散思维等等等等。所以都是好题,值得理解。

与此同时,我刷我刷我刷刷刷,一道一道一道刷。

4、瓶颈期(依个人了,看什么时候会有这个 “aha” moment,方能进入无所不能)

刷着刷着,就又进入了,会做的还是会做,不会做的还是不会做。瓶颈期来了。。这个时候,我不再那么奋力什么每天刷几道几道了。我开始看做过的题目,开始总结,做笔记。很累,很失望,知道自己到瓶颈期了,再刷题已经没有质的飞跃了。总结,做笔记,看笔记。开始模拟面试。一开始,绝望,觉得刷了这么久,白板一来又脑子空白了,不知道自己在说什么。没关系,总结经验,继续模拟。我开始花更多的时间去思考,而不是做题目。开始花时间去想明白。

看了一下,我这次一共刷了 200 道,包括前面的热身的60道。

5、无所不能期

我开始一天天进步,不知道什么时候,经过几次模拟面试,我老公说我可以毕业了。我自己并没有意识到。于是我开始广投,开始了我面一个进一个,面一个进一个的旅程。

6、阿弥陀佛无欲无求期

开始了我漫长的 onsite,更多的是我想看看,逛逛不同公司的文化。而且能省去午饭钱。基本上在所有的公司,我都会说,在我现在这个阶段,我真得是无欲无求,我只想找一个适合我的公司,你们也找适合你们的 engineer


结语:

至此,我要感谢所有在这个过程当中支持过我,帮助过我的恩师们。尤其万分感谢那些帮我内推,传授经验的大佬们。大家不惜自己的时间来指导帮助我,受到大家的雨露,让我茁壮成长,我真得感激不已。感谢我老公的帮助和鼓励,感谢爸妈帮我照顾我可爱的宝宝,感谢宝宝让我更有动力,努力向上。

作者:roger-shen 链接:https://leetcode-cn.com/circle/article/BCRG4D/

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java程序员:面试前利用这6个“套路”,让你轻松“镇住”面试官,拿取高薪offer~

    以前有个人来我公司面试,我两个下属都给了极高评价,异口同声曰:此子,出乎其类拔乎其萃,乃不可多得之专家码农。我听完很高兴啊,人才啊, 拍桌而起,心里默默说,这次...

    秃顶的Java程序员
  • Spring官网阅读系列(十一):Spring中的BeanWrapper及类型转换

    BeanWrapper的子类只有一个:BeanWrapperImpl,它继承了ConfigurablePropertyAccessor,这个接口的主要功能是进行...

    秃顶的Java程序员
  • 工作十余年的Java大佬:以自身“血泪史”,告诉你毕业后第一份工作怎么选?

    好,不开玩笑了。大部分毕业生初次找工作,多个 offer 的薪资差别不大的情况下,选择公司确实比较纠结,大公司福利好、制度完善,小公司简单高效、锻炼人。

    秃顶的Java程序员
  • [Silverlight]简单实现DataGrid使用CheckBox选择行

    以前写过几个方法实现这个功能,但最终还是选择了不继承DataGrid,所以再重新发布出来。

    dino.c
  • 断网超过150天,克什米尔终于部分恢复互联网

    2019年8月4日,印度人民党政府单方面取消了其控制的克什米尔邦的自治权,派遣军队去平息可能的骚乱,并切断了当地的互联网。

    FB客服
  • 自己手动复现一个熊猫烧香病毒

    最近逛了一下 bilibili ,偶然的一次机会,我在 bilibili 上看到了某个 up 主分享了一个他自己仿照熊猫病毒的原型制作的一个病毒的演示视频,虽然...

    Angel_Kitty
  • 通过PicturreId获取图片路径(Url)

    wfaceboss
  • JS魔法堂:那些困扰你的DOM集合类型

    一、前言                                     大家先看看下面的js,猜猜结果会怎样吧!   可选答案:   ①. 获取id属...

    ^_^肥仔John
  • 摸鱼 | 有内鬼,停止交易 ( 推荐两个 Github 项目)

    代码可以使用 Docker 直接部署,作者连 Dockerfile 与 docker-compose 配置文件都一并上传了,可以说很贴心。

    咸鱼学Python
  • 算法基础6:二叉树查找

    算法是基础,小蓝同学准备些总结一系列算法分享给大家,这是第6篇《二叉树查找》,非常赞!希望对大家有帮助,大家会喜欢! 前面系列文章: 归并排序 #算法基...

    大数据和云计算技术

扫码关注云+社区

领取腾讯云代金券