Java学习路线
探索Java零基础到架构师学习路线规划
初学者的Java学习路线
JavaSE --> MySQL–> JDBC --> JavaWeb --> Spring5 --> SpringMVC --> MyBatis–> Maven --> Ssm框架整合案例 --> Git/GitHub --> Redis6 --> MySQL高级优化 --> MyBatisPlus --> Spring注解驱动开发 --> ZooKeeper --> Dubbo --> 消息中间件ActiveMQ --> RabbitMQ -->RocketMQ–>SpringBoot2 --> SpringCloud --> 尚筹网项目 --> 在线教育项目 --> 谷粒商城项目 --> 尚医通项目 --> 尚融宝项目–> 高频面试题第一季 --> 大厂面试题第二季 --> 大厂面试
学习视频:【Java学习路线-极速版】【Java架构师技术图谱】_哔哩哔哩_bilibili
提薪资之路
初级程序员
15K以下(初级Java)
1、大专及以上学历,计算机相关专业优先
2、至少1年以上Java开发经验
3、熟练掌握主流开源应用框架,如Spring、Mybatis、Vue等开发技术
4、熟悉分布式、缓存、消息等实现机制
5、熟悉Oracle等数据库,熟悉Unix/Linux的操作
6、熟悉SVN、GIT, Maven等开发管理工具
7、有Java的多线程高并发的开发经验
8、代码编写规范,熟悉JVM调优及Java常用设计模式
9、用SpringBoot及其Spring Security+Mongo+Redis+MySQL等组件
10、精通SpringBoot、SpringCloud、JPA、Mybatis等技术
11、熟悉关系数据库系统Oracle、MySQL、SQL Sever
12、熟练使用Redis、MQ等中间件技术
13、熟悉Oracle、MySQL、SQL Server中至少一种数据库产品
14、熟悉主流的版本控制Git的使用方法
15、熟悉Spring MVC、Spring Boot、Mybatis和SQL Server
16、熟练掌握Java,有Spring、Spring MVC、Mybatis、Maven等框架使用经验,熟悉分布式框架
17、熟悉J2EE架构,能够使用jQuery、Ajax、Spring boot
18、能熟练掌握目前主流的数据库(Oracle /DB2/SQL Server/MySQL)至少一种,熟练使用SQL语句
19、熟悉Tomcat等中间件产品的配置和开发
20、熟练掌握常用的Shell命令,熟悉Linux平台运维
21、熟悉SpringMVC、Spring、Mybatis、Hibernate、SpringCloud等常用框架
22、熟具备大型分布式系统开发经验优先
23、熟悉Spring Cloud或类似微服务框架,有过大规模实践经验的优先、
24、熟悉Spring MVC、MyBatis、Hibernate了解其原理和实现机制,对分布式结构体系有较强理解的优先考虑25、熟悉Java主流框架(Struct、Spring MVC、Spring、Hibernate/Mybatis)
26、能熟练应用Java语言及相关框架(Spring、SpringMVC、MyBatis、SpringBoot)
27、熟悉网络HTTP协议
28、熟悉分布式、缓存、消息机制,SQL调优
29、熟悉web前端技术(Vue、HTML、Javascipt、CSS、JQuery、Ajax等)
30、熟悉Java架构SSH/SSI及Java服务的配置和部署
31、有Linux及分布式开发经验优先
32、具备Redis、Kafka、Zookeeper、Netty等开发经验者优先考虑
33、熟悉使用HTML5、JavaScript、CSS及JQuery、BootStrap等前台界面框架;熟悉应用服务器,如Nginx、Tomcat等的配置
34、具有基本的面向对象的分析、设计、开发能力,熟悉多种设计模式
关键词 Struct、Spring、Spring MVC、Spring Boot、SpringCloud、Hibernate、MyBatis、Git、Oracle、MySQL、Ajax、Redis、JVM
中级程序员
15K-25K
1、专科及以上学历,具有三年以上互联网/软件行业工作经验
2、具备良好的基本功,熟练使用基本的数据结构和算法,深入理解多线程、Socket等相关技术
3、熟练掌据Java常用框架(Spring、SpringMVC、Spring batch、Spring boot、Spring quartz、Mybatis等),深入了解框架提供的特性及其实现原理细节
4、熟练掌握一种以上非关系型数据库,如Redis、MongoDB,理解其使用场景及限制
5、扎实的Java编程基础,熟悉JavaEE、MySQL、分布式等相关技术
6、对各种开源的框架如Spring、Mybatis、Netty等有一定的了解
7、具备系统调试、性能调优等技能,对系统中出现的技术问题具备较好的排查能力,具有一定文档工作能力;8、有大规模、高吞吐量的系统开发实践经验优先;有分布式架构开发经验或业务平台建设经验的优先
9、具有前端开发经验的优先;具有基本数据处理能力的优先
10、熟悉Spring、Spring MVC、Mybatis等常用框架
11、数据库优化、消息队列、缓存
12、Java基础扎实:熟练掌握数据结构、多线程编程等知识,了解常用的设计模式
13、有较强的实战能力,精通Spring、Orm框架(iBatis、hibernate、Mybatis等)
14、熟悉Oracle或MySQL中的一种数据库,能熟练编写SQL语句
15、熟悉Storm/Spark Streaming等流式处理框架者优先、熟悉数据结构和算法设计有较深的理解者优先。
16、熟练使用Redis、MQ、Zookeeper常用中间件
17、有过微服务,容器化经验优先考虑
18、熟悉SpringBoot、Dubbo、Motan任一
19、深刻理解J2EE架构的优缺点,熟悉SSH框架,精通J2EE设计模式、对各种开源的框架如Spring、Hibernate、Mybatis有很深的了解
20、熟悉HBase\Hive\Impala、Redis、Kafka、ActiveMQ\Rabbit MQ
21、熟悉Hibernate、Spring、Spring MVC等开源框架,熟悉SpringCloud+SpringBoot微服务架构,有至少1年以上的相关框架使用经验
22、独立进行项目设计,熟悉UML,熟悉至少一种设计工具
23、熟练掌握SpringBoot、SpringMVC、Spring、Mybatis等常用框架,有SpringBoot实际项目经验;
24、熟悉Redis存储技术,了解Redis数据类型,有Redis项目经验
25、了解常见的中间件、分布式解决方案及其原理:分布式缓存、SOA、消息中间件,负载均衡、连接池等
26、熟悉MySQL数据库,有一定的SQL优化经验,有微服务架构开发经验证优先
27、有Office/PDF文档等文件格式解析经验优先,有高并发、高可用平台业务处理经验加分
28、熟悉主流框架,如:Springboot、Mybatis、Redis、Dubbo、Zookeeper、Elasticsearch等
29、扎实的Java编程基础,理解IO、多线程等基础框架,对JVM有调优经验者优先
30、熟悉Web的相关技术,如HTML5/JavaScript/CSS/jQuery/Ajax/JSP/Freemarker等
31、熟悉Linux常用命令,能独立在上面进行开发、测试和部署、大数据部署经验优先
32、熟练使用关系型数据库,如MySQL、Oracle、SQL Server,熟悉搜索引擎,如Elasticsearch等
33、服务功能的迭代开发
34、服务器并发和JVM优化
35、熟悉MySQL数据库及常用的SQL调优
36、精通Linux常用命令,网络协议,JVM、Tomcat、Nginx等调优
37、有图像算法,或零售行业系统开发经验者优先
38、有高并发、高性能、高可用大型网站构建经验者优先
关键词Spring、Spring MVC、spring batch、Mybatis、SpringBoot、Hibernate、Oracle、MySQL、Dubbo、Zookeeper、Elasticsearch、Redis、UML、Linux、数据结构和算法、多线程、Socket、系统调试、性能调优、分布式架构、JVM、设计模式、高并发
高级程序员
25K-50K
1、熟悉常用的存储如OBS、NAS的使用
2、精通Java编程,熟悉SpringMVC、MyBatis、Dubbo等主流框架;
3、熟悉常用中间件使用及其原理,包含Redis、ElasticSearch、MQ等开源组件
4、扎实的Java基础,掌握JVM、并发编程、网络编程等基础知识
5、熟悉Spring、SpringMVC或其他主流开发框架;掌握常用数据结构、常见设计模式
6、熟悉分布式系统设计、SOA、消息队列、缓存等技术者优先
7、具备良好的业务建模能力,能够结合业务场景抽象业务模型
8、有强力的业务架构和技术架构能力
9、在技术领域方面必须有一项非常擅长,比如分布式系统设计、业务建模、数据分析、数据交换、流程引擎等10、对JVM类加载机制、运行时区、GC算法和回收器非常熟悉,具备JVM调优经验
11、对CI/CD如jekenis等,或对k8s、Docker相关产品了解者更佳
12、精通JAVA语言及其JDK库,具备多线程、高并发条件下的编码能力
13、计算机基础扎实,对网络原理(TCP/HTTP)、数据结构、常用算法、IO原理、linux内核有一定的了解
14、熟悉J2EE技术平台,熟悉Spring、Struts、iBatis、Hibernate等主流的开发框架
15、熟悉webservice、Dubbo、ZooKeeper等
16、熟悉Memcached、MongoDB、Redis、HBase等
j17、具备需求分析和系统设计能力,能设计通用框架及应用模块
18、精通SQL,有较好的SQL性能调优经验,了解Hive/MySQL的基本原理和调优策略
19、熟悉常用的数据挖掘、分析的工具和方法,熟悉Linux平台,精通Shell/Python等脚本语言的一种或多种,编码基本功扎实
20、精通Java开发,熟悉大数据处理相关技术,有Hadoop开发经验,掌握MapReduce
21、数据分析、推荐、机器学习、数据挖掘相关的开发工作优先
22、系统开发
23、精通MySQL,熟悉数据库原理和常用性能优化技术
24、主导或参与过高性能高可用分布式架构设计,有自己的总结
25、有良好的算法和数据结构基础,且熟悉常用网络协议,如TCP/IP,HTTP等
26、熟悉常用的基础组件使用及原理,如DB、Cache、MQ、RPC等
27、善于跨职能沟通,善于带领团队进行高质量交付
28、有大型分布式系统研发经验者优先
29、了解常用互联网组件原理:HBase、MySQL、Redis、Nginx、Kafka等;
30、熟练使用Linux常用命令,具有基本的系统运维能力
31、对面向对象思想有深入了解,具备扎实的数据结构及算法功底
32、具备分库分表、微服务拆分、分布式事务处理相关的知识和经验尤佳
33、具备较强的抽象思维能力,有能力将共性需求提炼成产品
34、Java基础扎实,精通IO、多线程、集合等基础框架,熟悉设计模式和代码规范,很强的代码编写能力、java虚拟机诊断和调优能力
35、精通以下中间件的一种或多种,Redis、RabbitMQ、Kafka、MongoDB、ZooKeeper、Consul、Hbase、ElasticSearch等
36、熟练掌握Spring、Spring MVC、Spring Boot、Spring Cloud、Dubbo等应用开发框架
37、掌握分布式缓存、消息队列的使用,有大型分布式、高并发、高负载、高可用性系统设计开发经验者优先38、熟悉mysql,了解数据库性能调优,熟悉事务、锁、并发等机制
39、有用户增长、自动化营销或数据化智能运营系统建设经验优先
40、有一定的系统架构和设计的经验,解决过高并发,分布式通信,存储等方面的问题
41、熟练使用关系型数据库,有一定的SQL调优经验,了解非关系型数据库,如Mongo,Hbase等
42、熟悉分布式、多线程、高并发及高可用、设计、编码和调优,熟悉常用的网络通信协议原理
43、精通Linux常用命令,网络协议,JVM、Tomcat、Nginx等调优
44、熟悉高负载、高并发的技术架构,熟悉分布式系统的架构设计
45、精通Git、SVN等版本管理工具,熟悉应用分支管理和版本发布管理机制
46、熟悉前后端高效服务传输机制,熟悉WebSocket、Swoole等
47、有流程引擎设计实施经验者优先考虑
48、精通Java EE相关的主流开源框架,能了解到它的原理和机制,如Spring、iBatis、Struts等
49、扎实的编程基础,精通Java开发语言,熟悉JVM、Web开发、缓存,分布式架构、消息中间件等核心技术
关键词(精通):Spring、Spring MVC、Spring Boot、Spring Cloud、Dubbo、Redis、RabbitMQ、Kafka、MongoDB、ZooKeeper、Consul、Hbase、ElasticSearch、大型分布式、高并发、高负载、高可用性
架构师
50K以上
华为:1、本科及以上统招
2、从事Java后台开发工作1年以上,对于Java多线程,分布式任务,微服务架构较熟练
3、熟悉Java编程、JS,了解设计模式,对面向对象有深刻理解
4、熟悉Linux操作系统及相关中间件,如Nginx、Apache、Tomcat等其中一种
5、熟悉MySQL、Oracle主流关系数据库或者Redis、MongoDB等NoSQL数据库的至少一种
6、了解微服务架构,有分布式为服务架构编程经验者优先
7、熟悉云计算业务知识,熟悉OpenStack主要组件的功能和逻辑流程,具备云计算领域一项或多项产品的研发经验
8、具有虚拟化、分布式软件、海量服务管理、大型软件部署、在线平台升级、系统配置管理的研发和设计经验
9、掌握Python、Java、Shell等开发语言;熟悉Linux操作系统;掌握基础的数据结构,计算机基础等知识
10、三年以上Java开发经验,熟悉IO、多线程技术,熟悉Spring、MyBatis等技术框架以及常见的NoSQL技术
11、具备独立系统设计能力,尤其是高并发、高可用和高负载的架构经验
12、有大型分布式、高并发、高可用系统设计、开发和调优经验,有JVM/性能优化经验优先
13、了解拥有高并发在线系统设计,理解分布式事务处理常见手段,理解异步消息驱动系统设计,拥有领域模型抽象能力
14、高性能数据存储经验;理解数据库事务,有流程引擎设计实施经验者优先
15、具有良好的商业敏感度和优秀的数据分析技能。能够开发创新而实际的分析方法以解决复杂的商业问题
16、Java基础优良,熟悉常用的设计模式,有参与项目代码重构经验者优先
17、了解微服务,至少了解ServiceComb、Dubbo、SpringCloud等微服务治理框架中的一种,有相关项目经验
18、熟悉常用的开源中间件/工具/软件,如Redis、Zookeeper、ELK、Nginx、Kafka、MQ等,有相关工具的项目使用经验
19、熟悉常用数据库,包括MySQL数据库,Postgresql,有SQL优化经验者优先,了解数据库集群、数据库读写分离的原理及实现方式
20、熟悉日常版本开发流程,熟悉Maven、Gradle、SVN、Git等工具的使用21、熟悉Linux日常操作、软件打包部署va基础优良,熟悉常用的设计模式,有参与项目代码重构经验者优先