广度涉猎,深度优先,常用的一定要专研,不常用的一定要熟悉知道。
一、架构师基本素养
1、常见领域熟悉
开发、运维、大数据,不一定要精通,但是最起码熟悉
2、架构师分类
开发架构师
运维架构师
运维开发架构师
大数据架构师
正常来说,目标是开发架构师,不可能所有都精通,没那个精力,正常开发架构师是50w+,但是正常只有大公司才能给得起。
3、架构师工作内容
产品模块设计与划分
开发技术选型
中间件选项与优化
亲自编码场景较少
PPT和邮件要完好
基本的管理技巧(比如项目管理)
4、薪资
开发架构师(Java)—-50w+
运维架构师-60w+
运维开发架构师(Go)—-70w+
大数据架构师—-70w+
正常也只有大厂才能给得起
二、内功基础
1、基础算法
排序算法:插入排序(直接插入排序、二分插入排序、希尔排序)、选择排序(简单选择排序、堆排序)、交换排序(冒牌排序、快速排序)、归并排序、基数排序。
算法设计技巧:分治、动态规划、贪心、回溯、分支限界
2、数据结构
线性表、栈和队列、数组、树与二叉树、图
3、设计模式
23种设计模式
创建型:工厂方法(Factory Pattern)模式、抽象工厂(Abstract Factory)模式、单例(Singleton)模式、建造者(Builder)模式、原型(Prototype)模式
结构型:适配器(Adapter)模式、装饰者(Decorator)模式、代理(Proxy)模式、外观(Facade)模式、桥接(Bridge)模式、组合(Composite)模式、享元(Flyweight)模式
行为型:父类与子类(策略(Strategy)模式、模板方法(Template Method)模式)、两个类自检(观察者(Observer)模式、迭代子(Iterator)模式、责任链(ChainOfResponsibility)模式、命令(Command)模式)、类的状态(备忘录(Memento)模式、状态(State)模式)、通过中间类(访问者(Visitor)模式、中介者(Meditor)模式、解释器(Interpreter)模式)
4、计算机网络
OSI体系结构、TCP/IP体系结构
5、操作系统
6、JVM
类加载、垃圾收集、调优
三、核心源码框架
1、Java核心源码
集合、JUC
2、Spring5
AOP、IOC、Transaction
3、SpringMVC
4、SpringBoot
5、SpringCloud原生系
openfeign、eureka
6、SpringCloud阿里系
nacos、dubbo、sentinel
7、Tomcat
8、MyBatis
9、Netty
10、Zookeeper
四、常见中间件
1、数据库
MySQL(原理、调优)、Oracle、HBase)、
2、消息
RibbitMQ、Kafka(源码)、RocketMQ(源码)
3、检索
ElasticSearch(源码)
4、缓存
Redis(原理)
5、存储
Minio
6、调度
elastic-job(源码)、quartz(源码)
7、新生代
Etcd、OceanBean、Pulsar、PostgreSQL
五、分布式系统原理与技术
1、服务注册
Eureka、Nacos
2、服务发现
3、远程调用
openfeign
4、负载均衡
5、服务熔断
6、配置管理
7、链路追踪
8、认证授权
9、”三高”问题
高并发、高可用、高性能
10、分布式计算
Hadoop、MapReduce、Spark
11、分布式事务
12、分布式缓存
13、服务代理
14、监控警告
六、架构师增强技能包
1、容器化
Docker
2、服务编排
k8s
3、CI/CD
持续继承、持续交付、持续部署
4、云平台应用架构与设计
弹性实例ECS、对象存储OSS、负载均衡SLB、内容分发网络CDN、中间件集群、安全系统
5、边缘计算(物联网)
七、CTO
开发架构师、运维架构师、全会
八、暗黑BOSS
1、深入理解计算机系统
2、计算机网络
3、计算机科学导论
4、计算机组成
5、现代操作系统
6、软件工程
7、编译原理
8、算法导论
9、设计模式
10、数据库系统概念
11、数据结构与算法分析(Java语言描述)