一、基础知识
1、编程语言 java Python c/c++
2、基本算法和数据结构
3、基础网络知识:tcp/ip http/https
4、基本设计模式
5、操作系统
二、工具方面
1、操作系统;Linux(ubunt)
2、代码管理:git
3、持续集成(CI/CD):jenkins
4、java的项目管理工具:Maven/gradle
三、框架方面
1、应用层框架 spring boot mybatis spring
2、各种中间件 消息队列 RPC通信框架
四、数据库
sql:mysql
五、架构方面
分布式/微服务架构
虚拟化/容器化技术
六、关注源码/性能
JDK源码/spring源码
七、书籍推荐
计算机网络: TCP/IP卷一
计算机网络:自顶向下
操作系统:
深入理解计算机系统
数据结构与算法:
大话数据结构
算法导论
数据结构与算法(Java版)
剑指offer
LeetCode
设计模式:
Head First设计模式
大话设计模式
Java基础:
Java编程思想
Java核心技术卷一
Java进阶:
深入理解JVM虚拟机
Java并发编程实战
Java并发编程艺术
Effective Java
Java性能调优指南
Netty权威指南
JavaWeb:
深入JavaWeb技术内幕
How Tomcat Works
Tomcat架构解析
Spring实战
Spring源码深度解析
Spring MVC学习指南
Maven实战
数据库:
数据库原理
sql必知必会
深入浅出MySQL
Redis实战