应届生自学Java到毕业,学会这些内容,就可以进大厂啦

我就是自学Java进的大厂,学校很普通一个不知名的一本,专业是计算机专业,不过在学校学不到什么,基本都是靠自学,我们班进一线大厂的人有6个,我就是其中一个,剩下的人大部分去考研了。

下面这个学习安排就是我在大学自学的内容,就适合时间多的大学生,因为学的内容实在太多了,我几乎有空闲的时间就泡在图书馆看书看视频写代码。

我可以给大家进行内推(如果你技术能力还可以的话),还有这些学习资料、笔记、电子书等等。整个大学期间的所有学习规划,应该怎么去找实习、如何参加竞赛,如何丰富自己的简历,如果大家需要的话,可以点击下方评论区关注+留言,已关注,求分享!

Java基础

  • 基础语法、数组、面向对象、抽象类、接口、枚举、常用类、集合、泛型、注解、异常处理、多线程、IO 流、网络编程、反射。

学习目标:打下扎实的语言基础,深刻理解面向对象的抽象概念,具备初步编码能力,培养对于编程的兴趣,拥有良好的理论与实操的水平。

学习建议:推荐书籍《Java核心技术》,把书上的代码都跟着敲一遍,你的基础理解水平会比大多数人都要好,过了这个阶段后,你就具备了基本编码的能力。

MySQL数据库

  • 概念、SQL 搭建、语句编写、约束、索引、事务、表设计、性能调优。

学习目标:掌握基本的增删改查SQL语句编写,可以独立设计数据库表。

学习建议:大量的SQL语句练习必须跟上,根据具体的需求场景来锻炼设计表的能力,其实学习数据库没什么难的,真的是熟能生巧的过程。

常用框架

  • JavaWeb
    • 网页应用开发基础、前端基础、XML、JSON、Servle、Filter、Listener、Cookie、Session。
  • Spring
    • IOC、AOP、事务。
  • SpringMVC
    • 请求与响应、Restful API、拦截器、配置、执行过程。
  • MyBatis
    • 增删改查、全局配置、动态 SQL、缓存、和其他框架的整合、逆向工程。
  • MyBatis Plus
    • 引入、通用 CRUD、条件构造器、代码生成器、插件扩展、自定义全局操作。
  • SpringBoot
    • 常用注解、资源整合、高级特性、本地热部署。
  • Redis
    • 数据类型、常用操作、Java 操作 Redis、主从模型搭建、哨兵集群搭建、日志持久化、应用场景。

学习目标:掌握现代企业常用的主流框架的应用,可以应付日常项目的开发工作。

学习建议:Java语言衍生出的生态特别庞大,技术是永远学不完的。所以对于普通人来讲,只需要掌握企业普遍使用的框架就好,根据个人能力的大小,进行自我学习提升。以上我列出的知识点,基本是现代企业必用的技术,一定要按照我写的顺序进行学习。框架主要在于实际应用,所以千万不要懒,光看是没有用的,一定要自己去实际应用,先把代码敲出来再说,很多抽象的概念暂时理解不了没关系,以后会慢慢懂的。

其他

  • Maven、Git
    • 项目开发中常用的管理工具,掌握其基本操作即可。
  • Linux
    • 做开发必备的Linux服务器,很多项目都是运行在Linux上,需熟悉Linux的基本操作和脚本编写。
  • Docker
    • 开发中最常用的容器,提高开发和维护的效率,很容易学习。

以上内容全部学完,大概可以找一份工资10K-12K月薪左右的工作,就是初级程序员的水平。这些知识点是最保守的学习内容,一个知识点都不可以落下,都是目前企业对于Java程序员最基本的要求。到此为止,想要找到一份初级开发工作的内容学习就结束了,下面就是面试前的一些准备,以及还想学习更多内容的后续......

面试前的准备

只是学习Java体系里面的基本内容,在目前的行业发展趋势来看,那是远远不够的,或者是不具备一定竞争能力的。目前企业招聘对于数据结构、算法、计算机组成原理、计算机网络、操作系统等,都有一定的考察,尤其是数据结构与算法,基本是企业笔试中必考的一项,所以在面试之前,我们还要学习一些面试需要的内容。
  • 数据结构与算法
    • 数据结构是算法的根本,而算法可以说是优秀程序员的灵魂,学好算法有助于我们更好的理解代码,开拓思路从而写出更加简洁健壮的代码。而根据目前招聘来看,很多公司必考算法题。所以我建议大家在学完Java基础后,要坚持每天去LeetCode刷两道算法题,算法这关过了才有可能拿到好公司的offer。
    • 推荐书籍《大话数据结构》《算法导论》《剑指offer》。
  • 开发规范
    • 想要成为一个优秀的程序员,或者想要进入更好的公司,那么开发规范就是必须遵守的,这会提高项目开发效率、降低维护成本。而大多数学习者对这方面根本不在意,所以我们能看到就是大多数人永远只是“码农”,最后逃脱不了被淘汰的命运。
    • 推荐阅读:阿里巴巴 Java 开发手册:Alibaba Java 技术图谱-阿里云开发者社区
  • 面经/面试题
    • 大量的去刷面经,刷面试题,这相当于高考前2个月的冲刺,一定会大大提高你获得更多offer的概率。

自学Java会很坎坷,遇到问题自己解决不了,找工作碰壁,不知道如何练习项目,这是大多数人自学Java都会遇到的难题,也是我曾经自学过程中体验过的痛苦。如果你有上述的问题,可以点击下方评论区关注+留言,已关注,求分享!

如果这些你都准备好了,你可以放心的去找工作啦!!

如果你不满足于这些,请急需阅读下面进阶部分!!

计算机基础

如果你有很好的校招资源,想要进入到大型互联网公司,那么计算机基础三剑客就是必须要学的,好公司必考的计算机组成原理、计算机网络以及操作系统。或者你想进入好的公司,想要成为更优秀的程序员,你也可以利用空闲的时间补习计算机基础理论。
  • 计算机组成原理
    • CPU
    • 内存
    • 主板
    • 输入/输出设备
    • 硬盘
    • 显卡
  • 计算机网络
    • HTTP / HTTPS 协议
    • 网络模型
    • UDP / TCP 协议
    • 网络安全
    • 域名解析
  • 操作系统
    • 进程、线程
    • 进程 / 线程间通讯方式
    • 进程调度算法
    • 进程 / 线程状态
    • 死锁
    • 内存管理

学习建议:这部分内容偏理论知识,主要是拓展知识面,一般都是大厂对于应届生知识面宽窄的考察,学起来可能会枯燥一些,所以自己尽量要对计算机建立起一些兴趣。推荐的书籍有《图解HTTP》、《深入理解计算机系统》、《自下向上的计算机网络》。

设计模式

如果我们可以学好设计模式,那么对于我们提升薪资会有很大的帮助。设计模式是项目开发中解决某一类问题的通用解决方案,类似于算法一样,算法其实就是一系列问题解决的方案。我们工作中常用的框架,里面就有很多设计模式的体现,在后面如果要学习框架源码时,如果你不会设计模式,是没法进行源码学习的。
  • 23种设计模式
    • 单例模式、工厂方法模式、抽象工厂、建造者模式、原型模式、适配器模式、组合模式、装饰器模式、代理模式、享元模式、外观模式、桥接模式、迭代器模式、模板方法模式、策略模式、命令模式、状态模式、责任链模式、备忘录模式、观察者模式、访问者模式、中介者模式、解释器模式。

学习建议:设计模式的学习在于逐个击破,先理解好每一种模式的基本概念,以及每一种设计模式适用于哪种应用场景,然后在把每一种设计模式应用到实际项目的开发中,也是熟能生巧的过程。推荐推荐经典的一部书籍《图解设计模式》,吃透这本书,足可以让你掌握好这23种设计模式应该如何应用。

消息中间件

不同的公司会使用不同的消息中间件,作用一般都是解决具体项目遇到的问题,提高项目运行效率、维持项目的稳定性。不过常用的消息中间件主要就是以下4个,如果在面试的过程中被问到,可以成为自己很好的加分项。
  1. RabbitMQ
  2. ActiveMQ、
  3. Kafka、
  4. Nginx

学习消息中间件并不难,跟着视频操作一下很快就能学会,了解它们各自的应用场景,然后在项目中进行使用,上手很容易。

微服务

如果你想拿到20K以上的薪资,那么 微服务框架Sping Cloud是你必须要掌握的技术,Spring Cloud是微服务系统架构的一站式解决方案,是各个微服务架构落地技术的集合体,俗称微服务全家桶。
  • Spring Cloud
    • 注册中心
    • 配置中心
    • 网关路由
    • 熔断保护
    • 负载均衡
    • CAP事务
    • 幂等原则
    • 微服务架构

这部分内容有一些难度,而且涉及的内容体量较大,同时也需要良好的基础,以及对于之前Spring系列框架良好的理解才能上手学习。如果觉得自己之前掌握的不错,并且有较好的学习能力,可以着手于微服务的学习。

以上拓展内容就是大多数普通人可以达到的极限了!

如果你想收获30K以上的offer,请急需为自己的技术栈进行下面的拓展!

高并发

如果你有机会进入到大厂,那么并发一定是大厂考察的重中之重,大厂开发的各种项目中,存在着各种并发的情况出现,所以在大厂的Java后端程序员是必须要懂得并发编程的。但是学习并发编程需要一定的开发经验,需要有一定的学习能力,所以这部分的内容要上一个台阶。
  • Java并发编程
    • Java NIO
    • Reactor模式
    • 分布式锁
    • 分布式ID
    • 分布式缓存
    • 高并发架构
    • 多线程
    • 线程池
    • 内置锁
    • JMM
    • CAS
    • JUC
    • 高并发设计模式

虚拟机

成为一个优秀的Java高级程序员必经之路,真正了解Java语言底层构造原理,掌握虚拟机性能调优的方法,写出占用内存最小且性能最高的程序代码,到这里你已经战胜了90%以上的技术人。
  • JVM
    • JVM生命周期
    • JVM体系结构
    • JVM内存区域
    • 类加载机制
    • 垃圾回收
    • 垃圾收集器
    • 性能调优

学习建议:学习Java虚拟机看这本最经典的《深入理解 Java 虚拟机》就够了。

源码

如果你对技术非常痴迷,如果你想要做系统架构师,你可以到这步开始阅读框架源码了。都说程序员到了35岁就会被淘汰,但是任何一个行业最后被淘汰的人,一定是那些早早就停下了学习脚步的人,作为可以轻松阅读源码的技术人,你只会成为这个行业中稀缺的技术人才,因为你已经具备了自己核心竞争力和不可替代性。

框架源码

  • Spring
  • SpringMVC
  • MyBatis
  • SpringBoot
  • SpringCloud

学习建议:能达到这步的人很少,如果你已经达到了这步,说明你具备了非常优秀的自学能力,搜集资料的能力,解决问题的能力,持之以恒的意志,剩下的就都靠自己去摸索了,技术论坛是你每天必逛的,技术性书籍是你每天必看的。

Java程序员三个发展方向:


1. 技术

资深技术工程师,对于技术比较痴迷,有这方面的钻劲。以后可以去做技术顾问,可能一周只去公司两天,但是拿的工资是非常高的。

  • 初级程序员(薪资6k-15k)

刚刚进入IT行业,做一些简单的项目,写一些简单的代码。写代码的时候还是会依靠复制粘贴的方式完成代码的编写,他们不考虑程序的质量,代码也写的很乱,也没有注释,他们只要求程序能够运行就好。

  • 中级程序员(薪资16K~30K)

到了这个阶段,已经掌握了较好的技术,可以靠自己去做一些项目了,不在需要靠复制粘贴别人的代码了,开始关注代码的质量,代码的规范,把该注释的地方,注释好,开始做很多实用的项目。并且在团队中担任重要的技术人员职位。

  • 高级程序员(薪资30K~50K)

到了这个阶段,技术已经非常厉害了,很技术人员开始走设计路线,比如系统设计等等。公司会有很多的技术难题需要靠你去解决,这个时候是属于大神级别了。在公司会有非常重要的位置,受到领导的重视。

  • 系统架构师(薪资50K~100K)

系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点的技术人员。主要着眼于系统的“技术实现”。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等。

2. 管理(年薪20万-100万)

有长时间的工作经验,在公司可以带别人去成长,目前常见的三个管理职业,项目经理、产品经理,技术总监。做管理需要高情商,维护人事关系,有自己的大局观,承受压力的能力要强,就是心比较累,承受的东西比较多。

3. 创业(收入无上限,但风险很大)

走创业这条路,风险大,付出的精力非常多,要有启动资金,平时需要积累人脉资源。性格需要是那种不认输的性格,为人比较乐观开朗。有良好的团队运作能力。

创业必须有很好的点子,抓住时代的机会,比如现在的碎片化时间,很多人在玩一个消消乐的游戏,这就是抓住了现代人生活方式的一个点子。

如果你现在是大四阶段,正处于迷茫期,即将面临实习,我这边与企业合作有一个应届生大厂实习计划,你不妨来试一试!你将收获一份大厂实习证明、大厂求职推荐信、大厂备案、8封留学链接、可查大厂工作背调经验!

应届生自学Java到毕业,学会这些内容,就可以进大厂啦_第1张图片

如果你想报名的话,可以先关注我,然后在评论区“已关注,321”,我这边会第一时间添加你,给你对接企业的哦!

你可能感兴趣的:(java,职场和发展,面试,学习方法,经验分享)