我们组从原来的家庭小作坊的温馨和谐,其乐融融,变成了企业式经营,所有人都来 “新官上任三把火”,我觉得弄得效率很低。所以,对我来说:
1、组里项目已经成熟,和老板交流后发现明年的项目并没有什么意思。
2、组里人太多,马上就要 re-org,我虽然基本知道我的新老板会是我在组里最要好的朋友和导师,但是,他刚刚变成 manager,肯定要适应,我的升职肯定会受到影响。
3、我想再生个宝宝,那样,基本上最新两年升职没戏了。于是,在 18 年圣诞,我就下定决心,准备跳槽。
###准备过程:
说干就干!
好久没有上 leetcode 的我,打开了网站,一切还是那么熟悉与陌生。当时宝宝只有 4 个月,所以,我的时间比较零散,周中基本上每天 1-2 个小时,周末一天会有 3-4 个小时用来学习。以下按照我的个人经历。你要是能全职准备,或者基础扎实,其实应该很快。
1、热身期(1-2周)
我先开始按照通过率高的开始刷,只挑 easy 的刷,增加信心,找回感觉。这样刷起来很快,我刷了两个周末就刷了 60+道。但是刷到后面感觉没有意思,碰到会做的会做,不会做的还是不会做,没有
任何实质进步,再这样刷下去没有意义了。
2、学习期(1周)
于是我开始系统性看书,我老公一直是推荐算法导论,但是我觉得翻译不好,看得不大明白,一看就困。
我觉得基础知识一定要打好,面试的时候,除了 FB,感觉别的公司多多少少还会,不是说考,而是交流的时候,会涉及一些平时的工作的,或者是基础知识。特别是,有的时候我做题很快,面试官没有准备,就会问一些临场的问题,那就什么问题都有可能了。
但是只要打好基础,系统性有个全面的了解,一般碰到没有听过的东西,我直接就说我不知道,好像也没有任何麻烦。但是,要是问到基础性的问题,说不会就不太好了。反正到处都是雷,打好基础能最好的帮助避开这些雷。
3、突飞猛进期(1 个月)
学习结束之后,我又回到了 LeetCode。我开始分类攻克,按照数据结构和算法,拿出几个常见的类型,一类一类的看。包括树,图,dfs,bfs,recursion,linkedlist,hashmap,priorityqueue,等等,leetcode 里都有。按照频率,一道一道刷,理解,掌握方法,融会贯通。在此我推荐一下前几年和老公一起写的书。
我们都是强推以质代替量。保证理解,能考虑为什么这道题要这么做,是先有方法再有题目,而不是一味的做一道题,想一个方法。一道题做了,做一道类似的题,举一反三一下。掌握解这种类型题目的方法。得问问自己为什么这道题能用这个数据结构或者这样做?有没有别的方法?
对此,我还是推荐一定主攻 leetcode 前面 150 道题,基本上要是全部会就无敌了已经。要是保险,再刷刷每个类的高频题强化一下。
LeetCode 都相当经典,高频题肯定也是好题,面试官平时面来面去也就这么几道题,比如我自己基本上就面一道和自己 project 相关的题。他们选考这些题是有原因的。比如可以考多个知识点,或者对一个知识点考的很全面,或者对代码质量要求比较高,或者有多个解法发散思维等等等等。所以都是好题,值得理解。
与此同时,我刷我刷我刷刷刷,一道一道一道刷。
(感觉确实有点麻烦,我在下面给大家整理好了,电子版书籍+我的一些学习笔记+学习视频需要的可以在我的【GitHub】里查看,我免费分享给大家!
4、瓶颈期(依个人了,看什么时候会有这个 “aha” moment,方能进入无所不能)
刷着刷着,就又进入了,会做的还是会做,不会做的还是不会做。瓶颈期来了。。这个时候,我不再那么奋力什么每天刷几道几道了。我开始看做过的题目,开始总结,做笔记。很累,很失望,知道自己到瓶颈期了,再刷题已经没有质的飞跃了。
总结,做笔记,看笔记。开始模拟面试。一开始,绝望,觉得刷了这么久,白板一来又脑子空白了,不知道自己在说什么。没关系,总结经验,继续模拟。我开始花更多的时间去思考,而不是做题目。开始花时间去想明白。
看了一下,我这次一共刷了 200 道,包括前面的热身的60道。
5、无所不能期
我开始一天天进步,不知道什么时候,经过几次模拟面试,我老公说我可以毕业了。我自己并没有意识到。于是我开始广投,开始了我面一个进一个,面一个进一个的旅程。
6、阿弥陀佛无欲无求期
开始了我漫长的 onsite,更多的是我想看看,逛逛不同公司的文化。而且能省去午饭钱。基本上在所有的公司,我都会说,在我现在这个阶段,我真得是无欲无求,我只想找一个适合我的公司,你们也找适合你们的 engineer,我们是 mutually equal and this is a mutual experience.
###笔记整理
- 一、Flutter
-
二、Android Framework
…(img-G1nqpdMx-1643015884631)] -
二、Android Framework