面试题目总结

数据库

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

分库分表,异步解耦等

posted @ 2020-09-06 23:20  木叶小寒江  阅读(91)  评论(0编辑  收藏  举报