java面试
四大核心能力:
1.架构
2.安全
3.算法
4.性能
UML
算法
git
java
java线程状态
java 对象头
23种设计模式
6种设计原则
面向对象3大特征
jvm内存结构
gc(回收算法、回收期种类、gc相关配置参数、gc root)
jvm类加载机制
java相关工具(jstat、jmap、jstack)
java锁机制(Synchronized、并发包中的Lock)
Java异常机制
spring aop
spring bean 生命周期
klass和Class
java static变量保存在什么地方
jvm常量池(String常量池、基本类型包装类缓存、class文件常量池、运行时常量池)
java集合类(hashMap、hashSet、treeMap、treeSet)
java多线程(Thread,并发包线程池)
开闭
依赖倒转
里氏替换
迪米特法则(最少知道原则)
单一职责
接口隔离
高内聚
低耦合
复用
修改
扩展
复杂度
功能
性能
可靠性
可用性
稳定性
安全性
扩展性
扩容性
学习开发效率
运营维护成本
技术可控性
技术生命力
降低软件开发复杂度
提高软件开发效率
提高软件质量
缩短开发周期
降低开发成本
适配器
桥接器
代理
装饰器
外观模式
组合模式
享元模式
模板方法
策略模式
解释器
责任链
观察者
命令模式
状态模式
迭代器模式
中介者模式
访问者模式
备忘录
高并发
缓存
消息队列
搜索引擎
NoSql
数据库读写分离
分库分表
业务拆分,微服务