作者Chuchu Zhang,本科 USC Chemistry专业,大三转到UC Berkeley CS专业毕业后,在加州湾区某家startup工作一年。通过在来Offer的学习,拿到了Google、Facebook、LinkedIn、Apple、Amazon、Uber、Twitter、Bloomberg、Square等公司在内的9个Offer。
我从2015年开始参加来offer培训,断断续续到现在已经两年多了。
这两年来通过与很多非常优秀的同学和老师切磋,让我打磨出了非常Solid的算法、编程和系统设计知识。
等到去面试的时候,已经对自己的水平非常有信心了,拿到9个大公司的Offer不能说是意料之中,但也可算是水到渠成。
非常感谢来Offer对我的帮助。
借着这篇文章,我想谈谈这两年找工作的经验和方法,希望能给大家带来一些帮助。
大三转专业,求职屡碰壁
我从大三开始转专业学CS,当别人都开始找暑假实习的时候我还在独自啃CS基础课,对面试一点概念也没有。
大三下学期的时候我报名了来offer。一年内,我上了两遍来Offer的课程,但都没有坚持上完。虽然说确实有学校的课业重、实习时间紧的问题,但是最关键的还是求职的觉悟不够,比较贪玩。
由于我上课不认真也没有认真练习算法题,当我大四去找工作的时候,我虽然拿到了大公司的面试机会,但是都以失败告终。在此期间,因为我两遍课程都没有好好上完,我也不好意思和来Offer的老师们联系。
小试牛刀,加入Startup
直到2016年三月,我还是没有拿到正式offer,这时候离毕业只剩两个月了,我开始着急了起来。
不得已,我硬着头皮找到了孙老师。孙老师听了我的情况以后很着急,立刻为我安排重新上课。
这次我终于认真了。
和很多CS科班的同学一样,刚开始似乎感觉很多知识点学校都学过,但是当我真正跟着孙老师完整地把课上下来,才会有一种醍醐灌顶,一通百通的感觉
从基础到提升,我学到了很多。
比如,之前我做算法题目没有什么条理,可上完课之后,我却能清晰地解释出“怎么从brute force的解法开始一步一步优化”、“遇到某一个类型的题目应该从哪入手”等问题。
在认真听课两个月以后,我终于在5月底拿到了一个startup的offer
精益求精,拿下9个大公司offer
在公司工作了一段时间以后,我发现自己还是想去一线大公司工作。于是,我又联系了孙老师,并在2017年二月加入了小班。
小班和大班相比覆盖的内容都差不多,但是深度却加深了很多。
闫老师不仅把每一道题都讲得非常透彻,而且还会从题目出发,联系不同的知识点,教大家如何从最暴力的解法一步步推导至最优解,以及,怎样分析不同方法的Trade Off等等。
此外,老师不仅仅会教大家如何改善算法,还会教大家怎么弄清楚每一个variable的物理意义,使写出来的代码准确不冗余。
我每一次上课都会忍不住感叹老师的代码又简洁又精巧,不愧是最顶尖的工程师。
我觉得即使不是为了找工作,来Offer的课程也是非常有意义的。如果你愿意从师于真正的Top Coder、Top Engineer,成为一个具有强大实力的软件工程师,那么你真的应该加入来Offer。
在上了半年多小班以后,我在今年10月拿到了几个大公司的offer。
理解算法和推导,才是最高效的做题方法
我觉得做题应该从基础的题目开始,来Offer的算法课程和Laicode的题目是最重要的,做完这些题目,大多数面试中的题目你都能回答了。
做题顺序来说,我觉得最有效的是根据老师上课的进度,及时地完成课上例题和作业,这样能够更好的理解这部分知识点。
上小班的时候,我会根据公司的tag和老师上课的进度找相应的题目来做。
我觉得做题数量不是最要紧的,更重要的是理解算法和推倒的过程,能够做到举一反三。
另外,不用一味地追求最优解。
有的时候最优解不是很intuitive,我会理解次优解,而不是花很长时间在理解最优解上。有一些难的题目比如说DP, 我会先用DFS来做,然后改成DFS + memorization,最后再改成DP。这样对加深理解很有用。
面试的时候我也经常从次优解开始做,最后优化到最优解。并不是故意想给面试官一个我没有做过这道题目的印象,而是和面试官讲清楚自己理解和推倒的过程,让他清晰地理解你解决问题的思路。这个过程也在面试中起到加分作用。
另外,和同学们组成学习小组也是一个非常好的方法
我想谢谢Jack老师和讨论组的同学督促我做题。如果没有参加讨论组,我可能到现在也没有做几道题目。
和大家一起讨论能够锻炼自己表述、解释和总结代码的能力,也能够增加学习的积极性。
如何准备面试
除了算法之外,我觉得对于面试来说,对自己projects的了解和平时知识的积累很重要。
面试的时候,面试官会问很多关于以前projects的问题
所以一定要想清楚,为什么要做这个project,为什么要选用某一样technology而不是别的alternative。弄清楚一样technology和alternative之间的trade off,对于提高system design的能力也很有帮助。
与此同时平时的积累也很重要
比如说我比较喜欢读一些Tech Blog,平时的工作中用到的工具我会读Document去弄清楚Architecture。
另外我喜欢参加一些Tech Conference和Tech Talk, 这些不但是很好的学习机会,而且是很好Networking的机会,能够近距离的遇到一些Recruiters和Engineers。
比如说,我拿到LinkedIn的面试就是因为我去参加了Kafka Summit并且和LinkedIn的Recruiter聊了天。
这些平时的积累在面试中发挥出来不但能够帮助System Design,而且会让面试官觉得你对新的Technology很感兴趣,是一个很Passionate的工程师
写在最后
最后我想告诉大家的是,不要因为一时的挫折而放弃或者灰心。
在我找到第一份工作之前,我也曾在面试中被人拒绝无数次。当时,身边的同学都拿到了大公司的Offer,而我却连工作也没有。
我也会Depressed,会暴饮暴食长胖,会每天都觉得自己一事无成……

可是,你看我现在,经过一年的学习也拿到了想要的Offer。
所以,只要付出时间和努力,最后都会变好的。
当然,这一切都少不了孙老师、闫老师和Jack老师对我的帮助,我真的非常感激。
最后,希望大家都能找到自己喜欢的工作。
E/N/D
2017最后一期班
冬季1班正在火热招生中!
  • Early Bird立减300刀,想获得300刀以上的优惠,请联系课程管理了解更多优惠福利政策!
  • 2人及2人以上团购,可获得300刀优惠。
  • 推荐学员,可获得300刀Refer Bonus。
(以上优惠不可叠加使用,上限为500刀)
报名方式
添加来Offer课程顾问为好友
直接进行课程报名咨询
如需电话咨询,请发送简历至
老师将会在24小时内与你联系。

求职,你只需要一门课程!
来Offer课程介绍
(点击图片即可查看)
继续阅读
阅读原文