搜狐一面面经

拷打项目:

  • 验证码登录怎么实现的

  • 为什么用 canal 订阅 binlog 同步 redis,为何不手动处理 Redis、有没有结合手动方式、Mq 积压是否影响数据一致。

  • 缓存穿透、缓存击穿是什么,怎么解决的

  • 是怎么保证 MQ 的幂等性的

八股:

  • ArrayList 与 LinkedList 底层区别。

  • ArrayList 扩容标准。

  • JVM 内存区域;对象存储位置与晋升过程。

  • 垃圾回收触发场景有哪些

  • InnoDB 索引结构。

  • B + 树作为索引的优势(对比其他数据结构)

  • MVCC 的作用与原理

  • 不同隔离级别下 Read View 的生成时间差异。

  • Java 有哪些常用的锁

  • ReentrantLock 的加锁 / 释放场景与调用。

  • ThreadLocal 是怎么存储线程私有数据的,可能出现什么问题

  • RocketMQ 集群角色、消息分配 / 存储 / 收发流程。

  • Mq 消息积压怎么解决

  • 了解微服务架构的哪些组件,分别有什么用


无手撕

LICENSED UNDER CC BY-NC-SA 4.0
Comment