快手社招 java 一面
📍面试公司:快手
👜面试岗位: java 开发
📖面试问题:
- 自我介绍+项目
- 分层缓存架构
- 数据如果只存在 redis 中可以吗
- DB 中的写压力
- MQ 有消息积压吗
- DB 的 TPS
- 怎么分库分表的
- 读写分离
- 如果你们的redis中要新增一个数据,是怎么做的
- 怎么做的异步重试
- redis 中是什么形式来存的数据
- 如果突然有很多数据要写进redis了,有什么措施
- 如果缓存了 5 页数据,这个时候新增加了一条,会发生什么
- 每台实例上的本地缓存都要存储所有的数据信息吗
- 如果数据越来越多会对本地缓存造成什么影响
- 本地缓存淘汰策略
- 秒杀场景下单全流程
- 库存回刷
- 有一笔订单用户取消了,这个时候 redis 成功了但是数据库没成功,会发生什么
- 如果你们在凌晨对账同步的时候刚好碰上用户下单呢
- 被拦截的用户会看到什么报错
- 具体加了什么锁
- 分布式锁的原理是什么
- 回删完成后怎么解锁
- 锁的安全性怎么保证
- 为什么你们释放锁的时候需要用一个唯一的 id 做校验
- threadLocal 怎么做到线程安全的
- threadLocalMap 和 HashMap 的区别
- ThreadLocal怎么避免内存泄漏
- AtomicInteger 类,这个类是线程安全的吗,原理是什么
- 线程池调度机制
- Synchronized 和 reentrantlock的区别
- select * from t where a = 100 and b > 100 and b <= 1000 and c = 10,给这个 sql 创建索引
- innodb 默认事务隔离级别
- 可重复读和读已提交的区别
- 算法题:有序链表去除重复元素 给出1→2→3→3→4→4→5,返回1→2→5
🙌面试体验:面试节奏很和谐
#软件开发笔面经#