先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
腾讯:(深圳)TEG 后端开发工程师
拼多多:(上海)后端开发工程师
华为:(杭州)CloudBU 软件开发工程师
思科:(杭州)大数据开发工程师
爱奇艺:(上海)后端开发工程师
04
秋招 offer
百度:(上海研发中心)后端开发工程师
字节跳动:(深圳)后端开发工程师
拼多多:(上海)后端开发工程师
顺丰科技:(深圳)后端开发工程师(offer 审批中、sp 专场)
腾讯:(深圳)IEG 后端开发工程师 复试
我为什么要转互联网?
==========
01
专业兴趣
对机械专业缺乏兴趣爱好:本科虽然成绩排名还比较靠前,可能是因为一直觉得既然不知道自己喜欢什么,那就学好当前的专业。在本科毕设的时候接触了一些软件相关的东西,发现自己对软件相关的东西要比机械感兴趣的多,所以在研究生期间就和导师沟通参与的都是软件相关的项目。一直觉得兴趣爱好才是职业成长的最好驱动力,至少可以决定你在某个行业的深度。
如果你想要学习Java的话,我给你分享一些Java的学习资料,你不用浪费时间到处搜了,从Java入门到精通的资料我都给你整理好了,这些资料都是我做Java这几年整理的Java最新学习路线,Java笔试题,Java面试题,Java零基础到精通视频课程,Java开发工具,Java练手项目,Java电子书,Java学习笔记,PDF文档教程,Java程序员面经,Java求职简历模板等,这些资料对你接下来学习Java一定会带来非常大的帮助,每个Java初学者都必备,请你进我的**Java技术qq交流群**自行下载,所有资料都在群文件里,进去要跟大家多交流学习哦。
02
未来学业规划
未来学业规划:研一开学就对读不读博进行了认真的思考,综合自己的性格、研究所的课题后决定不读博。因为如果读博的话,最好还是多搞一些基础研究,不要花过多的时间在软件项目上,因为都是简单的搬砖,对于博士大佬来说有点“浪费时间”。
03
薪资
机械专业的薪资和互联网行业的薪资着实差距太大,这也是很多人转行的最大动力之一吧。不过个人觉得还是兴趣为先,薪资只能作为职业选择的加分项,毕竟各行各业都有自己的优缺点。
04
就业城市
互联网城市相对来说都是在一线,北、上、广、深、杭,如果你要是没有打算留在一线城市,转行也要慎重,毕竟一线以下城市互联网公司可能比较少,发展也比较受限。
05
个人生活
每个人对生活的追求都是不一样的,有的人喜欢互联网的9、9、6,也有人喜欢国企/外企的 9、5、5。我了解到的国内大部分互联网行业的工作强度是要高于其他行业,但是也是要分公司的。有一些国企或者外企性质的互联网公司还是很舒服的,钱也不少。
Java的自学之路
=========
我是2017年8月开始自学的 Java。
最开始花了大概两个月时间学习了 web 前端:HTML5、CSS、JS,后面都在学习后端的知识。我主要是通过视频、书籍、博客学习的,大概说下我的学习历程和一些觉得不错的书籍的推荐吧。
01
学习历程
====
第一阶段:视频学习
主要是在哔哩哔哩看培训视频(。看视频学习的最大好处就是入门很快,看一遍,再跟着敲一遍,但是缺点就是时间会花费长一些。我入门阶段基本上都是看视频学习,建议是找最新的视频学习,因为培训机构也会根据公司每年面试的侧重点调整自己的教学方案。
视频学习一般都是比较基础和偏向案例实现的的教学,如果要想系统的了解某一模块的知识,阅读专业书籍是少不了的。如果有时间肯定多读一些书好,但是最优的做法是在有限的时间内阅读完经典书籍。拿 Java 后端来说,《Java编程思想》、《深入理解Java虚拟机》,毫不夸张的说几乎每次面试都会有很多知识点都是出自这些书中。所以,这类书籍,多读几遍。最好看完后,能够写出自己的读书笔记。我一般是写读书笔记前,会看一看别人的读书笔记,看看自己对书中的知识点是否有理解偏差或者有遗漏的地方。
第三阶段:博客学习
这一阶段是一个持续的过程,主要是写博客和看博客。总感觉看了书很快就忘了,所以为了以后高效的复习,开始写了一些博客,当然博客内容主要来源自书本以及一些大牛的博客,再加上自己的理解。坚持写博客,先仿写/转载别人的,再进行自己的原创,这样一点点的深入,会有很大收获
第四阶段:实验室项目
一共做过两个校企合作项目,这两个项目虽然很简单,都是单点的 web 服务,但是却给自学 Java 带来了很大的帮助。 而且在最开始找实习的时候,这两段项目还是起了很大的作用。个人感觉项目简单也没有关系,只要你把项目中涉及到的知识点都搞清楚,还是很加分的。至少把自己做的东西弄懂了。
项目1:可视化项目。这个项目比较简单,采集机床的数据,然后存储到数据库里,最后再进行二维、三维的图、表展示。主要涉及的技术是:Java、Spring、Struts2、Hibernate、Json。
项目2:两网融合项目。负责其中一个服务,通过发布 WebService 接口的形式实现不同服务之间的文件上传、下发功能。主要涉及的技术是:Java、WebService、Spring、Struts2、Hibernate、XML。
第五阶段:实习
个人观点:实习是非常重要的。
我是在研一的暑假开始投递了一些公司,大公司基本上要么是没有面试机会,要么就是一轮游。但是还是比较建议大家尽早投递一些公司试试水,我一直觉得通过面试复习是非常高效的。
这里给大家几点建议:
1. 先投递一些小公司,锻炼自己的面试表达能力;
2. 再投递一些不会去的大公司,锻炼算法、完善基础知识;
3. 最后再投递目标公司,最好也是难度大的放在最后面。
资源推荐
====
1、书籍:
Java基础:《Java编程思想》、《深入理解Java虚拟机》、《Java并发编程之美》
数据库:《SQL必知必会》、《高性能MySQL》
计算机网络:《图解HTTP》、《计算机网络》
操作系统:《深入理解计算机系统》、《鸟哥的Linux私房菜》
数据结构与算法:《算法4》、《剑指offer》
设计模式:《大话设计模式》
2、github
3、csdn
付费
==
极客时间:
我是比较推荐这个付费软件的,我订阅过《数据结构与算法之美》、《MySQL 实战》、《趣谈网络协议》、《从0开始学微服务》。这种专栏最大的好处在于每篇文章都比较短,大概10-15分钟,可以在公交车、排队时阅读。知识都是积累出来的,而且每篇文章都是某个知识点的精华讲解,简单易懂。
左神算法:
算法在应届生求职面试中的重要性就不用“大写加粗”了。左神算法分为初、高级两部分。初级主要讲解基本的数据结构及其相关的题目,如:栈、队列、链表、树、图、贪心算法、动态规划等。高级主要讲解一些常用的算法,如:KMP、Manacher、BFPRT、蓄水池算法、滑动窗口、单调栈等。
牛客网项目:
牛客网项目分为初、中、高级,我做了中级《秒杀系统》的项刚要找实习并且没有项目的同学,我还是比较推荐做下秒杀的项目,虽然这个项目已经被很多人写进简历里了,但是只要你把其中涉及的知识点(扣库存、缓存、消息队列等)都弄清楚了,这就是你的项目。
工具推荐
====
思维导图 Xmind:很好用,基本上都用过。
印象笔记:在线同步笔记、好友分享。
IDEA:做 Java 开发的尽量使用 IDEA 代替 Eeclipse。
Git:版本控制更加推荐 Git,SVN 用的很少了。
Postman:一款功能强大的网页调试与发送网页 HTTP 请求的软件。
实习的那点事
======
无论是日常实习还是暑期实习,都要先想清楚一件事情:我为什么要选择这份实习?
个人建议是最好能有两段实习:暑期实习面试前(每年3月份)有一段日常实习经历,可以用在暑期实习的面试中。还有就是暑期实习,最好去能够转正的大厂,这样有转正 offer 保底,不至于很慌。
01
实习的好处
1. 暑期实习有转正机会:很多大厂,比如:阿里、腾讯、拼多多等都是很喜欢留用实习生的,毕竟企业培养一个实习生肯定是赔本的买卖,稍微有点贡献的基本上都可以留下来。甚至有一些公司的暑期实习 offer 就可以代表秋招 offer,因为面试难度都是一样的;
2. 面试加分:这也是我认为最重要的一点,实习可以增加简历筛选通过的概率,更会在面试过程中凸显出很大的作用。如果你有一段还不错的实习经验,在面试的时候可以挑这段实习中做的事情来说。如果没有实习经历,那只能狂怼基础知识了,而且有些公司和面试官更偏向于要有过实习经历的应届生;
3. 基础知识的巩固:我经常会有一种感受,很多学过的知识,看过的面经,只有在真正用到时,才会理解的很深刻,通过实习可以巩固自己的基础知识;
4. 编码习惯的规范:自己平时写代码可能不会注意那么多,只要实现功能就行了。但是实习过程中往往都是要先熟悉所在小组现有的工程代码,可以看看大佬们是怎么写代码的,比如:设计模式的使用、日志的规范格式、单元测试等等;
5. 工程业务开发能力的锻炼:一般实习生都会先分一些小需求做,可以学到如何和产品沟通需求、开发、测试、上线一整套流程。而且在互联网公司实习,特别是大厂,基本上都是分布式的服务,可以学到很多分布式的实际应用场景,可以利用这样的机会学习分布式框架、分布式事务等等知识;
6. 提前了解一个公司:这里我有一个个人建议,千万不要只听别人说某某公司怎么样,一定要自己深入的去了解下。因为很多人都“黑”我多的上班时间,去实习后发现并没有说的那么严重,而且我是在 C 端部门,如果是基础架构或者 B 端可能会下班更早一些。因为大厂部门很多,下班时间是要看部门和个人工作效率的。除了工作时间,最重要的是你去实习,你可以了解到公司的企业文化、价值观,Leader 的风格、团队的技术等等;
实习的弊端
1. 有些互联网公司对实习生要求还是比较高的,可能会分配比较多的需求。那么这样的话,就没有太多的时间复习;
2. 秋招笔试一般都是两个小时,如果在实习的话,多多少少会有些不方便;
3. 还有一种实习最坑的,实习快结束的时候,leader 说没有转正机会。遇到这种情况,也是欲哭无泪。
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
况,也是欲哭无泪。
最后
如果觉得本文对你有帮助的话,不妨给我点个赞,关注一下吧!
[外链图片转存中…(img-BpQjvdUh-1713449460362)]
[外链图片转存中…(img-epNzuOnT-1713449460363)]
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-XmRhRWSc-1713449460363)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!