快手后端一面面经
上来自我介绍,然后提问:
1. HTTP 请求中,TCP 是怎么建立连接的?三次握手分别代表什么?
2. ThreadLocal 底层是如何做到线程隔离的?
3. CMS 和 G1 的回收过程具体是怎么执行的?
4. 了解过其他的垃圾回收方法吗?
5. 多线程与锁 synchronized和volatile的区别?
6. HashMap 为什么线程不安全?ConcurrentHashMap 1.7 与 1.8 的实现有什么差异?
7. 默认事务隔离级别?会导致幻读吗?
8. Redis 为什么快?它是多线程吗?用了什么机制?
9. 布隆过滤器的原理是什么?有没有误判?
10. 提到使用 RabbitMQ 解耦秒杀流程,具体是在哪些环节使用了 MQ?为什么不选Kafka 选 RabbitMQ?
11. Redisson 分布式锁你用的是哪种锁?为什么需要用 Lua 脚本保证原子性?
12. 如果预约系统瞬时并发达到 10 万,你的架构能否支撑?瓶颈在哪里?
13. 说了下实习的内容,介绍了一下写的测试用例
14. 反问
15. 编程题:输入一组可能重叠的区间,输出合并后的区间列表。
一定要深耕自己的简历,一面感觉都是按照简历顺序来的,实习不对口但是还是问了点,主要还是在项目上,八股都很基础