一 java 面试军火库

序号 知识体系 备注
1 JVM 类的加载过程
双亲委派
类的加载器
JVM内存模型
堆内存的分析
方法区和元空间
2 GC 回收期:G1和CMS
回收算法
垃圾判定(程序计数法和可达性分析算法)
GC在堆内存的工作过程
3 基本功 OOP(面向对象)
关键字(final、static、this、super等)
异常、常用类(String)
4 集合 ArrayList(初始化、扩容、1.7和1.8)
HashMap(底层、冲突、扩容、原理、1.7和1.8)
ConcurrentHashMap(安全、1.7和1.8)
5 线程 创建(4种)
线程交互(wait\notify)
生命周期
线程池(七大参数、运行过程)
6 synchronized(用法、原理、优化)
对象锁的升级过程
Lock(使用、公平非公平)
JUC(Lock、ConcurrentHashMap)
CAS、ABA
ThreadLocal(线程副本、线程变量)
volitatle(特性、原子类)
锁消除、锁粗化、自旋、可重入
7 数据库-Mysql 存储引擎
事务(ACID)
脏读、幻读、不可重复读
索引(聚簇、覆盖、联合索引-最佳左匹配、B+Tree)
SQL优化(定位-分析-解决)
函数、存储过程
SQL编程题(牛客、力扣)
8 框架 Spring(IOC和DI、AOP、代理模式、循环依赖-三级缓存、Bean的生命周期、事务传播行为、设计模式)
SpringfMVC(运行原理、全局异常、RestFul、注解)
SpringBoot(自动装配原理、配置文件、日志-logback)
Mybatis($和#、resultType和resultMap、动态SQL、缓存策略、级联和懒加载)
9 架构 架构演进
微服务
SpringCloud常用组件
CAP和Base
10 Redis 数据类型、持久化、集群、雪崩、击穿、穿透、倾斜
过期策略、淘汰机制
分布式锁:RedLock
11 MQ 主流MQ对比
交换器(4种)
死信、延迟消息
消息可靠性
消息幂等性-重复消费
12 运维 Linux、常用命令
Docker(命令)
线上bug排查
13 杂七杂八 分布式事务-Seata
数据库中间件-Mycat
任务调度-定时任务
Nginx-负载均衡策略
Dubbo-RPC
Zookeeper-注册中心
遇到的印象比较深刻的问题
擅长的技术
最近在学习
DDD领域驱动设计
文档、画图、数据库建模
Git、Maven
ElasticSearch(1.存储过程 2.倒排索引 3.项目应用)
Https
14 前端 Html、Css、Js
Vue全家桶(Vue-cli、Vue.js、Vue-router、VueX、Axios)
15 测试 单元测试、接口测试、性能测试

二、微服务项目技术栈

SpringCloud+Alibaba组件微服务解决方案

序号 名称 技术
1 注册中心 Nacos-阿里巴巴
2 配置中心 Nacos-阿里巴巴
3 服务调用 OpenFeign
4 网关中心 Gateway
5 流量降级 Sentinel-阿里巴巴
6 链路跟踪 Sleuth+Zipkin
7 分布式锁 Redisson中RLock
8 分布式事务 Seata-阿里巴巴
9 资源存储 Oss-阿里巴巴

其他技术:

序号 名称 技术
1 版本管理 Git+Gitee
2 项目管理 Maven
3 框架 Spring、SpringMVC、Mybatis(Mybatis-plus)、SpringBoot
4 数据库建模工具 PdMan
5 测试工具 Swagger、Jmeter、ApiPost
6 数据交互 Json
7 网络请求 HttpURLConnection
8 加解密 RSA、AES
9 第三方 Oss、SMS、支付、文本审核、图片审核、地图
10 线程应用 线程池
11 设计模式 策略模式、单例模式
12 DDD领域驱动 DDD架构
13 请求协议 Https

Nginx-搭建Tomcat集群
Nacos集群
Redis集群
Mycat-Mysql集群
RabbitMQ集群