校招前几个月,如何高效地进行复习?距离明年春招还有三个多月的时间,不少想找实习和想参加补招的同窗应该也都在忙着复习。今年的春招已结束,我在开始准备秋招了,也就是从4月份到7月份这段时间,我完成了一次比较系统的复习。因此把一些经验分享给你们,总归会有一些参考价值的。程序员
壹面试
平时的积累和沉淀redis
研究生期间我有一件事情一直在坚持,那就是作笔记和写博客。算法
作笔记,就是记录学习中大大小小的事情,多是面试问题,多是一周的学习计划,也可能知识一个知识点,总归都是值得记录的东西,对我来讲,就是一种积累。而对于博客,我从一开始只用于记录项目,到后来作转载,再到后来写原创,整理系列文章,则更像是一种沉淀。编程
可是在春招刚刚结束的这段时间,我发现一个问题,以前学过的东西忘记了不少,特别是那些理解的不够深的知识点,老是特别容易忘记。另外我发现,虽然我在笔记中记录了不少的知识点和面试题,可是每每我只看过一次,不会再去看第二次。后端
这也意味着,虽然记录的内容不少,可是真正消化吸取的内容不多,脑子里充斥着老是那些零碎的知识点和面试问题,对于完整的知识体系知之甚少。这些问题在春招期间也不断地暴露出来,让我思考了好久。设计模式
面对如此窘境,我想作出改变,趁着如今时间充裕,我想要为这些内容作一次减法,而且借此机会,推翻本身原有的知识体系,重建新的知识框架。简单说来,就是从新开始学习Java后端,此次我要用一种更高效的方式,避免走以前走的弯路,要用最高效,最合理的方式去复习。因为我以前已经有基础,因此我对完成这一目标有信心,相应地我也为此作出了明确且详细的学习计划。微信
具体怎么重建知识体系,我后面会单独写一篇文章探讨,一言以蔽之,就是从新梳理知识点,让本身对每一个知识点都能有较深刻理解,这样在面试中才可以作到成竹在胸。多线程
我把秋招前几个月的复习过程总结为一下几个关键词,每一个部分的复习内容都是针对我以前的一些短板,加以完善和补充。架构
贰
作计划,也写博客
“具体可靠的学习计划”
在三个月的时间里,我首先按照Java后端路线图安排好复习计划,每一个知识点都会对应安排一段时间,好比我可能花一天时间复习“Java反射”,两天时间复习“设计模式”,一周的时间用于复习"JVM虚拟机”。我通常会在月初作好整个月的计划,而后根据进度作一些微调,可是基本上我均可以跟上进度,而且是在复习到位的前提下。
因此我以为,对于秋招这一场苦战,指定计划尤其重要,一旦计划定下来,战略目标清晰,对应的战术制定也会变得清晰,执行力也会随之变强。
“写博客整合知识点”
至于复习方法,我主要经过看高质量博客,而且结合代码实践的方式巩固这部分知识点,好比今天学习“concurrenthashmap”,我会去找两三篇比较好的博客先看看,主要是源码解读方面的,而后我会把它们进行整合,若是有遗漏的知识点我会再进行补充,有时候我还会本身去看看JDK源码,以便更好地理解博客内容,完成知识整合以后,我就会对应地整理出一篇博客出来,发在个人我的博客上。
除此以外,当我完成了一整个专题的复习以后,我会把这些文章整理成一个专题,好比上面说的“concurrenthashmap”,实际上属于Java并发包,因此我会专门作一个博客专栏,用来完成Java并发系列的文章专题。对于每个文章专题,我都会先理清这个专题一共有哪些内容,而后再开始整理。好比对于Java并发包,我会先写Java多线程基础的文章,再写JMM内存模型的文章,接着一步步着手写Java线程池,阻塞队列,工具类,原子类等等。这样一来这部份内容就复习完毕了,写系列文章的好处就在于,我能够从头至尾理清脉络,而且对于每一部分的知识点都作了比较好的总结。
对于博客的选择,我吸收了以前的教训,宁愿花半小时看一篇高质量文章,也不花10分钟看5篇烂文章。深度阅读的好处,就是可让这部份内容更好地融入你脑内的知识体系,而不是像其余快餐文章同样转瞬即逝。
叁
作项目,也刷算法
“作项目巩固实践能力”
因为以前在实习期间参加的项目都比较大,我接触的模块也比较单一,没有对总体项目有一个很好的把握,因此我决定趁这段时间再巩固一下个人项目实践能力,这里的能力主要是指的是对项目架构的把握能力,以及对业务开发的熟练度,固然也包括对各类经常使用后端技术的熟悉程度。
我花了大概一个月的时间完成了两个项目的开发,固然主要也是模仿两个开源项目作了,这两个项目都使用SpringBoot快速开发,而且用到一些经常使用的后端技术好比redis,云存储,以及一些常见Web框架,除此以外还涉及到了solr,爬虫等技术。虽然项目不算很难,可是我在这段时间里很快地熟悉了完整项目开发的流程,而且天天作迭代,经过Git来跟进版本,每一个版本都会写清所作的内容,这也让我对项目的架构很是熟悉。
在项目之余,我也找一些经常使用的后端组件来跑一跑demo,以便让我对这些技术有一个直观的了解,好比面试常问的dubbo,zookeeper,消息队列等组件。这些尝试也让我在理解它们的原理时更加驾轻就熟了。
“坚持刷题,注重方法”
算法题是秋招笔试面试中的重头戏,每一个研发同窗都免不了经历算法题的摧残,对我这么一个非科班同窗来讲,更是让人头大。正由于如此,我放弃了刷大量LeetCode题目的方法,选择了更加行之有效的刷题方式。
首先我从新刷了一遍剑指offer,而且对每道题目进行总结,尽可能保证每一道题均可以记在脑子里,众所周知剑指offer中的题是面试时很是喜欢考的,因此先搞定这部分题目是最为关键的。
搞定剑指offer以后,固然还要刷LeetCode了,LeetCode题目这么多,怎么选择呢,我没有按照tag刷,也没有按照顺序刷,而是参考当时一个大佬的LeetCode刷题指南来进行刷题的,他把每一个类型的题目都作了概括,每部分只放一些比较经典的题目。因此我先后大概刷了100多道LeetCode的题目,而且在第二遍刷题复习的时候,我也对这些题目作了一份总结。
除了上面两个经典题库,我还着重刷了大厂的历年真题,这部分我主要是经过牛客网的历年真题题库来完成刷题的。说实话,真题是很是重要的,由于公司出的题目不像平时的那些算法题,可能会出得很是奇葩,因此你若是不提早适应的话会比较吃亏。完成这部分题目以后,我对算法题的复习也基本告一段落了。
当我完成全部内容的复习时,提早批已经开始了。终于要上战场了,由于战前准备比较充分,因此我对秋招仍是比较乐观的,但事实上,秋招不只是攻坚战,并且是持久战,要笑到最后,确实也不是那么容易的事情。最终我仍是比较幸运地经过了几家大公司的面试,包括BAT、头条、网易,以及后面面试的滴滴和亚马逊。
固然,研究生两年时间的学习和积累是更重要的部分,可是临考的这段时间,你仍是须要作一些比较科学的计划,有选择性地进行查缺补漏,对每一个知识点都要作到心中有数,只有这样,你才可以在校招的考场上笑到最后。
微信公众号【程序员江湖】
做者黄小斜,斜杠青年,某985硕士,阿里研发工程师,于2018 年秋招拿到 BAT 头条、网易、滴滴等 8 个大厂 offer
我的擅长领域 :自学编程、技术校园招聘、软件工程考研(关注公众号后回复”资料“便可领取 3T 免费技术学习资源)