写在前面
***的高中成绩并不理想 现实不像小说 现实往往比小说更加精彩
回顾总结一下去年秋招的坎坷经历,悔不当初,特撰此文以书悔过之心,也借此机会整理一下之前出现的问题,回顾一下不断探寻学习方式的历程,以及总结一些后来才知道的但已经错过的秋招经验,也以此篇激励本菜继续学习,扎实基础,深耕技术,春招尚有机会,还望能斩获心仪的offer。
文中虽多为凉面,但文尾亦有热饮一杯。面中多为浅显基础,但基础才是决定上层的重要因素。也希望后来人看到此篇悔过能引以为戒,有则改之无则加勉,虽是凉面,亦能助长,也祝各位都能拿到自己心仪的offer。
心路历程
言归正传,本菜南方自治区某211大学本科,虽是211院校,但奈何个人问题,实力水平可能在应届毕业生中属较差层面,本菜高中成绩确实不太理想,去了国际学院英语专业,大二结束降级转专业进入计算机开始了科班之旅,没错,本菜的大学生涯至今已有五年,半路出家并且是超正常毕业年限的学生在就业中确实遇到了不同程度的困难,在一些对学生履历有较高要求的国企中碰了不少灰,但在只问技术不问过往的互联网公司中终于找到了出路,可以和正牌科班学生同台竞技实属不易,但技术的比拼才是痛苦的开始。
在校期间的学习浮于表面,Java开发竟在学会了GUI开发而沾沾自喜,殊不知GUI早已退隐江湖,主流的框架技术却一问三不知,未曾深耕技术,大四前未曾参与项目加以锻炼,至今未参加过算法比赛扎实代码功底,三无学生可能说的就是本菜吧,课程的要求虽都是合格通过,但其背后出现的基础不牢,速成求果,考前突击的问题才是导致秋招失败的直接原因。
本菜开始准备找工作的时间较晚,没有大佬的深谋远虑,也没有提前做各种项目和实习,约莫8月中旬才开始准备秋招才发现为时已晚, 各厂实习早已开始,提前批已接近尾声,部分厂的正式批已经开始,而本菜还是一个从零开始的小白 ,别问本菜之前干啥去了 问就是去看纸老虎了。
至此秋招结束,据不完全统计,有些投递之后没消息的已经忘了投的是什么了,投递各种厂48家,岗位75个,笔试次数37次,面试次数16次,收到offer3份,分别来自移动,联通,网龙。不出意外应该会去网龙了,下文开始总结秋招。
秋招总结
顺便给阅读本人的朋友分享一份福利,把我的资料分享给大家,这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Java集合、JVM、多线程并发、spring原理、微服务、Netty 与RPC 、Kafka、日记、设计模式、Java算法、数据库、Zookeeper、分布式缓存、数据结构等等。
开始秋招之后,迅速瞄准了自己感兴趣的游戏领域开始了送人头简历投递
此处未做详细的岗位与自身能力分析,凭着一腔热血便冲上了秋招战场,结果便是来自现实的毒打和一次次的当头棒喝
现今回过头来看看又是发现成也游戏败也游戏,这里按下不表,同时这里简历由于是匆匆制作,也为后面自掘坟墓提供了一把好铲子
也希望大家不要打无准备之战,凡事做好一定的前期准备再去行动,借用实习导师的一句话,“软件开发一般都是先有思路 然后编码的 没有思路前不要动手”,日后定将此句铭记于心
投递之前先去了解一下岗位需要的技术能力是否符合自己的技术方向,不要出现JAVA去面C++的尴尬情况,全栈大佬当然就随便选吧,再准备一份有对应项目经历的简历去投递,对口的项目经历方便面试的时候面试官有东西能和你聊。同时要准备一下自我介绍,最好有1分钟缩略版,3分钟详细版,以应对不同的面试情况。
关于简历的制作这里没有什么技巧,主要还是基于自身情况进行一个如实填写,个人认为,技术岗位还是应该多在技术方面多做描述,比如实习经历,对口的项目经历面试后端就不要写太多前端项目经历上去,个人的兴趣爱好属于一个可有可无的部分,毕竟一个程序员会不会打篮球没啥区别。简历这种概括个人情况的文件还是把重要的空间留给实习,项目,奖项这些吧。但是切记不要乱写项目经历,技术能力这些东西,否则就是自掘坟墓,不能写个安卓启动页也说自己会安卓开发,被问到安卓四大件啥都答不出,同时也要慎用精通这种高级词语,但是也不要通篇用了解,全了解简历过筛率会直线下降。
很快便受到了一些笔试邮件以及较多的初筛不过的感谢信。说到感谢信,并不是每家公司都有感谢信的回复,在秋招前期部分公司HR还有时间回复感谢信,但在秋招中段的时候,基本就处于凉了之后便了无音讯的状态,个人是以2周为划分标准,笔试之后2周内无任何消息则视为笔试凉了,当然也可以通过投递网站的状态进行一个判断。面试的凉不凉考量无一个确定的时间划分,但通常的面试邀约间隔不会太久,通常不会超过一周,就总结各个面经的情况来看,一般大厂的面试节奏比较紧凑,常有短短几天内完成所有面试环节的情况,但也有隔几天才会安排下一次面试的情况出现,这里还是多和HR进行一个状态沟通比较好。
笔试
进入到笔试环节,此处笔经没有详细的总结,主要是海笔导致记录没有跟上,同时笔试的考察题目每次均不一样,主要的准备方式还是要多刷题,多刷题,多刷题,重要的事情说三遍,剑指offer作为面试高频考点建议全文背诵。本菜之前在牛客开刷剑指offer,但后续应该会转战力扣继续刷题,这里推荐一个刷题题解指导小夕学算法,个人觉得讲的很形象。刷题不单单要刷,还有做出总结,整理解题思路,才能做到有效刷题。
突然发现牛客这有个带被考察次数的题库,感觉也是不错的,可以用于针对性刷题牛客题霸
面试
面试环节至今仍然是本菜的噩梦,初面通过率极低,大部分的面试评价还算基础不扎实,少部分是项目基础还不够深入,总计过了3家,初面过的都领到offer了,这里也只能发表一些愚见,意在抛砖引玉,毕竟大部分死在一面,面试内容涉及的不是很深,需要大厂面经的可移步其他大佬的帖子。
4399 8/29
首先是最早得到的第一家面试,广州4399,是游戏服务端方向,作为人生第一次面试,也是人生最短的一次面试,总计10min无自我介绍,通过电话形式做了一个面试,具体问题忘的差不多了,那时候还没有面试复盘和记录面试内容的习惯,只记得问了一个问题是你认为游戏服务端是做什么的时候,本菜居然答出了是利用游戏引擎来做游戏界面的这种荒谬的答案,现在看来10分钟被挂也不是没有道理的
阿里巴巴 8/30
当初阿里投递是实习生岗位,笔试写的一塌糊涂,几道题加起来过了0.5好像,但是还是接到了阿里的电话面试邀请受宠若惊,阿里便成为了人生的第二场面试,第二次面试也是电话面试,但是时常来到了30分钟,但是由于本身没有准备多少,其实面试中有深度的内容并不多,大致内容如下:
项目相关
Spring框架
数据结构相关
MySQL数据库中使用的树结构(索引B+树)
TCP/IP协议簇(TCP/UDP区别等)
进程线程区别,死锁相关内容等
编译原理中编译器的各个步骤
数据库事务相关
人工智能经典算法(决策树)
动态规划
字节跳动 9/9
人生的第三次面试,也是第一次视频面试,同时附带手撕代码,同时第一次现场手撕代码直接原地爆炸。这里点名表扬字节,这次面试之前甚至没有参加过字节的笔试,直接进入到了面试环节,成为了为数不多的免笔直面的面试,之后也有多次捞起笔试的机会,感谢字节给予的机会,但是同时也懊悔自己的技术实力不行。面试的大致内容如下:
HTTPS和HTTP的区别
Exception和Error的区别
try catch final的执行相关
反射
设计模式
线程池
TCP/UDP的不同,TCP/UDP效率的差别,什么导致了效率的不同
数据库的检索,为什么要使用索引
数据库事务
join
关系数据库相关
手撕代码:非递归遍历二叉树
多益网络 9/12
多益的笔试使用的自家的软件进行测试,个人感觉不如牛客的系统好用,面试用的是QQ视频电话,面试内容只记得有一道手撕代码字符串全排列剑指 Offer 38。
美团 9/18
在准备结束秋招开始闭关学习的时候,美团捞起给了一次面试机会,但拿到面试邮件才发现当初乱投岗时候脑子里进的水,全部变成冷水泼到了脸上,本身前端技术不行的菜鸡JAVA开发,收到了一个Web前端的面试机会,估计已经被美团拉黑了
面试内容大致如下:
看你简历写了安卓,安卓开发四大件是什么对应上文不要乱写简历,不然面试怎么死的都不懂
实习 项目相关
Vue
双=和三=的区别(NAN和notdefined会怎么样)
cookie和session
缓存
Http1.0和2.0
手撕代码:双数组合并去重用JS写
腾讯 09/23
同样是被捞了起来,感谢腾讯给予的面试机会,但是同美团面试一样,也是当初乱投犯下的错,游戏开发客户端方向C++,本菜JAVA开发进去直接被面试官碾碎了,面试时有点紧张,网络也出现了波动,浪费了机会,面试内容如下:
JAVA多重继承
List和map
多线程里面的线程通信
深拷贝浅拷贝的区别
手撕代码:剑指 Offer 48.
手撕代码:9. 回文数
表现极差的一次面试,感觉甚至不如第一次面试强,面试完思考良久,开始计划撰写此文,至此秋招结束
本菜在手撕代码的表现不尽人意,之后还需要加强刷题训练
此处对于写代码时是否要将自己的编码逻辑口述出来产生了疑问,之前遇到过面经说上来就写不说逻辑缺少沟通,但是个人遇到的情况都是不用阐述逻辑只需要代码,这里想问下各位大佬,编程题写的时候需要把逻辑叙述一遍再开始写吗?
结束复盘
终于写到了总结复盘了
总体来说整个秋招虽然打了个措手不及,但最后还是得到一个结果,收到OC的时候终于结束了三个月的自闭心态,但感觉还有上升的空间,仍当继续努力。
秋招中表现不好地方:
没有很早的将找工作作为一个长远目标去努力,在日常的学习生活中也没有努力打好基础,大三时老师推荐的算法竞赛没有去参加,老师项目组的招人通知也视而不见,到后来幡然悔悟才自学写了一些demo项目。秋招之前也没有找机会去参加实习,准备秋招时才草草制作简历。希望仍有准备时间的后来人能提早准备:
扎实基础,编程四大件数据结构&算法,计网,操作系统,设计模式需要全文背诵并活学活用,此为重中之重。
此处有个小小的疑问?编译原理在实际应用的占比大概多少?作为一门主修课程在面试中的出现率如此之低是为什么?
提前积累竞赛/项目经验,算法竞赛作为一个显示技术功底的标志,可以有效的提高代码量和拓宽编码思维逻辑,拿个ACM大奖估计不愁求职问题了,同样的项目经验虽然也是作为一个加分项的存在,但拥有一定的对口项目经验在筛选和面试中都能有一定的优势。
秋招之前的实习,这点本菜之前完全没有意识到实习的重要性,现在追悔莫及,22届的实习现在已经开始可以投递了,通常春招时会有大量的实习岗位放出,实习时间除日常实习外,基本集中在暑假。一份具有实际实习经历的简历在筛选中可是相当有竞争力的。
提前做好职业和自我分析,避免出现和本菜一样的迷惑行为。
最后(点击此处获取文档完整版)
突然发现写了好长,应该除了自己没人会看到这里了吧,希望工作之后回来看到这篇文章还能想起当初犯过的错误,切莫再犯。:
上面这些资料都分享给大家的,希望你们少走弯路,给个三连就是你对我最大的支持了,大家努力坚持,最后终将拿下自己满意的offer!最后以初中老师的一句话结束这篇长文:勇敢追逐梦想,寻找内心深处最热爱的东西