当前位置: 首页 > 后端技术 > Java

自学Java找个20k的工作

时间:2023-04-02 01:29:06 Java

大家好,我是大斌~我本科不是计算机专业。大四开始自学Java,找到了中大厂的offer。自习的路上遇到了很多问题,每天坚持到一两点才睡觉,最后拿到了30w的offer。在这里我也提醒学弟学妹们尽快确定自己未来的方向,是读研还是工作,如果是找工作,也要尽快确定工作岗位。想转行的人需要多花点时间准备。很多学生只是在大四快毕业的时候才考虑自己以后想做什么。这个时候已经有点晚了。如果错过了校招,去社招渠道找工作,难度就更上一层楼,再后悔就来不及了!好吧,我把我的自学经历分享给大家。先看Java学习路线图:内容还有很多,需要继续坚持!给大家分享一份精心整理的大厂高频面试题PDF。需要的可以自行下载:http://mp.weixin.qq.com/s?__b...给Java基础初学者的建议是:多敲代码!输入更多代码!输入更多代码!学习编程就是看书加练习。需要多做,否则很快就会忘记看过的知识点,多练习就会遇到很多坑,丰富自己的经验。可以在github上找一些项目来练手,通过做项目来巩固自己的知识,每一个功能实现之后,都会有满满的成就感,会激励自己继续学习。推荐书籍:《head first java》《JAVA核心技术卷》headfirst系列书籍的讲解比较有趣,也比较容易理解。《JAVA核心技术卷》难度比较适中,内容比较全面。可以跳过某些章节(例如Swing)。Java基础知识主要包括:类与面向对象特性、抽象类与接口数据类型、Map/List/Set等多态容器类的重写与重载、封装与继承等IO操作:InputStream、OutputStream、Reader/Writer、文件读取、各种流读取等异常处理反射机制泛型final关键字throw和throws的作用自定义异常内部类匿名内部类IO流操作:文件类对文件进行操作字节流写入数据字节流读取数据字节流完成视频文件复制码表字符流写入数据字符串读取数据字符缓冲流使用标准输入输出流对象序列化流内存操作流RandomAccessFileSequenceInputStream压缩流/解压流集合基础:集合框架ArrayList集合特性ArrayList构造方法ArrayList常用操作HashMap、HashTable、HashsetHashMap源码迭代器IteratorMap集合遍历LinkedHashMapConcurrentHashMapJavaWebJavaWeb是一系列技术的综合,也是大部分Java开发者的技术方向。有必要学习。您可以观看这部分的视频教程。视频推荐【尚硅谷】JavaWeb全套教程,HTML/CSS/JavaScript等相关前端可以倍速观看。https://www.bilibili.com/video...[黑马程序员]的Javaweb教程总体不错,IDEA版:https://www.bilibili.com/video...HTML&CSS(懂)HTMLHTML基本使用常用标签CSS选择器HTML5新特性CSS3新特性JavaScript(了解)JavaScript嵌入方法JavaScript基本语法ECMA6新特性JavaScript过程控制数组、函数、对象JavaScript面向对象常用内置对象JavaScript事件绑定/触发JavaScriptDOM操作与APIJavaScriptBOM对象与APIServletServlet概述Servlet执行流程分析Servlet实现方法分析Servlet类尝试讲解Servlet生命周期Servlet线程安全问题分析JavaEEJavaEE规范静态资源和动态资源C/S和B/STomcat概述Tomcat下载和安装各版本Tomcat,支持Tomcat启动和启动问题分析及解决方案Tomcat目录结构JavaEE项目概览工具类首先,必须掌握版本控制工具Git。很多初入职场的同学可能经常会遇到Git相关的问题,比如代码冲突、分支合并等,所以还是要学习Git。推荐狂神视频:Git零基础入门到实用详解:https://www.bilibili.com/video...接下来是Maven和Gradle,构建工具,用于构建和管理各种项目。Maven入门:https://www.bilibili.com/video...Git基础Git概述与特性Git基本概念Git历史版本控制Git分支版本控制Git远程仓库Git远程托管平台Git冲突解决Maven基础Maven环境构建Maven构建&自动构建本地仓库&中央仓库Maven创建Java、Web工程pom等pom文件。关系模块构建聚合项目私服仓库介绍与构建本地资源上传到私服从私服下载资源到本地安装第三方资源安装第三方资源到本地仓库安装第三方资源到私服仓库Docker基础知识Docker镜像命令Docker容器命令Docker部署MySQL、Redis等容器保存转换为镜像镜像备份镜像恢复迁移DockerfileDockerCompose常用命令Docker私有仓库使用数据库也是必学内容,主要是Mysql数据库。书籍推荐:《mysql必知必会》《高性能mysql》《mysql必知必会》主要是Mysql的基本语法,通俗易懂。等有了基础再看《高性能mysql》。这本书主要讲解索引、SQL优化、高级特性等,很多Mysql相关的面试题都出自这本书《高性能Mysql》,值得一读。MySQL基础知识:CRUD事务特性、隔离级别索引原理、优化b+树最左匹配原理存储引擎MVCC执行计划分库分表日志、binlog/undolog/redolog数据使用多表复原的复杂查询约束关系型(一对一、一对多、多对多)数据库的备份和备份多表查询操作事务介绍事务隔离数据库用户管理和权限管理视图存储过程的使用触发器的使用存储的使用引擎原理索引高效查询锁机制数据库集群框架的主流框架主要包括:spring:面向切面,依赖注入,推荐书籍《Spring实战》,通过demo方式带你一步步搭建Spring应用springboot:习惯是比配置好,自动配置。目前很多公司内部都使用SpringBoot。书籍推荐《Spring Boot实战》springmvc:基于MVC架构模式的轻量级Web框架Mybatis:orm框架,推荐书籍《深入浅出Mybatis》springcloud:现在面试基本都会问微服务相关的内容,最好了解微服务相关的知识。服务注册与发现、负载均衡、服务降级、API网关等。推荐书籍《spring cloud微服务实战》SpringSpring概览耦合与解耦工厂设计模式IoC概览与函数依赖注入概念Spring中依赖注入Spring注解IoC配置常用注解使用组件扫描器BeanFactoryPostProcessorBeanPostProcessorInitializingBeanSpringMVC常用组件@RequestMapping注解请求参数封装表单验证相关注解ServletAPI相关注解使用controller方法的返回值异步交互详解及相关注解Rest风格URL介绍@PathVariable注解跨域访问详解及@CrossOrigin注解SpringMVC中的异常处理拦截器SpringMVC中的MyBatis全局配置文件映射配置文件增删改查查询参数深入结果集封装连接池和事务深入动态SQL语句多表查询懒加载策略自定义启动依赖和自动配置SpringBoot配置文件类型配置文件和配置类属性映射方法SpringBoot集成MybatisCustomStarter事件监听初始化流程SpringCloud服务注册Eureka介绍Eureka服务端开发微服务开发注册到Eureka服务注册中心Eureka保护模式客户端负载和服务端负载Ribbon实现客户端负载均衡Feign的工作原理雪崩效应和熔断fuseHystrix使用网关介绍基于网关构建网关服务通过网关网关访问微服务SpringCloudConfig使用Git存储方式实现配置管理微服务改造从配置中心获取配置信息服务总线SpringCloudBus介绍及应用中间件RedisRedis的优势五大数据Redis基本操作命令的种类etMQ模式消息丢失消息重复基于MQ的分布式事务解决方案讲解JVMjvm也是面试中经常被问到的内容Java开发者不需要自己进行内存管理和垃圾回收,jvm帮我们做了,但是还是有必要了解一下jvm的工作原理,使得在出现oom等问题的时候,有排查解决问题的思路。书里推荐周老师的《深入理解Java虚拟机》。jvm基础知识:jvm内存结构(程序计数器、虚拟机栈、本地方法栈、堆、方法区、运行时常量池、直接内存)类加载过程类文件结构对象头父委托内存分配与回收垃圾回收算法Garbage收集器调优工具(jsp/jstack/jstat/jmap,看懂就行)并发和并发编程相关内容可以在本书中找到《JAVA并发编程实战》,主要内容是:线程的基本定义,实现线程线程运行的方法原理状态线程池线程间通信Lock(synchronized,ReentrantLock)并发工具类(CountDownLatch/CyclicBarrier/Semaphore)原子类AQS线程间通信方式线程同步线程死锁计算机基础知识平时需要花时间学习计算机基础知识,巩固基础。数据结构与算法书籍推荐《数据结构与算法分析 java语言描述》,用Java语言描述各种数据结构和算法,更容易让Java开发者理解,主要学习以下内容:基本数据结构(数组、链表、栈、队列等))树(二叉树、avl树、b树、红黑树等)堆结构排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等与时空复杂度)动态规划回溯贪心算法计算机网络推荐《计算机网络自顶向下方法》:网络层次结构TCP/IP三向握手四向波滑动窗口,拥塞控制HTTP/HTTPS访问一个链接的全过程DNS网络安全问题(CSRF,CSRF,XSS、SQL注入等)操作系统学看起来头大,可以去b站找视频看,推荐清华大学的公开课。书籍推荐《深入理解计算机系统》,大部头,经典书籍,值得多读几遍。基础知识:什么是进程线程进程间通信方式线程同步方式死锁?条件死锁处理策略分页分段差分进程调度策略什么是虚拟内存换页算法信号量...linux推荐书籍《鸟哥的linux私房菜》。以上就是Java的学习路线。学完整条路线至少需要半年时间。坚持就是胜利!最后分享一个github仓库,有200多本计算机经典书籍,包括C语言、C++、Java、Python、前端、数据库、操作系统、计算机网络、数据结构与算法、机器学习、编程生活等,可以给它加星标,下次找书的时候可以直接在上面搜索。仓库持续更新中~github仓库:https://github.com/Tyson0314/...如果不能访问github,可以访问gitee仓库。gitee仓库:https://gitee.com/tysondai/ja...码字不易,觉得有帮助的话点个赞吧!我是@计算大宾,定期分享Java后台核心知识。欢迎大家关注~