读者筹备面试的工夫是 3 个月左右。然而,不是仅仅用 3 个月就能上岸大厂,之前也有计算机根底(网络、数据结构、操作系统、数据库、计组、微机原理等)。
前段时间,贾哥在星球向我询问 offer 抉择的问题,我才晓得贾哥曾经斩获两个还不错的 offer。
贾哥和我一样都是双非本科,学历下面咱们和大部分一样都没有任何劣势。他的校招经验挺挫折的,十分有参考价值。
于是,我就找到贾哥让他写一篇文章分享一下本人秋招的一些筹备面试的经验以及教训。
贾哥写的太用心了,整篇文章大略有 1w+ 字。我将分为两次来发。感觉内容不错的话,大家记得点赞催更。
心愿贾哥的分享对小伙伴们有帮忙!
01
秋招这一路趔趔趄趄的走来,经验了很多心酸,也成长了很多。
从信念满满的开始,到一直地自我狐疑。从一个无所不知的菜鸡,到当初还是一个菜鸟。
我或者没有很多胜利的逆袭教训来分享给大家。然而!我从一个秋招的裸奔男孩到现实上岸,播种的更多是失败的教训、成长的经历和人生的考验吧!
我对计算机并没有激情满满的酷爱,更多的是随着投入的工夫和学习而产生的趣味吧!
我是一个一般的不能在一般的大学生:双非本科,没有任何实习经验、较量经验。
作为一个计算机学子,我大一大二简直不晓得本人未来会抉择编程开发……
听过很多秋招大佬的传奇逆袭经验,向往他们将酷爱都投身到刷力扣的成就感中,艳羡他们在秋招时斩获大把 Offer。
社会遵循着 2-8 准则,我或者应该被归到 8 这一类当中。我有时在一直问本人,你真的适宜开发这一行吗?你会在这条路上走多远呀?评估本人的实力与大佬们的差距,可能就是我学习的能源吧!
作为一个被秋招毒打的打工人,我想和大家分享我的经验!
02
带着高考的些许遗憾,我来到了我的母校,西安某不出名双非一本,业余为数字媒体技术。
这个业余尽管归类在计算机学院下,然而咱们的课程方向是游戏动画,影视建模方向。
导致每次面试官问我业余,我都要解释一遍,我是计算机专业的,计算机的公共基础课(数据结构、计算机网络等)咱们都会学。
咱们的待业方向貌似更加偏差新媒体方向,尽管编程常识也会学,甚至还学了那本西瓜书的《机器学习》。
大学前两年,本人就是一种糊里糊涂的状态。我没有很明确的指标和方向,每天都是在宿舍 - 食堂 - 教室,上好该上的课。
已经想拿个综测的业余第一,然而如同光靠问题还是不够的,起初规范降到了考试尽力考个高分就行。
对于学习数据结构、操作系统等等计算机专业课程,我有一个深深的感触:考试分数高不代表你真的“学会了”。
这些根底课程,我根本都是上课认真听听,考前温习半个月,拿个不错的分数过了,感觉工作就实现了。
当初熬夜补这些常识的时候,眼里都是懊悔的泪水呀 ????。
大三,才意识到本人马上要毕业了,思考了一个月,放弃考研的打算。我想了很久很久,感觉还是做一个打工人吧!
C/C++ 中的指针让我头晕眼花,于是我抉择了 Java。
2019 年 10 月,开始了本人在大学里,真正有指标,有能源的去学习!
在一个失眠焦虑的夜晚,我写下这段话来激励本人:
往年在综测时,拿到了业余第一,能够申请保研(我校保研个别只能保本校)。也波动过,秋招真的太难了,要不就放弃吧。然而想到本人大三时立下的雄心壮志,既然抉择了这条路,就一抹黑的走上来吧,秋招不上岸,春招还能搏一把;这条路切实走不通,那我就考研!
而后,我就开始在 B 站、慕课网、油管、MOOC 上找 Java 的视频学习。
从 JavaSE、JavaWeb、框架的学习。2020 年 2 月份,仿佛感觉,把这些内容都过了一遍。
期间一边看网课、博客文章、Guide 哥的专栏总结,一边写博客加深了解。暑假租了房,每天循序渐进的输出,过年前几天才回家。过年那天早晨,都是一边看春晚,一边在温习。
03
到 3 月份,意识的几个同学开始投滴滴、百度的实习,我才开始写简历,到牛客看面经,也筹备投实习。然而,看到面经的各种发问,我感觉本人像没学一样,全都是常识盲区。
理解的货色不够深刻,到不了面试那种深层次发问,还有数据结构、网络、操作系统这些都没怎么温习。本人学过的这些课,脑海里仅仅残留着一点点印象。
更要害的是,我简历写完了技能列表,我的项目切实没得可写。面对空白乏力的简历,我感觉本人还有好多好多常识要补,齐全就是在精卫填海。
原本打算过完年早早去出租屋里学习,年前就定了正月除六的车票打算赶过去。然而,从天而降的疫情,只能让我待在家里,打乱了我安顿好的学习打算。
每天,面对面经上满满的常识盲区,本人在家里的效率又比拟低,开学又遥遥无期,学习打算一拖再拖。
同时,我的两位搭档在 5 月都去到了北京实习,我还在家里天天感觉鸿鹄之志。
找实习曾经是不可能了,只能间接秋招了。然而,我的项目经验还是空白,做过的课设我的项目含金量低,单纯的管理系统切实不想往简历下来写。
比照敌人每天大厂的实习日常,再看看本人的狼狈不堪。每天,整个人都有着微小的心里压力和焦虑。学校在线的网课都是在后盾静音放着,天天跑到教育厅下询问开学工夫,“又是不开学的一天!哎,到底什么当前能力去学校呀!”。
那段时间,真的过得十分压抑,每天都是局促不安、心田烦躁。本人好像在一条乌黑的路上趔趔趄趄的走着,这条路没有光洁,没有止境。
起初,心态慢慢放平,全国都在万众一心的抗击疫情,大家都在致力着。换个角度想想,本人最大的财产,不就是领有衰弱吗?
为了赶上既定的工作安顿,我只能每天早早起来学习,尽管中途可能被一些其余事件打断,然而用工夫来补救效率,始终温习到深夜。有时莫名感觉,本人 20 多年来,第一次真正的这么致力。
2020 年 6 月,我不顾我妈的劝阻,来到了西安,和好基友小贤租了间房。他也没有找到实习,咱们都是共赴秋招的裸奔男孩,两个人开始做秋招的最初冲刺!
04
来到西安后,我便开始集中精力温习基础知识:
- 把多线程、汇合类相干的常识重头温习了一遍,专门针对这一块的面试发问看了很多文章;
- 在 B 站刷了两遍宋红康老师讲的 《JVM 从入门到精通》,真的良心举荐 ????,零零散散看了下《深刻了解 Java 虚拟机》 这本圣经;
- 温习了一遍计算机网络,次要是针对 TCP-IP 体系结构、HTTP 协定,看着面经来温习知识点
- 数据库只做了简略温习,根本的 SQL 能写进去,牛客做了些题
眼看秋招提前批已到来,而且没有口试,对我来说是个莫大的机会。然而,因为本人我的项目还没整顿,没有可写的内容到简历上。所以只能任之溜走了。
这是对 Guide 哥之前的一次发问,让我很分明本人接下来的两个月该做什么!
05
7 月份的时候,本人的我的项目经验还是空白,导致简历始终没法欠缺。
于是我开始着手开始筹备我的项目。顺带着早晨刷题。
学校略微有代表性的一点就是老师领导咱们组做了个国家级的大创我的项目,然而我负责前端相干的内容。课设都是很根底的相似新闻管理系统、学生管理系统,还有 Unity 做的两个游戏 Demo,切实没法往简历上写。本人学习的方向是后端,只能找有代表性的我的项目来做!
Github Star 了些 Java 相干的我的项目,但当我拉下代码导入,发现自己搞不懂有些中央为什么要这样写,我的项目的架构是怎么设计的?要害的技术点在哪里?可能呈现什么问题?如何去改善?
因为这些问题搞不懂,吃不透,尽管简历上写的是你的我的项目,但面试官一问就被问住了,所以究竟还是不属于你。
因为本人底子薄,框架探索没那么深刻,本人尽管学了 SSM、SpringBoot 这些框架,然而也只是能简略上手应用下。当下也没工夫来深刻探索底层原理学习,只能停留在简略理解和应用上。开源我的项目我可能没法吃透,我须要找个视频教程跟着做,而后基于本人了解再做拓展。
我把 B 站所有无关 Java 的我的项目都找了一遍,搜寻不同的关键字足足过了三遍进行筛选统计。我发现我的项目大体能够分为两大类:
- 【原理性】:就是造轮子,对已有框架或者协定本人来做个实现;如 Guide 哥的 RPC 框架和 HTTP 的轻量级框架,其余的如实现 Tomcat 性能、性能基准测试框架、实现网络协议等
- 【功能性】:我的项目实现具体的业务性能;如各种权限管理系统、博客零碎、商城、管理系统等。模式有前后端拆散的,有基于微信小程序的后盾的、还有客户端的
筛选了大略一周,我找到了适宜本人的我的项目。一个是基于本人之前练手的 Demo,跟着视频学习本人做了拓展,一个是前后端拆散的我的项目。
我的项目没必要性能业务如许简单,波及的技术栈有多广,然而肯定可能本人吃透,原理性、结构性的层面本人搞懂,还有肯定要有亮点!
因为面试官想听的不是你做了什么,而是怎么去做的。就我而言,更多的是考查你发现问题、剖析问题、解决问题的能力。即使我的项目自身简略,然而一些非凡状况要思考到,为什么这么设计?呈现问题了怎么改良?如何去欠缺?其余技术形式怎么实现?
在百度三面主管面时,全程都在问我的项目,大略问了 50min 之久。尽管我感觉筹备时本人思考的很周到了,然而毕竟没加入工作,很多问题基本不晓得:
因为基于 WebSocket 协定做的聊天室,自身是应用层的协定,间接就用 TCP 来保障音讯牢靠传输,如果访问量大,为了高效能够改用 UDP。这个我的项目筹备的重心没有放在网络层面,而是思考到多线程下并发聊天,会存在线程平安的问题,筹备了很多多线程相干的针对我的项目的改善、应答策略,音讯存储发送。
然而面试官全程都在针对网络层面做拓展,我只能依据已有的常识和对本人我的项目的拓展理解做答复。面试完结,我感觉本人被按在地上摩擦,又限了入了深深的自我狐疑中~
06
到了 8 月份的时候,我才开始欠缺简历以及刷题。
我的简历大略前前后后改了十二版,最后是改简历的布局,内容块;前面就是字字斟酌,轻微调整。
常常删删改改,一句话可能要思考良久;我把我把握的知识点都很具体的列出来,尽管技能列表看起来很根底,然而我有自信对本人写的内容负责
小伙伴们肯定要器重简历!多花点精力在欠缺简历上!
我的刷题大略从 6 月就曾经开始,断断续续在 LeetCode 上刷一些题。在 8 月的时候,我开始每天集中抽出很多工夫来刷题。
没错,大佬们天天保持刷个一年半载,我 7、8 月才开始每天集中刷题。
我大三就意识到了刷题得重要性,因为做题能力差,报了蓝桥杯较量没去。
既然意识到重要性,为什么不早点去每天保持刷题呢?
我尝试过,最终放弃了。这么做可能更多是长期抱佛脚的心态,对刚做完的题有个印象。
对我来说,温习路上最大的妨碍就是刷题了,因为本人的代码能力切实太差了。
三月份,我大略做了半个月题。《剑指 Offer》上的惯例题,我基本上就是半天一道题,因为本人做这些题切实是想不来,想半个小时尝试去解决,但大多时候都是“差一点”,或者思路正确但又不能用代码实现进去。而后看题解,看他人不同的解法,本人再独立写一遍。
因为工夫紧工作重,半天可能让我温习好多知识点了,所以想等温习完提纲之后再来刷题。而且,要害是做的题目,过后感觉本人 懂了、会了 ,然而过一段时间又 忘了,只能隐约留下个解题思路,还是不可能独立 AC。
七月份,只能是逼着本人来。因为大厂太看重代码能力了,即使是我理论知识把握的再好,口试都过不了,基本没得机会去面试。
而后,就开始分类刷题。参考 labuladong 哥的刷题套路,weiwei 哥的刷题分类,小齐姐的刷题教训,剑指 OfferKrahets 路飞哥的精彩题解,每天花 8 个小时左右刷题,温习数据结构。
一道单链表反转的题,我整整想了一天半才搞懂。该题下的所有题解全副看了一遍,包含公众号的一些文章。递归的解法,短短几句话,我始终无奈了解。
小贤从 4 月份始终开始刷题,在这期间始终和小贤在一起温习。他是 C++ 方向,算法和代码能力很强,刷题方面我都是求教他的。
单链表递归解法,他画图整整给我解释了一个早晨,从斐波那契的递归,到链表的实现。第二天,我终于搞懂了,在力扣公布了本人写的最认真的一次题解。单链表反转,本人写了不下 20 遍了吧;这次,可能真的是永远记住了吧。
8 月份,小贤因为有事回家了。房间只剩我一个人,我和老板续了房租,持续备战秋招。
期间,刷题有任何问题,我都会立刻给小贤打电话过来交换。
【刷题的误区】
开始,我感觉本人不是在刷题,而是一直地反复写,如同在“背代码”。因为有些题说思路,我可能很清晰的表达出来,做的多了发现解题的套路还是比拟固定的(尽管也没做多少 ????),然而到理论的入手写,又写不进去了。
针对这个问题,我也很苦楚。一方面感觉“背代码”很可耻,本人真的就这么差吗,做个简略题都写不进去吗?然而,我真的是没方法,只能用做的少,练得少来刺激本人。
就这样,每天逼着本人,刷了大略 170 题左右,每天将根底的八大排序写一遍
其实,后期的刷题,本人没见过没思路很失常,参考他人的题解,把这种解法援用到相似的题目上。就像写作文一样,针对不同问题有不同的模板,依据具体问题调整边界即可。我本人总结来说,就是两大因素:
- 针对不同问题求解的代码模板,要失当灵便的利用(如双指针、滑窗、列表 DP 等)
- 代码熟练度。模板是基于代码的熟练度而存在的,就像写排序算法一样可能很快的写进去
然而,这个量还有我的认知,对秋招来说是远远不够的。这是一项长期的积攒和训练,谁也不可能偷懒,达到空谷传声的成果。因而,在起初的秋招口试中,我重重的摔了跟头 ????,这是可预感的。
听学姐说她们去年是互联网的寒冬,找工作难。往年,因为疫情的起因,好像所有都变得更难,竞争更加强烈。
八月,2020 年的秋招已正式开始,然而我还在刷题温习中,筹备行将到来的“金九银十”。这份简历,整整迟投出一个月……
微信搜“JavaGuide”回复“计算机根底”即可获取图解计算机根底 + 集体原创的 Java 面试手册。