30min1.JVM(1)你说一下运行时数据区?(ALL)(2)元空间和方法区、常量池的关系?(3)类加载机制?(4)你说一下垃圾回收的过程吧?(哪个方面呢?)(5)那你说一下G1的过程?(6)什么时候是Stop-The-World的?(7)那你说GCRoot怎么初始标记的?那些线程可以当作GC Root?(什么线程?)2.项目(1)简单介绍一下项目背景(2)你说说什么是缓存穿透?(3)怎么解决缓存穿透呢?(4)怎么解决Redis、MySQL数据库、布隆过滤器之间的数据不一致问题?(5)那你删除缓存之后有大量的数据,造成缓存雪崩怎么办?(面试官说:是穿透,无语)(我:预热,面试官:你来不及啊,你不是已经删了吗?而且预热之前呢?)(6)Redis是个独立的进程?独立的服务?(查一下是不是)(7)缓存有几种实现方式?(Cache Aside 更新模式Read/Write Through 更新模式Write Behind Caching 更新模式)(8)你这个RabbitMQ是干什么用的?(9)POST请求和PATCH请求的区别?3.手撕(1)二叉树最大深度