- 你是如何解决缓存雪崩的问题的? (答均匀设计过期时间,设置缓存永久有效,服务降级,业务熔断限流)- 问具体什么场景会实现雪崩? 感觉像是问我是不是真的有这个场景- Redisson怎么实现一人一单- Redisson挂了怎么办,我说数据库层面操作,或者mq, 面试官说直接用唯一索引就行- MySQL的存储引擎 MyISAM和InnoDB有什么区别 (没答上来MyISAM,只说了InnoDB)- InnoDB是如何保证ACID的- MVCC是什么?(答了很多,面试官说Read_view没讲,可能是太紧张说的语序有问题)- undolog保存了什么内容,应该是想问事务id- MVCC什么是可见的,undolog能做什么- MyISAM有什么日志,(回答都有binlog)- 索引优势是什么?B+树,为什么不用红黑树- 提醒我还有Hash索引,- 如果我要实现索引实现 %+内容 (本来想的强制走索引,面试官说不对,引导我说 联合索引)一点点引导我说的- 执行一条update语句,会发生什么(没有回答出来要检查 连接器:建立连接,管理连接、校验用户身份和对 SQL 查询语句进行词法分析、语法分析)- join select 这些关键字执行的顺序是什么- 手写一个单例模式 为什么要用volatile- 怎么保证可见性,有序性,原子性- synchronized了解吗,怎么实现的- synchronized锁的优化,轻量级锁是什么,重量级锁是什么- monitor变量是什么,mark word有什么字段- 线程池使用,线程池参数,Executor的newFixedThreadPool会产生什么样的OOM,CPU的还是内存的- ThreadPoolExecutor 参数设置,拒绝策略,为什么死锁- 怎么把旧线程池弄到新的线程池上- AQS原理- AQS为什么用CLH, LockSupport.park后线程的状态,BLOCKED WAITING TIMED_WAITING三种状态是怎么产生的- CountDownLatch是怎么实现的,问原理- ThreadLocal内存泄漏怎么办,GC后还存在为什么,ThreadLocal作者自己做了什么努力- ThreadLocal的哈希算法有什么特点- 有没有用过 completablefuture,能做什么,和不用有什么区别- 如果我去查询数据库,然后编排后面的任务,这些任务必须要等前面的做完才可以执行么,还是可以同时- completablefuture异常处理和普通的try catch有什么区别- Bean的生命周期- AOP- 为什么三级缓存,循环依赖二级缓存不行吗,Bean的生命周期的postprocess方法