双非本科,逆袭中大厂的 Java 学习路线

embedded/2024/9/23 5:02:23/

从零基础入门 Java,到最后秋招上岸,笔者也是花费了不少的经历,也走了很多弯路。这一篇文章会记录下真正有用学习路线。

为什么要强调真正有用?网上的很多所谓从入门到求职,推荐的路线都超级长,零基础的同学,想要学完然后去找工作,几乎不可能。看了就直接劝退了。比如有些所谓的老师,让一个连代码都没敲几行的同学,去学 Spring 源码,这不是瞎扯嘛?

废话不多说,直接进入正题。我说的路线是面向 Java 开发的,根据路线学完之后,可以选择开发、测试、运维这几个方向。

Java语言入门与进阶

第一个阶段,是 Java 语言的学习,包括入门和进阶。推荐 B 站的韩顺平老师,每个视频看完之后,跟着敲一遍,里面会有作业,也可以做一下,熟悉 Java 的语法。里面的小项目,时间充足的可以做一下,赶时间的直接跳过。

总结这个阶段需要重点掌握的:Java 基本语法、异常、Integer类、String类、StringBuffer、StringBuilder、重点的集合类型,包括:List 、ArrayList、Vector、HashMap、ArrayList、Hashtable,以及多线程、常见的设计模式。

HashMap、ArrayList、Hashtable 这三个集合的get、put操作,需要跟着视频阅读一下源码。

第一遍看,如果觉得自己对这些东西都很陌生,那么遇到源码解析的部分,可以跳过,先学会怎么用,把代码跑起来,让自己和代码之间,有一种亲切的感觉,而不是看到大堆的英文,然后一直浮躁。

时间充裕的,推荐看这本书:《On Java》

MySQL

第二个阶段,学习一种关系型数据库。推荐学习 MySQL,因为他是免费开源的,适合自学,其他数据库都类似。推荐小林的《图解mysql》来简单入门,对于文章类型的资料,第一次看有很多不懂的地方,没关系,反复看多几次,有时间可以看一些大佬写的书,就会有顿悟的感觉了。

时间充裕的,推荐看这本书:《MySQL 必知必会》

Redis

接着来学习缓存数据库,Redis 是最常用的,也是免费开源。资料的话,B站随便找个视频,先学用法,可以部署在本地或者服务器,跑起来之后,试着运行一些命令,为了后面做项目,遇到 Redis 部分不至于太陌生。

SpringBoot + Mybatis

到这里,就进入框架层面的学习了。这两个东西,在 B 站都有一堆的视频,注意不要全看完,不然会很花时间,而且很多看了也会忘,还是先学会怎么用,遇到源码解析部分先跳过,不然看了也是懵逼状态。

SpringBoot 主要掌握一些注解的使用,基本的配置,依赖怎么搞的,同时会涉及到 Maven 的知识,简单了解即可。

Mybatis 主要是用来在框架当中操作数据库的。

实战项目

到这里,可以自己找一个感兴趣的项目,来实战一下了。B站、github、码云这几个平台都可以找,最好找一些有完整教程和完整代码的,可以先部署好,把项目跑起来,然后再从一个个接口入手,学习为什么要这样写。

注意,在实战项目这个过程中,肯定会遇到很多的报错,不要灰心,即使跟视频里一模一样的代码,也可以会报错,因为运行的环境不一样,可能使用的配置版本也不一样,报错很正常。时间充足的可以折腾一下;如果赶时间的话,还是建议找一个有完整代码的项目,不至于一个 bug 自己搞两三天还解决不了,这样的消耗不能说没意义,但是求职路上,时间就是金钱

同时也会遇到一些中间件,比如 MQ、ElasticSearch 等等,也是推荐先学会使用,然后再学底层原理。做的时候可以自己尝试一下使用git 来管理代码,而不是直接存在某个文件夹,习惯提交代码、回滚之类的基本操作,因为工作之后肯定要用到的。代码管理平台推荐国内的码云(gitee)。

找工作

学完以上这些东西,就可以直接背八股文,然后找工作了,如果目标是小厂,那么上面这些就足够了。

目标是中大厂的同学,还要补一下 JVM 、计算机网络、操作系统。主要都是一些八股文,我自己是买了一个八股文小程序,每次面试之前,都突击一下。不想花钱的同学,可以看小林 coding 的网站,但感觉还是我的小程序比较给力,至少命中率都挺高的。

对于八股文小程序的说明,可以看这里。

以上要学的东西,都是一定有用,而不是可能有用,时间紧迫,在有限的时间,我们要做优先级最高的事情!

最后,文中所提及的书籍,都可以在微信公众号“徒手敲代码”当中免费获取,这也是我自己的公众号,希望通过分享自己的面试求职心得,以及对常见面试题的理解,帮助更多的小伙伴找到心仪的工作。


http://www.ppmy.cn/embedded/44575.html

相关文章

什么叫Java spring boot

Spring Boot是一个基于Spring框架的开源Java框架,用于简化创建独立的、生产级的Spring应用。它通过提供一系列默认配置和自动化设置,减少了开发人员在配置方面的工作,从而使得Spring应用的开发更加快速和简单。 Spring Boot的主要特点包括&a…

Python基础学习笔记(九)——字符串(下)

目录 前言一、字符串的编码、检测和比较1. 编码与解码2. 字符检测与判断3. 字符串的比较 二、占位符与格式化1. %型格式化2. {}型格式化3. 浮点格式化4. f-string 格式化4.1 对象调用4.2 数字格式4.3 字符串格式4.4 功能增强 三、字符驻留机制 前言 本篇将更深入地介绍字符串的…

蓝桥杯2023(十四届)省赛——子串简写(跳跳双指针、妙妙剪枝)

子串简写(跳跳双指针、妙妙剪枝) 1.子串简写 - 蓝桥云课 (lanqiao.cn) 这里的剪枝实在是泰妙啦! 回顾一下我这个蠢蛋的思路:一开始遍历leni,结果只过了俩;然后遍历i和j,len直接计算&#xff…

【3.vi编辑器使用(上)】

一、vi编辑器的三种模式及切换命令 1、vi是linux中最基本的编辑器。但vi编辑器在系统管理、服务器配置工作中永远都是无可替代的。 2、vi编辑器的三种模式:命令行模式、插入模式、底行模式。 (1)命令行模式:用户在用vi编辑文件…

消息队列RabbitMQ简介及应用场景

RabbitMQ是一个开源的消息代理和队列服务器,它实现了高级消息队列协议(AMQP)。RabbitMQ的主要特点包括高性能、健壮性、可伸缩性和易用性。它使用Erlang语言编写,支持跨多种语言和平台,如Java、.NET、Ruby、PHP、Pytho…

React(四)memo、useCallback、useMemo Hook

目录 (一)memo API 1.先想一个情景 2.用法 (1)props传入普通数据类型的情况 (2)props传入对象的情况 (3)props传入函数的情况 (4)使用自定义比较函数 3.什么时候使用memo? (二)useMemo Hook 1.用法 2.useMemo实现组件记忆化 3.useMemo实现函数记忆化 …

【设计模式】备忘录模式

来源&#xff1a;爱编程的大丙 定义&#xff1a;在不破坏封装性的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个对象&#xff0c;这样以后需要的时候就可以将该对象恢复到原先保存的状态。 #include<iostream> #include<map> #in…

部署加密系统的必要性

企业核心数据是企业运营的中枢神经&#xff0c;涵盖了客户信息、产品数据、供应链信息等关键业务记录。这些数据的准确性和安全性对企业至关重要&#xff0c;它们支撑着企业的日常运营决策&#xff0c;优化运营效率&#xff0c;增强客户服务&#xff0c;同时也是企业竞争力的重…