java架构师最全技能图谱,包含:数结构算法、java进阶、web开发、框架与工具、设计模式、UML、中间件、分布式集群、负载均衡、通讯协议、架构设计等技术图谱等章节
一:数据结构算法
算法分析
时间复杂度和空间复杂度
算法思想
递推、递归、穷举、贪心、分治、动态规划、迭代、分枝界限
数据结构
数组、链表、堆、栈、队列、Hash表、二叉树等
算法
排序
经典排序:插入排序、冒泡排序、快排(分划交换排序)、直接选择排序、堆排序、合并排序等
查找
经典查找:顺序查找、二分查找、二叉排序树查找
高级算法
贪婪
回溯
剪枝
动态规划
大数据算法
hash分桶
统计
二:Java进阶
java编程基础:
对象和类 、基本数据类型 、变量类型、运算符、循环分支结构、数组、正则表达式等
集合
总的说来,Java API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:
Collection<–List<–Vector
Collection<–List<–ArrayList
Collection<–List<–LinkedList
Collection<–Set<–HashSet
Collection<–Set<–HashSet<–LinkedHashSet
Collection<–Set<–SortedSet<–TreeSet
面向对象高级知识
类、对象、继承、构造函数、封装、接口、抽象类、多态、重写、this static关键字、类与对象的关系
异常处理
异常类类图:throwable exception error RuntimeException
异常处理机制
如何定义和使用异常
运行时异常和受检查异常区别
运行时错误
java异常处理的原则和技巧
多线程
概念与原理
创建于启动
线程的生命周期及五种基本状态
线程交互
死锁
调度合并
调度让步
调度休眠
同步方法
同步块
同步与锁
线程池
阻塞队列
IO/NIO
同步阻塞 同步非阻塞 异步IO
反射
序列化
泛型
网络编程
高级特性
JVM
运行时数据区:方法区、虚拟机栈、本地方法栈、堆、程序计算器
GC算法:
内参回收三要素:什么内容需要回收、什么时候回收、如何回收
并发与执行
引用计数算法
根搜索算法
垃圾回收算法:标记-清楚算法 复制算法 标记-整理算法 分代手机算法
垃圾收集器:新生代、老年代收集器
溢出
java堆溢出
方法区溢出
outofmemoryerror
虚拟机栈和本地方法栈溢出
直接内容溢出
三:Web开发核心
HTML JS CSS
html js css语法基础
Js css框架
Html开发工具
JS和CSS调试工具
模板引擎
jsp
velocity
freemarker
Java web
容器:tomcat jetty等
热部署插件:run-jetty-run
cookie session使用和区别
fliter和listener的启动和步骤
身份验证
单点登录原理以及实现
web核心
事物JTA
JMX
安全:JCCA/JAAS
通信:JNDI/JMS
SSI技术
linux
常用命令以及操作系统原理等
线上故障处理和分析
性能工具
visualVM Jprofiler JMeter等
线上故障
线程数超标
访问超时
长事务
CPU超标
内存超标
开发工具使用
web开发调试
firebug
Web Developer
JavaScript Debugger
IETester
Yslow
构建工具
maven Grails
maven私服 nexus
版本控制
git svn
java调试工具
JCover
Junit
Jtest
以及大量的eclipse插件,eg:findbugs等
开发框架
SSH:struts2 spring hibernate
SSM:springmvc spring mybatis
阿里开源框架
架构师进阶六大要求
- 程序设计要求
- WEB开发要求
- 架构设计要求
- 运维能力要求
- 操作系统要求
- 产品业务要求
数据库技能
- 理论基础
- 数据库设计原则和范式
- 事务(ACID,事务的隔离,锁,传播机制)
- 数据库优缺点
-
Mysql oracle sqlserver
-
Nosql (redis,mongoDB,memcached,hbase)
- Sql语句
- 数据库创建,权限分配,表的创建,增删改查,连接,子查询
- 触发器、存储过程、事务控制
- 性能优化&分库分表等
- 索引原理及适用,大表查询优化,多表连接查询优化,子查询优化等
- 分库、分表,冷备热备,主从备份、双机热备、纵向扩展、横向扩展
架构设计
- 设计模式与UML建模
- Java设计模式
- JAVA与UML建模
- 面向服务和资源架构
- SOA/SCA/ESB/OSGI/EAI,微服务架构
- 面向资源架构:ROA/REST
- 高性能和负载均衡
- 性能调优
- 大型网站负载均衡、系统调优等
- 大型网站架构
- 集群
- 架构设计 容灾
设计模式
- 结构型模式
- 创建型模式
- 行为模式等
- 重用性高
- 易维护
技术架构能力
- 缓存搭建
- CDN基站搭建
- 消息队列搭建
- 数据库拆分
- 工程代码拆分
- SOA服务
- 分布式文件
- 搜索引擎
- Sql和Nosql混搭
- 运维系统
- 监控系统
- 机房容灾
架构前瞻性
•业务和技术的把控能力
•技术挑战
•预判业务
淘宝店铺装修项目大数据实战
如果你对java架构有兴趣可以参加优知学院的java进阶实战,java进阶群:629511325
淘宝店铺装修大数据实战
业务场景:涉及淘宝大数据业务的访问,以及大量的读写业务场景。
技术场景:涉及分布式场景(硬软件集群和负载均衡等)、dubbo(SOA)、消息队列(ActiveMQ)、分布式缓存Redis、分布式存储(TFS)等技术场景。
- 架构设计
- 详细技术方案
- 数据库设计
- 表结构搭建
- 搭建SSM框架
- 数据库以及开发环境搭建
- 搭建分布式缓存和分布式文件存储系统
- 编码阶段
作者简介
陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注作者「mikechen」公众号,获取更多技术干货!

后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》,后台回复【面试】即可获取《史上最全阿里Java面试题总结》
[…] 如果需要上篇内容:数结构算法、java进阶、web开发、框架与工具四大篇章技能图谱,请查看java架构史上最全图谱上篇。 […]