这篇文章主要记录秋招的时间进度。当然,并不是说大家要按照我的进度来,说实话,我准备的还是比较晚的。写这篇文章只是让大家对春招到秋招有个大致的轮廓
,后面大家也可以根据自己的情况动态调整,越早准备越好。
首先,先介绍我的情况。双非本科,科班出身。无竞赛 无奖项(计算机比赛奖项) 无项目 无论文 无实习经历,大三下学期还有很多课要上。 但是有一定的计算机基础,之前有上过数据结构、操作系统、计算机网路这些课,当初学这几门课还是挺认真的。
所以在准备找工作之前,自己是很菜的,自己走了很多弯路,所以相信你们一定可以比我做的更好。
这篇文章前面会以时间线列出我的准备过程。
在最后,我会以我现在的视角,回顾这段经历,列举出面试复习的优先级,以及面试的一些加分项,希望对大家有所帮助。
我真正为找工作做准备,应该是春节后,即1月26号左右开始,这一阶段大概持续到2月15号左右结束。
在这段时间中,主要学习Java最基础的几种框架:Spring, Spring MVC, MyBatis。自己因为在这之前,用过这几种框架跟同学一起做过一个项目(照猫画虎的做,只能实现大致功能,具体细节不清楚),所以在学完这几个框架后,就再次复习整理了之前的项目。但是这个项目就是简单的CRUD,面试的时候拿不出手。
在2月16号到3月10号这段期间,主要在刷“剑指offer
”。Leetcode上有对应的模块,大家可以先做这个模块里的题。
这里需要和大家说明的是,一开始刷算法题的时候,真的会很痛苦,特别容易没有思路,有了思路可能还写不出,写出来了可能很容易就忘记。
但是,大家要知道,这是一个很正常的现象
。在牛客网上也看到很多帖子,985硕士他们也是这样,这并不是我们智力上的问题,算法题这块是投机取巧不了的,我们需要用时间和题量
来应对算法这个大魔王。
当时我的策略是,先看对应的视频,熟悉常见的一些算法与数据结构(堆、栈、队列、八种排序算法、动态规划、回溯、递归等),简单做几道对应的题。然后做剑指offer。
做剑指offer的时候,先思考10分钟,如果没有思路,就立即看题解。对着题解打一遍,然后自己理解再打一遍。然后每隔一段时间再打一遍。剑指offer可以反复的刷,最好刷5遍以上。
为什么这么做呢?第一,剑指offer在面试的时候出现的频率很高,面试的时候很有可能就是原题。第二,剑指offer很多题都很典型,多刷几遍,对这道题的理解就能越深刻,以后遇到类似的题,也能根据大概的思路去做。
自己在大学,花在学习上的时间偏少,也没做什么项目。所以,在写自己简历的时候,项目这块还是很空白,想着不行,得找个项目补补,于是在B站上找了一个“烂大街”的项目补一补(秒杀系统)。
当然,如果你也想做Java,我还是建议你不要
做秒杀系统,因为这个项目真的烂大街了,特别特别多
的应届生都有这个项目,面试官也看到了太多的简历写这个项目,甚至有一些面试官看到这个项目都不想问你,而且你和其他人的差距也拉不开。
继续刷“剑指offer”,因为在之前的那个阶段,剑指offer才刷了一遍。现在重新刷刷。(刷第一遍的时候,我自己刷了很久)
同时的话,复习计算机网络,操作系统,数据库,Linux相关的知识。
春招素有金三银四的说法,那个时候自己也有陆陆续续的准备投一些简历,但是,自己准备的比较晚,所以简历也石沉大海,有一些公司有笔试的,笔试也直接挂了。
后面想着这样子不行,看看能不能回广州找实习(那个时候是疫情期间,基本上是线上上课),恰好当时有一个舍友也是在找实习,于是相约着一起回广州,在学校附近租房。
准备回学校找实习前,在Boss直聘和拉钩网上投了挺多简历的,所幸,在上去的第一个星期,收到了4家公司的面试邀请。之前也有准备过,4家公司面试过了3家。
当时想着租房需要钱,吃饭需要钱,自己又不太多想跟父母多拿钱,所以就匆匆忙忙选择了一家薪资最高、面试官最好、也感觉面试官最有水平,但是技术栈完全不匹配的一家公司去实习。
如果开上帝视角,这个选择我觉得不是最好。
实习期间的导师真的不错,技术、为人处世都很好。这份实习,我认为可以算是我校园到职场的一段过渡。
这段经历后面我也想再详细写写,因为我也作为秋招大军中的一员,侥幸也上了岸,很多职场的东西,我也需要提前学习学习,到时候和实习一起写,算是自己进入职场做的一点小功课吧。
但是在实习的时候,技术的方向和我之间完全不一样。实习的岗位是平台研发,但是实际意义上来说运维开发,用的技术栈虽说也是业界比较前沿的技术 kubernets,但是有很多弊,也有很多利。
最大的利可能是某家公司的一个
面试官(应该是某个部门的负责人)觉得我这段经历不错,综合测评下来,给了我一个sp offer。 弊也有很多,新的技术栈跟我原来的技术栈很脱节,导致在实习完之后,有点转不过来,以前的知识也很多忘了,后面自己也花了很多时间重新复习原来方向的知识。大部分
的面试官都不怎么问实习的这个项目,所以大部分面试这段经历并没有什么用,甚至有一些面试官还会轻视这段经历。 甚至经常我也在想,如果实习的时候,方向没有走偏,结果会不会比我现在更好?
秋招提前批8月初就开始了,实习的方向和自己原来的方向不太一样,自己也觉得,实习的那个方向--运维开发,以后不好发展,所以还是选择自己原来的Java后端方向。
8月初继续复习之前学习过的知识,同时继续刷算法题,把剑指offer再刷了一遍,然后刷Leetcode前100题。
同时,自己对秒杀系统做了一些拓展,加入了一些新功能,不然就和大家完全一样了,这样子就没有区分度。
在8月20号的时候,开始海投简历。
8月末 9月初真的害怕自己找不到工作,真的投了很多简历,截止到目前(10月1号),投了70多家公司,但是拿到意向书之后,很多面试和笔试都推了。
在9月初,通过笔试的公司陆陆续续收到面试,自己也运气比较好,在9月中旬的时候,收到了几家公司的意向书。
我也快踏进职场了,职场和校园生活有很多不一样的地方,这些我也得提前做一点功课,不至于到时候太被动。
其中有一个很好的观点是为任务排优先级
,我觉得这个很重要,那就用这个优先级对这个文章做一个总结吧。
我认为实习、春招、秋招,知识复习的优先级
为:(这个优先级是以后端开发为例。如果是不同的方向的话,后面我再了解了解,自己之前有面过“运维开发”,“测试开发”,对应的优先级也差不多)
-
计算机基础(这个特别重要):数据结构与算法、计算机网络、操作系统、Linux、数据库(MySQL)
-
对应语言涉及到的问题,比如 C++, Java, Go
-
项目:能拿的出手的项目,以及对应这个项目的技术栈
如果上面都能做的到,那offer应该没什么问题了,如果想追求阿里等这些最TOP的大厂,那么还需要(不需要全部都有,满足的条件越多,竞争力越大):
-
微服务,分布式对应的框架,以及源码
-
参与热门的开源项目
-
大厂实习
-
985、211等等
面试加分项:
- ACM,优秀的项目,竞赛,奖项,论文
- 了解对应公司在用的技术栈
- 参与开源项目
- 个人博客