快手一面 08—14
分享面经攒好运~
- 自我介绍
- 简单介绍了一下项目
- 其中一个项目都用redis做了哪些东西(缓存、用户关注、分布式锁)
- Zset底层是怎么实现的,插入和删除操作的时间复杂度是多少
- 跳表是什么结构,哈希的作用是什么
- Redisson有什么好处
- 在锁重试时,为什么要引入Pub-Sub机制,Pub-Sub有什么问题吗
- 除了Redis的分布式锁,还知道哪些分布式锁
- Java异常层次,非检查异常和检查异常有什么区别
- Map的put流程,扩容的条件,为什么扩容条件要按照元素数量而不是桶的数量
- LinkedHashMap和HashMap的区别
- ConcurrentHashMap如何保证线程安全
- ReentrantLock 是公平锁还是非公平锁,如何实现公平锁和非公平锁的
- 如果非公平锁,获取不到锁,就会到队尾去等待,此时就变成了公平锁?
- Java中线程有哪些状态
- 从运行变为阻塞或者等待,可能的操作有哪些
- 线程池核心参数,工作流程
- 线程池的任务队列都有哪几种
- 用LinkedBlockedQueue可能出现什么问题
- 讲一下双亲委派机制,为什么要用这个机制
- 聚簇索引和非聚簇索引有什么区别
- 讲一下MVCC机制,readview是什么
- readview和隐藏字段和undo日志有什么关系
- 算法题:字符串相加(力扣原题)