一、Java基础
1.数据类型
- 八种基础数据类型及自动拆装箱
- String与StringBuilder、StringBuffer
- 引用传递和值传递
2.集合
- List
- ArrayList
- LinkedList
- CopyOnWriteList
- Collections.synchronizedCollection
- Map
- HashTable
- HashMap
- ConcurrentHashMap
3.IO
- BIO
- 字符流、字节流
- NIO
- channel
- buffer
- AIO
- reactor模型
4.多线程
- Thread创建方式
- Thread
- Runnale
- Callale、Future
- 线程池
- CachedThreadPool
- SecudleThreadPool
- SingleThreadPool
- FixedThreadPool
5.并发
- wait、notify与sleep
- synchronize和Lock
- volatile
- AtomicInteger、CAS
- BlookingQueue
- CountdownLatch
- CyclicBarrier
6.JMM
- 原子性、可见性、有序性
- happens-before原则
- volatile语义
- Synchronized语义
- final语义
二、数据结构与算法
1.排序
- 冒泡
- 快排
- 插排
- 归并…
2.查找
- 二分查找
3.树结构
-
B+树
-
红黑树
三、JVM
1.结构
- 线程私有
- 虚拟机栈
- 本地方法栈
- 程序计数器
- 线程共享
- 堆
- 分代
- 方法区
- 堆
2.垃圾回收算法
- 查找
- 引用计数法
- 可达性分析
- 回收
- 复制
- 标记清除
- 标记整理
3.垃圾回收器
-
新生代
- serial
- parNew
- parallel scanvenge
-
老年代
- parallel old
- serial old
- CMS
-
共有
- G1
4.类加载机制
- 加载-验证-准备-解析-初始化-使用-销毁
- 类加载器Bootstrap、Extension、Application
- 双亲委派
四、数据库
1.索引
- 聚簇索引与非聚簇索引
- 主键索引、唯一索引、普通索引、全文索引
- sql调优
- 使用explain
- exists 和 in
- 列值非null
2.锁
- 乐观锁与悲观锁
- 行锁与表锁,意向锁
- MVCC
- 记录锁、间隙锁、临键锁
3.事务
- ACID
4.分库分表
- Mycat
5.范式
- 三范式
- 反范式
五、Spring
1.IOC
2.AOP
3.声明式事务
- 七种传播类型
4.SpringMVC
- DispatcherServlet
- HandlerMaping
- HandlerAdapter
- Handler
- ViewResolver
5.SpringBoot
- 自动配置原理
六、中间件
1.Redis
- 数据类型
- String
- hash
- list
- set
- zset
- 持久化
- AOF
- RDB
- 分布式
- setnx
- Redisson
- 集群
- 主从模式
- 哨兵模式
- cluster模式
- 常见问题
- 缓存穿透
- 缓存击穿
- 缓存雪崩
2.RabbitMQ
-
特性
- 异步
- 削峰
- 解耦
-
概念
- vhost
- exchange
- channel
- queue
- routing
-
工作模式
- 简单队列
- 工作队列
- 发布、订阅
- Routing
- Topic
-
消息确认机制
七、面向对象与设计模式
- 面向对象三特性
- 封装
- 继承
- 多态
- UML,泛化=实现>组合>聚合>关联>依赖
- 常见模式
- 单例
- 策略
- 装饰器
- 观察者
- 迭代器
- 模板方法
- 代理
- 适配器
八、分布式
1.分布式理论
- CAP
- BASE理论
2.Spring Cloud
- 服务发现Eureka
- 熔断器hystrix
- 负载均衡Ribbon
- 网关Zuul
- 分布式配置Spring Cloud Config
3.zookeeper
笔者是一年半Java小菜鸡,纯手打,用于准备面试的提纲,还不是很完善,有错的地方希望大佬们能帮忙指出