面经

1.自我介绍
2.讲一下dubbo这个rpc框架的调用方式
3.dubbo配合zookeeper怎么进行服务注册与发现
4.springboot是怎么读取dubbo.xml文件的,启动spring项目的时候是怎么实例化dubbo里面的类的,分析具体细节与源码
5.zookeeper和eureka注册中心的区别,cap定理,zookeeper选举过程
6.平时怎么优化mysql的,mysql的索引结构,每个结点怎么存,mysql一张表最大能存多少数据。b+树的树深度怎么计算。叶子结点存了什么
7.聚簇索引和非聚簇索引的区别与底层原理
8.sychronized关键字底层实现,lock底层实现
9.lock底层AQS怎么实现,CLH队列怎么存储数据,具体细节
10.aqs中的state字段作用,如果这个程序突然挂了,锁着的资源怎么做,aqs里面的执行流程
11.volatile原理,底层怎么可见性和保证有序,说一下mesi缓存一致性协议具体
12.锁的升级,对象的32位或者64位都存了啥
13.用过redis么,用redis都做了什么
14.redis的删除策略,过期删除有哪些过期策略
15.redis的持久化,rdb和aof区别,redis服务挂了怎么恢复数据,具体恢复过程
16.redis的选举过程
17.mq的作用,用过哪些
18.hashmap底层原理,为什么线程不安全,扩容的具体思路,有没有线程安全的map
19.讲一下currenthashmap的原理,1.7和1.8区别,扩容,协助扩容
20.threadlocal源码,怎么解决哈希冲突
21.场景题,数据库里面有两列数据,id和score,数据量上百万。用线程池创建线程进行多线程累加score,怎么设计。从创建线程池到取数据累加存储结果。
22.场景题,怎么设计一个高并发接口

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.fengpt.cn/archives/面经