java分布式架构师要掌握哪些技术?一般来说普通的Java架构师要掌握Java架构基础、Java架构核心技术、主流技术框架、系统架构、分布式系统、项目实战能力、个人能力与专业素养等相关的知识点。
1、Java架构基础
Java线程的状态
进程和线程的区别,进程间通讯,线程间通讯
HashMap的数据结构是什么?实现的。和HashTable,ConcurrentHashMap的区别
Cookie和Session的区别
索引有什么用?建索引?
ArrayList是实现的,ArrayList和LinkedList的区别?ArrayList实现扩容。
equals方法实现
面向对象
线程状态,BLOCKED和WAITING有什么区别
JVM加载字节码文件
JVMGC,GC算法。
什么情况会出现FullGC,什么情况会出现yongGC。
JVM内存模型
Java运行时数据区
事务的实现原理
2、Java架构技术核心
JDK源码,类实现原理是什么
HTTP协议
TCP协议
一致性Hash算法
JVM加载字节码文件
类加载器卸载字节
IO和NIO的区别,NIO优点
Java线程池的实现原理,keepAliveTime等参数的作用。
HTTP连接池实现原理
数据库连接池实现原理
数据库的实现原理
3、主流技术框架
开源框架的源码
用Redis,Redis有哪些优缺点?Redis实现扩容?
Netty是使用线程池的,为什么这么使用
为什么要使用Spring,Spring的优缺点有哪些
Spring的IOC容器初始化流程
Spring的IOC容器实现原理,为什么可以通过byName和ByType找到Bean
SpringAOP实现原理
消息中间件是实现的,技术难点
4、系统架构
搭建一个高可用系统
设计模式可以增加系统的可扩展性
介绍设计模式,如模板模式,命令模式,策略模式,适配器模式、桥接模式、装饰模式,观察者模式,状态模式,访问者模式。
抽象能力,怎么提高研发效率。
高内聚低耦合
什么情况用接口,什么情况用消息
如果AB两个系统互相依赖,解除依赖
写一篇设计文档,目录是什么
什么场景应该拆分系统,什么场景应该合并系统
系统和模块的区别,分别在什么场景下使用
5、分布式系统
分布式事务,两阶段提交。
实现分布式锁
实现分布式Session
保证消息的一致性
负载均衡
正向代理(客户端代理)和反向代理(服务器端代理)
CDN实现原理
怎么提升系统的QPS和吞吐量