秋招总结| 果断算法转开发,我是如何收获10+offer的?
去年的这个时候看到实验室的师兄师姐忙于找工作,自己也是十分的忐忑,去年的这个时候,我还在跟算法周旋,去年的这个时候还在忙于参加CCF的数据科学竞赛,还想在冲击一下算法岗,在到11月多参加Kaggle的数据科学竞赛,从年初就陆续接触人工智能算法,从西瓜书-统计学习方法-南瓜书-再到花书,或多或少对于算法都有了一定的认识和理解吧,然而这只是停留在理论层面吧,对于实操或者说动手写算法还是十分的欠缺,于是就在去年暑假结束后,9月份的时候开始陆续接触算法的相关比赛,基本都是偏机器学习和数据挖掘相关的比赛,从国内到国外,从竞赛小白一点点的学习进步,最终走到11月多的时候,似乎感到自己与算法相差甚远,于是果断转方向,从一开始在牛客看到一位本科大佬进入腾讯的微信部门,短暂的看了几天C++相关的内容,感觉很多太过于偏向底层,着实看不下去,最后在11月底的时候选择了Java。
知识准备
去年11月底的时候也是我第一次真正的接触Java吧,或者说是真正的开始学习Java,初期应该和很多初学者一样,不知如何下手学习,于是网上搜教程搜学习路线。
上图是我的一个大概的学习路线
第一阶段:Java基础知识
在Java基础板块中有6个子模块的学习:
-
基础语法,可帮助你建立基本的编程逻辑思维;
-
集合,后期开发中存储数据必备技术;
-
IO,对磁盘文件进行读取和写入基础操作;
-
多线程与并发,提高程序效率;
-
异常,编写代码逻辑更加健全;
-
网络编程,应用服务器学习基础,完成数据的远程传输。
第二阶段:Java进阶
在这一阶段我主要是书和视频结合看的
推荐书籍:Java并发编程之美 翟陆续 薛宾田著
推荐视频:课本看不懂的地方可以看看视频,这块我视频看的不多。
推荐书籍:《深入理解Java虚拟机》JVM高级特性与最佳实践 周志明 著
着重看第二、三、六、七、八章节,另外第四、五、十一、十二和十三章也可以看看,也是有很多干货的!
推荐视频:尚硅谷 宋红康 康师傅的视频!!!
第三阶段:JavaWeb知识
虽然这块知识在工作或者后序的学习中用的不多,但是也是必学的一部分,只有了解了这块的内容,你学习后面的框架之类的才会更加的容易。
MySQL
推荐书籍:《MySQL技术内幕 InnoDB存储引擎》姜承尧 著
推荐视频:
JavaWeb 入门到实战这块看的是狂神的视频,总体还不错,也算一个不错的入门级视频。
第四阶段 Java框架入门
这里主要学习了SSM三个技术栈,分别是Spring、SpringMvc和MyBatis,主要看的视频也都是狂神的视频。
但是在后面的面试过程中,有些会问你有没有看过Spring的源码的,所以对于源码的学习可以看看这个视频
在赠送一个Spring Ioc的图
第五阶段 Java框架进阶
这个阶段的SpringBoot和SpringCloud,其实我是在边学习项目的过程中边学习的,项目做完后,后期又学习了一些SpringCloud 相关组件
第六阶段 中间件
Redis
推荐书籍: 《Redis实战》
推荐视频:
RabbitMQ
推荐视频:
以上这些都是需要学习的内容,看完可能需要几个月的时间。
项目
关于项目这块,大家一定要找一些比较好的项目,或者自己花点钱从网上买个项目跟着学业可以,或者找一些比较热门的项目,比如秒杀或者电商,只要在做的过程中有所收获,或者有一些自己的理解这就行了。
另外就是自己写在简历上面的项目一定一定要弄清楚,比如你写的一些功能模块,一定要熟练掌握,没有掌握的或者自己不清楚的一定一定不要写在简历上。
在学习项目的过程中,学会记录项目中遇到的问题,把解决方案也可以写下来,在后面的面试过程中都可能会被问到!!!
简历准备
一份优秀的简历是尤为重要的,如何从海量的候选者中脱颖而出,除了有一个好的学校和学历以外,你的简历也是尤其的重要。同样的学历同样的专业,当你们去投递同样的公司的时候,可能简历比较优秀的同学会更先收到笔试或者面试。
关于简历,这里给大家提一点建议,简历需要把几个方面的内容写清楚,首先就是个人的信息,手机和邮箱一定一定不要填写错误,另外就是自己的学历情况,本科或者研究生都是什么专业的,排名情况等,其次就是你针对你要应聘的岗位的专业技能等,这里一定要注意,对于自己不熟悉或者掌握不太好的技术一定不能写熟悉或者掌握,可以写了解xx技术。再其次就是你的项目经验或者是实习经验,项目的话一定要写清楚主要是做什么的?然后自己在项目里负责什么?解决了什么问题?用到了哪些技术?这几点写清楚就行。最后就是自己的一些获奖证书之类的,简历尽量浓缩到一页即可!
投递简历
对于大多数同学来说,最一开始心里可能都有比较想去的公司,或者是目标城市,所以大家在投递的时候也有一定的针对性,或者就是一开始采取海投的策略,不过大家在投递之前一定要了解清楚这个公司的一些情况,比如说有些公司你在提前批投递过了,如果面试没通过的话,可能秋招就不能在投递了,有的公司可能没有什么要求,所以这块大家一定要注意!
对于准备好的同学,建议早点投递,尤其是一些大公司,他们的秋招名额一般都是有限的,如果投递的过晚的话,可能就没有名额了,我今年就深深的体会到了,所谓的金九银十,从今年的找工作情况来看,更加倾向于金七银八,所以建议大家早点准备。
面试准备
一般公司的面试都是分为技术面和人力面,大部分公司可能都是两轮或者三轮技术面然后加上一轮人力面,有的甚至可能要比这还多,所以整个一个公司的路程走下来,有的是比较慢的,有的是比较快的,在每次面试后,一定要记得及时复盘!
所谓复盘就是将自己面试的问题记录下来,然后回忆一下哪些知识点问答的不是特别好的,要及时的查漏补缺!另外就是在你面试某个公司之前的时候建议先去牛客搜索一下对应的面试经验,这个对你帮助还是比较大的,有的时候可能会遇到同样的面试官,可能会问同样的问题。
算法题准备
基本上所有的公司都会在技术面的时候出一些算法题让你在线编写代码,基本上公司用的平台多半是牛客或者赛马平台,有的可能是腾讯会议面试,然后在本地ide中写代码。
对于面试中的手撕代码题,建议大家先把《剑指offer》的题目刷完,还要多刷几遍,对于一些比较优秀的解法一定要熟练掌握,其次就是一些高频的算法题,这块的话可以看力扣的热题100或者是牛客的高频200题,这些题刷完后,或许还不太够,你还可以分不同的模块进行刷题。
基本上这些题目类型包含了所有的题目类型。
除了面试中的手撕题之外,有些公司可能在进入面试环节之前还有一些笔试的环节,有的公司的笔试题是相当难的,这个也需要好好的准备,也是可以参考上面的练习方式进行学习的。
心态
最后祝福大家都可以找到自己心仪的工作!!!
#这样我就上岸了##Java##学习路径##书籍推荐#