专栏首页阿甘的码路2大学四年Java学习路线规划,所有私藏资料我都贡献出来了,我要是早知道就好了

大学四年Java学习路线规划,所有私藏资料我都贡献出来了,我要是早知道就好了

大学是最珍贵的四年,要学会走在学校前面,规划好自己的学习时间。@目录如下:

  • 一.第一件事,很重要!!!
  • 二.学习资料获取途径(想要学习却不知道学什么?来)
  • 三.《数据结构》、《计算机网络》、《操作系统》、《计算机组成原理》有多重要?
  • 四.大一上啃基础,学会机器思维思考很重要
  • 五.大一下,开始系统学习Java
  • 六.大二上,学习框架
  • 七.大二下,做项目,学习中间件
  • 八.大三,做项目,关注技术社区动态,吃透基础,准备面试(实习面试和秋招)
  • 九.大四,可能是终点,也有可能是起点

一.第一件事,很重要!!!

首先我不是来打广告的,此篇内容会涉及到很多产品,我只是贡献出来学习工具途径,读者自己衡量。

  • github开通账号,将自己以后所有的项目放到这个上面管理,别问是什么先开通
  • 开通云笔记(印象笔记或者有道云笔记),以后所有的学习笔记统统放进去,不丢失
  • 开通CSDN账号,简书账号,至少一个技术博客账号,将你平时学习的东西写出去,别说你什么都不会质量烂什么的,写博客是最好的学习方式
  • 加上一届同专业利害的学霸学长学姐微信,每个大学都会有技术“工作室”,你不知道并不代表没有,去问,加入工作室(有些学校可能会叫实验室,基地),里面都会有项目,有学长学姐带
  • 开通百度网盘,资料视频都放这里
  • 翻墙Google搜索,这个嘛看个人能力,决定了平时找问题解决问题的效率

二.学习资料获取途径(想要学习却不知道学什么?来)

首先展示一下我的网盘资料,四千多个G的编程资料,有视频有书籍有项目,几乎涵盖了后端,前端各个方面,大部分的培训机构的资料我都有,花了多少钱买已经计不清了,读者如果有资料找不到可以通过末尾我的公众号加我的私人微信私聊我要,我不提倡传播盗版,很多价值高的加我私发。

刚开始学习编程很多不会很正常,建议先看视频跟着敲代码,盲打代码,再看书,不会的博客查,最后需要巩固加强的时候看专栏,看书,当你能教别人的时候说明你就会了。

资料来源渠道排序如下:

钱由少至多:

  1. 博客社区(如简书,CSDN,掘金,质量参差不齐但免费,大学刚开始打基础建议系统学,博客辅助学)
  2. 腾讯课堂APP,哔哩哔哩APP(很多免费,学生党爱用的腾讯大王卡更是免流量到哪里都能学)
  3. 闲鱼(比较便宜,找不到再上淘宝)
  4. 淘宝(价格高低不等)
  5. 慕课网(有点贵,不提倡,学生党很多培训机构的足够)
  6. 专栏(如极客时间的,针对性攻克一个东西很棒)
  7. 书籍(放在最后是因为每个人都会买,但是瞎买纯粹是浪费钱不会看,不信你看你到毕业看了几本买的书,入门到放弃系列什么的,要针对性的买对书籍才是有益的也不浪费看的时间)

质量由高至低:

  1. 极客时间专栏(极客出品必非凡品,有点贵,大学生建议找免费资源,有心就能找到哈哈哈)
  2. 书籍(高质量书籍对于理解透一样技术是必不可缺的,不要瞎买,问一些有经验的人,最好是做编程的人,绝对不会推荐你买“入门到放弃系列”的)
  3. 视频(最直接的学习方式,跟着学)
  4. 微信公众号(很多公众号主本人都很厉害,没点实力哪敢出来丢人现眼,写的东西相当不错,当然很多你都不知道,怎么办,多去一些技术社区转一转就有了!!!不要只知道逛微博)
  5. 博客(有很多博主的博客,自成系列那种,写的也很好,但是需要找,比较费时)

三.《数据结构》、《计算机网络》、《操作系统》、《计算机组成原理》有多重要?

考研必备,面试必问,这四本书是王道。

每个学校安排这四门课的时间不一样,我单独拎出来说,这四门课操作系统是睡的最多的课,数据结构是挂的最多的课,然而这四门课无论什么时候上,一定要好好学,不仅是学校发的书上的,还要深入了解,学校发的书至少每本都要过一遍,血的教训。

这四本书很基础,但是确是一个程序员的内功,能决定一个程序员未来的路能走多远。后面学中间件原理,数据库底层的时候会发现到处都是这四本书涉及的内容。

重要性:数据结构>操作系统,计算机网络>计算机组成原理>编译原理(这本书建议自学) 操作系统和计算机网络重要性不分上下

很多大公司BAT之类的,一定会问这些,而且会问的很深入,学的时候可以看一些面试题,比如计算机网络里面面试经典问题”在浏览器输入一个网址之后会发生什么“,几乎串起了计网知识的各个方面,带着问题学会比一直看书效率高。

这里面《数据结构》最重要,编程=数据结构+算法,那些树啊什么的,属于含泪也要弄懂系列。

四.大一上啃基础,学会机器思维思考很重要

大学刚开始,很多人都会比较浮躁,大家都忙着物色男女朋友,发展社交发展兴趣,课程也是相对比较多的,在这里如果能把c语言学好,转换过来编程思维,就已经算是成功的了。

大一几乎所有学校的信息学部都是从c语言开始入门,学习基本的语法比如变量,函数,方法,类。真正用C做开发的很少,然鹅C语言是基础,语言都是相通的,C语言基础好的话后面学习Java接受度会很高,会觉得很简单。

C语言学习困难户,可以看《小甲鱼视频》,专门讲解C,可以回放课堂没听懂都可以补回来。这个时候很多人会感到懵逼,有种学了点语言但是什么也做不出来的感觉,一直用C语言实现那些很难的数学问题,头都要炸裂,然而炸裂的四年才刚刚开始。

趁着刚刚高考完脑子里还有余粮的时候,赶紧做这几件事:

  • 把书上的所有例子都给实现一遍
  • 用C实现“八种排序算法”,达到都能盲写成功的水准(现在不做大三你还是会做的)
  • 开始刷 LeetCode(百度就知道),不知道干嘛就使劲刷 LeetCode 吧,总有一天你会感谢现在的你的。
  • 感觉自己数学可以,盲写也没问题的,试着看看ACM,蓝桥杯等比赛,很多学校有专门的这些比赛培训,去问,勇敢的去参与(这个看个人能力,算法的话有时候还看天赋,但是建议大家大胆的去尝试,年轻人什么都没有就是勇气多)

大一上学期很多课程,感觉如果能把上面提到的都做好就已经很成功了,另外建议亲亲们大一上学期的寒假开始学习Java基础,千万不要浪费寒假,千万千万!!!

五.大一下,开始系统学习Java

上面是Java所有的技术栈,下一下学期主要是开始进行语言的学习,如果寒假已经开始了那么当然是最好的,语言涉及到前端后端,需要学习的东西还是非常多的,前端建议先把 Html,Css,Javascript 这些都给学了,然后学习前端框架 layui, bootstrap等,自己后续开发可以使用框架来减少前端工作量,毕竟只有后端你还是看不到东西,Java的推荐目标如下图

Java基础是必备的,都是从基本语法开始学起,先学会使用,这里语法可能挺多的,开始从视频学习,从我上面提到的途径,获取到“黑马","传智播客","尚硅谷"等的基础班全套视频,例如下面目录中所示的(需要的私我),耐心的看完,边看边做笔记,印象笔记,然后每天看新的之前先复习笔记,隔段时间就复习一下,要不然会感觉学不进去,很容易忘记

然后学习Jsp,Servet这些,数据库学习Mysql,前端也要同步学,把这些基础都给学了,为暑假做一个小项目打好基础。

暑假有两个月,很多人去打暑假工赚钱,在我看来”可以,但没必要“,这个专业技术到位了,以后不会缺钱,这个专业技术不同工资浮动单位都是万计/月,暑假两个月,一个月用来学习上面没有学完的,另外一个月开始做一个项目,可以先去github上面拉取别人的项目来看,例如我随便一搜就有很多很多项目,先看看可以有些什么思路,自己设计一个小系统来实现,一定要自己实现,中间什么问题都会碰到,解决问题的能力很重要!!!

这个时候,学习的项目,只要你全部都弄懂了,完全可以转化成自己的项目,以后可以往简历上面写,前提是你完全懂了,自己都能实现那种。

我的第一个项目,就是把上面说的学完了,然后我一个人从0摸索,学长协助,后端采用 jsp+servlet,前端使用 layui 框架加上Ajax和jquery,数据库采用mysql,架构起来的,这个项目是一个web平台,做数据库语言自动测试正确与否的,暑假开始做的,做了二个月也是熬了两个月,我就感觉自己web开发摸到边了。

小提示:学习过程中可能有很多困难,但是请不要放弃,一定要往前推进,先把技术栈给学完,然后回过头再来各个精通,逐个击破。

六.大二上,学习框架

其实jsp+servet会了,框架相对来说是很简单的,是基于这个进行的封装,一个学期把这些框架都给学了,达到会使用的目的还是不难的,当然前提是前面的基础在。

先看框架怎么使用的视频(推荐腾讯课堂,很多免费的,搜索"SSM框架入门“等),再看一些教育机构的项目视频,教你从从0搭建那种。如下这种,项目视频很多,按照上面那些方式去搜,推荐看商城系统相关的项目视频。

然后还是自己实现一个,很多学校的大作业也会让实现一个大系统之类的。学习了Mybatis, Spring, spring mvc之后实现一个系统,再学习springboot,maven,很多人直接学习 springboot,这里我不推荐,很多原理还是要懂得,基础扎实一点吧大学不缺时间。

学完上面这些,其实对Java整个web开发就会有比较好的理解了,一定要做项目,实验室有最好,没有的话也要去找项目做,例如github上面的项目,理解透转化为自己的,实现一套类似的。面试哪怕是实习,项目经验很重要,没有亲身做一个完整的东西很多东西是理解不了的。

七.大二下,做项目,学习中间件

其实上面涉及到项目的时候,很多涉及到中间件,以下我列举几个必学的中间件 Redis, RabbitMq, ElasticSearch,Maven, Nginx, Git这几个是必学的,微服务框架spring cloud相关(选择,能力特别强的,也做过项目的,基础理解的很透彻的学习,因为涉及到很多分布式概念,没有项目经验的很难理解)

上面的东西,学习的时候视频,书籍都可以,其实使用很简单,一周就能学会使用一样,一定要把这些中间件的原理,使用场景,底层的存储设计都给学完,并且理解了。

学到这里相信大家都会有适合自己的学习途径,还是做项目,积累项目经验,设计一个比较大的系统,在做之前先看《阿里巴巴Java开发手册》,这本册子很薄一个上午就能看完,但是对你特别重要,能助你摆脱写垃圾代码,进行写规范代码。

项目可以从github上面找,每次学习一个中间件,都在这个系统里面进行使用,另外要学习使用”阿里云服务器“,学生可以有9.9一个月特惠的那种,linux服务器,包括域名访问什么的,这些属于运维工作,但是能助你感受完一个项目从开发到落地的全过程,将自己的项目打包上线,不要一直本地纯玩demo。

八.大三,做项目,关注技术社区动态,吃透基础,准备面试(实习面试和秋招)

1.这一年需要做的事情有哪些?

  • 还是做项目,有能力的可以上一些程序员接活的网站接活适度体验赚钱,接活的网站有”猪八戒网“等,做一些有回报的项目,主要是有技术性的项目;
  • 知识输出,多写一些博客,不要怕,大胆的尝试,写出来是最好的学习方式;
  • 拓展自己的知识面,微服务分布式的东西多少要有一些了解,别的语言例如Python等也需要了解不求精通(工作中会用Python写一些脚本,至少我现在经常写Python脚本);
  • 多和一些社区互动,到了大三一定要关注牛客网,因为快要找工作了,里面贴吧你可以看到同龄人都在做什么,别和世界脱节了;
  • 开始回头啃基础,准备面试内容,一般每年八月到十月是秋招的时候,牛客网里面很多学长学姐的面经,秋招经历,多看一看提前感受,顺便知道都需要学什么,懂什么
  • 疯狂刷算法leetcode,其实刷算法是需要大学四年一直刷的

2.大三一年必读书籍,面试前必会

必读书籍(不分先后):

  • 《程序员面试宝典java版》
  • 《深入理解jvm虚拟机》
  • 《剑指offer》
  • 《Java并发编程的艺术》
  • 《高性能mysql》、《mysql45讲》
  • 《Spring 实战》
  • 《redis设计与实现》
  • 《大话数据结构》
  • 《大话设计模式》
  • 《阿里巴巴Java开发手册》

这些书是阿里巴巴面试官给总结的,也是我亲身经历后总结的,都是必读的书,然后考研那四本。很多书刚开始接触读起来会很吃力,多读几遍,其实最好的方式是大一大二就开始看,大三再看会有更加深刻的理解,工作以后再看又会有不一样的体会。

另外框架最好要懂源码,源码学院的东西讲的就不错,学习算法推荐一个朋友公众号《帅地玩编程》

最晚从大三那个春节开始,就要准备实习面试了,金三银四,每年三四月份是找工作的最佳时候,这时候很多大公司会进行实习春招,岗位巨多,像百度,阿里,字节跳动,腾讯这样的公司会向全国的大学生敞开大门,英雄博弈,很多靠实习转正,而且秋招的时候,如果你的简历上面有大公司实习经历,那么会非常加分。

3.投简历一定要走内推!!!

什么是内推?

内推作用要看内推的公司,一般分为两种:

  1. 公司如果设立了笔试,那么内推可以免简历筛选直达笔试环节;
  2. 公司如果不设立笔试,那么内推可以让简历直达hr,增大面试机会。

内推形式大多分为2种形式:

  1. 发内推人邮箱,由内推人进行投递简历;
  2. 自行去公司的招聘官网,填写完简历后填写内推人给的内推码;

很多985,211学校的同学,不走内推,走官网正常流程,简历都一直不被捞起来,也就是说没有面试机会,太多这样的例子了。

春招和秋招

实习春招,每个大学生只有一次机会,进大厂实习,一定在你大三的下学期,也就是二月到五月,春招实习有转正机会,就算不能转正也有一份大厂实习经历,会给秋招加分

秋招,在大三结束的暑假八月至十月,秋招就是正式工作了,首先要知道的一点就是秋招拿到了offer,但是不需要马上就去,你可以根据你的时间毕业后再去,或者可以先去公司实习,所以这个期间已经在实习的宝宝们可以放心投递,不会要求马上让你去的。

如果是普通本科学历的,错过了春招秋招那么以后很难有机会通过社招进入大厂,除非技术是真的强,把握机会。

注意:另外需要强调的一点就是,那些大厂,每年一定会在这两个时间段向全国开启春招秋招的,每次面试他们都会有后台记录和评价,你表现很糟糕会影响你之后的面试的,不要急躁。

春招秋招批次

如果早准备好了可以参加提前批,提前批没过还可以内推,内推没过还可以走官网普招流程参加笔试之后面试,你只需要好好准备,首先简历一定要过硬,尤其是学校不过硬的简历不过硬会被刷掉,没有面试机会。

难度:实习<秋招<春招

面试机会:提前批->内推->官网走流程

参加提前批相当于多了一次机会,不影响后续投递,最重要的是实习和秋招,春招岗位很少,大多是公司秋招没录满补录的,或者有些大佬拿了offer拒了留出来的岗位,这个时候还有很多考研失败,海外留学生,秋招失败的人一起和你竞争,人多岗位少,你最大的机会在实习和秋招,尤其是秋招。很明显的一点就是,像美团,快手,阿里今年春招都设立了笔试,秋招就没有,变相劝退哈哈哈。

也就是说,在大年那年的三月之前你就要准备面试准备的差不多,大三还是很紧张的时间,另外准备是永远准备不完的,时间到了没准备好也要上,越早投递相对越简单,后面时间长了岗位少了难度都会提高些。

毕业了,拿了毕业证就不能参加秋招春招了。

很多同学没工作没人脉,不认识大厂的人怎么内推呢?

去牛客网社区里面随便一搜,能搜索出来一堆内推码,心动吗?所有的大厂都有几乎,很多都是大厂内部员工,24小时给你提供查询服务,放心他们比你还想你能进大厂,因为他们成功推荐一个人能有几千块奖励呢,所以这些机会都是现成的在等你,就看你能不能接得住。

九.大四,可能是终点,也有可能是起点

大四上学期八九十月份这三个月份请去秋招!!!

过了十月份秋招结束,这个时间段的人,已经很明显了,分为三类人:第一种大学没学技术不行找不到实习也拿不到offer,第二类没有拿到offer在实习,第三类拿到了offer安心浪。

这三类人,博主一些小意见,仅供参考:

第一类人有点要命了,论文都成问题,这类宝宝如果时间还不是特别晚的话并且想做开发,可以去参加培训机构速成(建议学前端),然后赶紧找份实习靠实习转正,培训机构很多也会帮忙找工作;如果不想做开发,那么自学一些测试岗位或者运营岗位或者运维岗位需要的技能,这些岗位要求不会很高,有科班背景找一个实习不会太难,靠实习转正算是先入这行的门了。

第二类在实习的,也要关注秋招和春招,尤其是实习公司不能转正或者自己不满意的,实习期间别忘了保持学习充电。

第三类拿到了满意offer的可以去王者峡谷上王者了哈哈哈,这类人自己就懂得怎么学不需要我来规划。

最主要的是懂得底层,无论是数据库,中间件还是Java基础都要懂得底层实现,框架要懂框架原理,这样面试一点也不虚,当然算法是要一直坚持刷刷的。

大三一年我做了有五个项目,四个工作室的项目,一个自己接的活,挣了总共有一万多点吧劳动很廉价,主要是为了学习技术。上面我所提的技术,除了微服务springcloud学完了但是没有用过,自学完大数据技术栈实习公司很巧就用上了。我非常的普通,甚至是很多人眼中不适合搞开发的女生,但是我还是坚持学下来了,所以这篇文章并不是天马行空,我能做到我不信任何读这篇文章的你做不到,加油吧少年。

一看时间凌晨三点了,明天还要工作,写作不易,听说点“在看”的你会变得更加帅气~感谢观看,文中仅仅代表我个人观点,需要资料的欢迎加我微信私我。

当你的实力配不上你的野心,当你的能力支撑不起你的梦想,那就继续努力吧,听说努力的人运气都不会太差哦~

本文分享自微信公众号 - 阿甘的码路(gh_1fb6f73611a1),作者:阿甘

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-04-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 极客算法训练笔记(四),栈和队列,从实际应用看数据结构

    栈和队列都是操作受限的数据结构,那么为什么不直接用数组和链表呢?事实上,从功能上来说,数组或链表确实可以替代栈,因为栈其实就是通过数组和链表来实现的,但是,特定...

    阿甘的码路
  • 极客算法训练笔记(六),十大经典排序之希尔排序,快速排序

    排序算法的衡量指标我这里不再重复,上一篇我已经列举分析的很清楚了,但是非常重要,没看到我上一篇的小伙伴墙裂推荐,这里给一个直通车票 极客算法训练笔记(五),十大...

    阿甘的码路
  • 抓包分析以太网帧和IP数据包,头部那么多东东用来干啥的,扫盲篇

    使用了 Wireshark 进行抓包,用两个最常用的 curl 和 ping 命令来演示抓包情况,开启抓包。

    阿甘的码路
  • 从单个示例学习计算任务,Amazon元学习让ML专才变通才

    在过去的十年中,深度学习系统在许多人工智能任务中已被证明非常成功,但是它们的应用范围很狭窄。例如,一个经过训练可以识别猫和狗的计算机视觉系统,仍将需要大量训练才...

    新智元
  • WPF的消息机制(一)- 让应用程序动起来

    前言 谈起“消息机制”这个词,我们都会想到Windows的消息机制,系统将键盘鼠标的行为包装成一个Windows Message,然后系统主动将这些Window...

    葡萄城控件
  • LayaAir 2.4易用性大幅提升,3D物理引擎库体积减少近50%、编码模块不再内嵌到LayaAirIDE,支持微信引擎插件

    LayaAir引擎版本号小数点后的第一位代表着大版本,其后是小版本。每一个大版本都代表着,引擎有着阶梯式的前进变化。时隔一个多月,2.4.0大版本的出炉又有着怎...

    Layabox Charley
  • 图像样本不够用?元学习帮你解决

    原标题 | Few-Shot Image Classification with Meta-Learning

    AI科技评论
  • 解析Axios原理之一:如何实现多种请求方式

    自从 Axios 成功打入 Vue 全家桶之后,便开始火的一塌糊涂!截止到目前,其在 github 上的 star 即将突破 80k !可以说 Axios 是当...

    用户1272076
  • 解读 | 计算机编程的 20 年变迁!

    技术在更迭,科技在变化。20 年前,或许只是处于概念型的技术,如今早已深入落地我们的日常生活中,而从计算机编程角度来看,在互联网发展的 20 年间,究竟有哪些根...

    CDA数据分析师
  • java join()用法示例

    主线程执行一段时间后,需要先执行一个子线程里的任务,然后再执行主线程。 测试类

    IT云清

扫码关注云+社区

领取腾讯云代金券