帆软后端二面面经
二面
1. Redis 的 RDB 和 AOF 两种持久化机制有什么区别?
2. 混合持久化是怎么工作的?
3. 讲一下你的项目里,用 JWT 做用户认证的整个流程。
4. ThreadLocal 的哪部分数据可能会导致内存泄漏?
5. 如果用户在后端改了密码,怎么让这个用户之前的 JWT 令牌都失效?
6. 讲一下什么是缓存雪崩,怎么解决?
7. 除了给缓存时间加个随机值,还有什么其他办法能防止缓存雪崩?
8. 讲一下布隆过滤器。
9. Redis 有哪些常用的数据淘汰策略?
10. 如果让你自己实现一个 LRU 缓存,你会怎么做?
11. Java 的 JVM 内存分为哪几个区?
12. 直接内存是归 JVM 管的吗?
13. JVM 的这些内存区域里,哪些可能会发生 OOM?
14. Java 线程池的核心参数有哪些?
15. 如果要设计一个线程池,让高优先级的任务能优先执行,该怎么做?
16. 数据库是怎么保证事务的原子性的?
17. MySQL 在“读已提交”这个隔离级别下,是怎么避免脏读的?
18. “读已提交”和“可重复读”这两个隔离级别,最核心的区别是什么?
19. 有一堆数,其中只有一个数出现了一次,其他的都出现了两次。怎么快速找出这个只出现一次的数?
20. 有 2 亿个数据要排序,这些数据的取值范围在 1 万到 2 万之间,怎么排最高效?