面试题目总结 数据库 缓存 内存模型 集合 IO JVM RPC java并发 java多线程 java 锁 分布式 业务场景案例
MySQL基本架构
数据库的索引有哪些?
最左前缀匹配
explain 工具
binLog
脏读/幻读
事务的隔离级别
B+Tree/B Tree/红黑树的原理
为什么选择B+Tree
WAL技术
缓存
缓存雪崩/穿透等问题
Redis为什么设计成单线程的
Redis如何数据搬迁
内存模型
集合
HashMap实现原理
set和list区别和场景与实现原理
ConcurrentHashMap的实现原理
HashMap的hash冲突如何解决?为什么用红黑树
链表和数组的使用场景
IO
BIO/NIO/AIO
- 同步、异步
- 阻塞、非阻塞
zero copy技术
IO多路复用模型
select/epool
JVM
GC是什么意思?为什么会有垃圾
分代回收
GC roots有哪些
介绍一个熟悉的垃圾回收器
回收原理
STW问题
三色标记
RPC
rpc调用原理
rpc本地stub代码如何生成
介绍熟悉的rpc框架
java并发
java多线程
多线程的参数介绍、拒绝策略
Semaphore、CountDownLatch、cyclicBarrier的使用场景
ThreadLocal实现原理
ThreadLocal的内存泄露
多线程的通信原理
IO密集型/CPU密集型的线程参数调优
java 锁
锁的类型
synchronized实现原理以及优化(锁升级的过程)
开始单线程,线程争抢度不高,对象头(偏向锁)
升级为轻量级锁,争抢CAS争抢修改状态
升级为重量级锁
synchronized如何膨胀与为什么
CAS与ABA原理
AtomicInteger的原理
操作系统互斥锁的实现
分布式
CAP不可能原理
业务场景案例
在1亿的数据中,如何判断某一个数据一定不在其中?
布隆过滤器
亿级别提示:百度搜索提示?
字典数等
普通机器集群中对亿级别数据求和?
mapReduce
分库分表主键生成器如何设计
写场景多,读场景少的数据,如IOT数据收集,我们应该用什么方案?
时间序列存储引擎
在关系型数据库mysql应用中,商品有个写入非常大,tps达到了5000/s。如何提升写tps
分库分表,异步解耦等