26届双非是如何拿下大厂后端实习的,学习路线已奉上,陛下请看!
核心还是主要跟黑马程序员。因为黑马的课比较完善一点。可以一直跟黑马听到自己技术体系搭建起来,不用在多个up主之间来回跳。
需要注意的是:下述在推荐课程学习部分的时候,我的核心思路都是:“帮你快速搭建起来一个Java后端的体系框架”,听完上述的课程你基本就知道什么是后端了。
但是每个人都有自己不同的学习习惯。因此对于一些在我的文章中不推荐现阶段学习的知识,你如果很感兴趣的话也可以学。
前置素养:
对于刚开始学Java的同学,要培养的素养就一个:“尝试去清晰的表达自己的诉求和想法”,基于这一个素养要逐渐培养出来两个技能:
1.懂搜索,互联网上的资源是无穷无尽的。因此一定要学会去搜索,提高自己的信息搜集能力。
2.善用AI,能在自己的知识出现卡点的时候,清晰的向AI表达自己的疑惑。
1.Javase 上下
这一部分的要求就是:看个过瘾,了解基本语法就好。
难点主要集中在《Java入门到起飞-下部》的IO流,多线程,网络编程,反射,动态代理部分。看不懂不要紧,因为这一块的东西确实很深,现阶段刚学Java理解不了是正常的。
学习后端的时候,一定要建立一种思想:“知识是网状的,不是线性的”,很少存在 只有把A课程学完了才能学B课程 的情况,所以在刚开始学习的时候,对于一些自己深挖过的知识点,如果还是不懂的话就跳过。不要自我感动的在那里进度一卡四五天。
2.MySQL
MySQL在这里也是只听一部分。因为有一些东西太难了,你在这个阶段是听不懂的。等你有成熟的开发经验了之后再回头听着这些东西会好很多。
MySQL在现阶段只听:【数据库相关概念------SQL优化小结】【进阶-锁-介绍 -----------innnoDB引擎小结】
在初步学习的时候,主要目标是能够把SQL语句写明白就行。后续的索引,调优,集群之类的东西随着你自己在Java后端领域的知识体系逐渐搭建起来之后,你自然会遇到对应的场景的,这个时候在学习也是来得及的。
3.Javaweb
这里的话很多东西看不懂不用强求,只追求大致了解。一整个Javaweb课其实都可以理解为让你粗略的了解一下企业开发中的常用工具,很多东西其实你在这个阶段是看不懂的,因此了解就好。
在这一部分,感兴趣的话可以详细了解一下maven。对后续的开发很有帮助。
4.SSM(Spring + Spring MVC + Maven)
这一部分也是,部分章节会涉及到Spring 这个框架的底层原理。但是由于这个阶段还属于是入门阶段,因此不一定能听懂这些部分。在这里也不做强求,大致知道是啥玩意就行。后面再强化。
5.苍穹外卖:
这个项目一定是做到能学多细 学多细。苍穹外卖一定是现在最适合新手入门的第一个后端项目。因为首先:
- 视频很完善,难度也适中。有各种增删改查案例供大家选择。
- 项目被海量的同学做过,网上全是各种资料。遇到bug或者自己想拓展的话,也有方向。
- 不要钱。
在这一部分没必要在网上去找一些其他知识星球的项目。没有任何必要,直接学苍穹外卖就可以。前面我们说到能学多细学多细,具体最好做到以下几点:
1.写自己的项目日记。每天都以博客的形式记录一下自己今天跟着课做了哪些功能点,踩了哪些坑:
2.在做完整项目的时候,去写一篇万字总结。详细的概括一下在这个项目中用到了哪些技术点,自己的收获是什么。我之前做的时候就写过一篇:
https://liyuanxin.blog.csdn.net/article/details/134044210
3.在写完万字总结之后,思考一下这些项目中提出的技术解决方案,你是否还有其他的思路?你是否还知道其他的方法能够解决这个技术问题?如果有的话,为什么选择A技术而不选择B技术?
除此之外,很多人会在这里犹豫:“我是要跟着老师一起敲,还是敲完了之后看老师怎么敲?”。这里由于是你的第一个项目,所以不做要求,怎么来都可以。
而苍穹外卖中会引入Redis的使用。因此下面我们来深入学Redis:
6.Redis
这里学习Redis的方式是以项目的维度展开的。也就是另外一位重量级项目:黑马点评。这个项目也需要跟着好好做。学习方式最好和苍穹外卖一样。
这里可以不听高级篇和原理篇。初学者不太能听懂。可以后面再听。
在黑马点评中,我们采用的Redis的Stream流来做消息队列:
因此下面我们来正式学一下真正的消息队列中间件:
7.Rabbitmq
这里的话也是能学多细学多细,学RabbitMQ的话是因为我看现在很多项目网课都用的是RabbitMQ。所以学一学RabbitMQ可以在学这些网课的时候更适应一点。
企业的话,大家还是用kafka多一点。所以可以再把kafka一学。
当你学到Rabbitmq的时候,其实基本上单体项目的常用中间件就学完了。你也就算入了Java后端的大门了。这个时候其实你就基本知道自己还要学哪些东西了。因此后面的方向就不再做具体的规划了。
拓展点:
1.多看源码
常见工具的源码一定要看。了解一些底层机制可以让自己在背八股的时候不那么枯燥。并且读源码本身对自己也是一种训练,可以在到时候实际工作的时候更快的上手。不至于对着公司代码一脸懵逼。
在初读源码的时候,可以是跟着网课读,也可以是把不懂的发给ChatGPT解读。主要是要培养自己看源码的能力,这样到公司之后,看公司的项目不至于一脸懵。
在这里我推荐一些必看的源码:JUC的所有类能看多少看多少。
2.写自己的博客
初期自己没什么技术的时候,就把这玩意当作笔记写就好了,不用觉得丢人什么的。后期入门后端之后,有自己的一些小想法也可以写上去。
重点在于坚持,博客这玩意先追求有,再追求好
这玩意对于不想打比赛和没机会做开源的同学来讲,也是一个很大的加分利器。我自己面试美团的时候,面试官就提到了看过我写的CSDN和微信公众号,觉得我对技术挺有激情的。
你就说都这么说了,能在面试官心里不加分吗?
3.多逛逛技术论坛
计算机这玩意吧,不能还是高中那种应试教育学习。具体来讲:不要把这玩意当作一门学科,而是当作一个技能来学习。
所以多逛逛论坛,多了解一些好玩的技术。尽量能够让自己在这个过程中玩起来。我一般主要逛的论坛就是v2ex。
牛客也可以多逛一逛,看一看大家的简历是什么样子的。看一看面试官一般都会问哪些内容。这样自己在学习的过程中也会更有指向性。
而且计算机这个学科最忌讳自我高潮。所以多玩玩互联网,多看看自己和别人的技术差距。多和别人交流交流技术。把这个东西玩起来。
4.学好基础课程
很多人可能由于做的是Java后端,平时一直呆在应用层。所以对一些基础的课程不是很用心,认为学了也没啥用。
但是其实这个观点是大错特错的。随着自己在后端领域的深入,很多东西其实你越往底层学,就越会发现最后还是会回归到三大件“计组,计网,操作系统”。
我举一个最简单的例子:java会有指令重排序的问题。而指令重排序不仅仅是编译器在做。cpu和内存也会做指令的重排序。
而一聊到cpu的指令重排序,就要聊到CPU的流水线架构。再延伸一点的话还会扯到分支预测。这些他是计组的知识,但如果你没有学过这些东西,那么在这一块就会很难理解这些东西。因此一定要学好这些基础课程。
5.简历项目怎么选?
一般没实习的话,就两个项目。很多人在选项目的时候会很焦虑,不知道选哪一个。在这里我我给出一个我自己的观点,不一定正确,仅供参考:
不必过于追求项目的冷门性,因为全国学java后端的实在是太多了。就算是再冷门的项目,也一定会和别人出现重复。除非你是真实的商业项目或者开源项目。
那如何选项目呢?
我认为:在现阶段大家项目高重复度的情况下,一个项目只要能提供给面试官足够的提问点。那他就是一个好项目。
而在选项目的时候,也不要仅仅只听一个博主的项目课。而是选择方向。
比如我想做网盘,那你就不要只听一个up主的网盘项目就草草了事。而是多看看市面上所有的网盘项目,拆分一下他们的亮点功能,最终融合出来一个自己的网盘项目。
在这一过程中,着重思考一下几个问题:
1.这块除了用a技术外,还能不能用其他的技术?这两种技术的优缺点是什么?
2.你是否能够详细表述你的每一个功能点?
2.你作为真正使用这个项目的用户,你会希望有哪些改进?一定要把你自己做的项目当作一个真实的可用项目来做,而不仅仅是一堆功能点而已。#牛客AI配图神器#
#没有实习经历,还有机会进大厂吗##大家都开始春招面试了吗##牛客创作赏金赛#