面灵AI

招银网络科技 Java后端一面

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

  1. JVM 的堆和栈分别有什么作用?
  2. GC 的过程是什么?Full GC 会回收老年代所有内存吗?
  3. HashMap 为什么线程不安全?ConcurrentHashMap 为什么线程安全?
  4. CAS 的原理是什么?volatile 能保证 count++ 的原子性吗?
  5. synchronized 和 ReentrantLock 有什么区别?
  6. InnoDB 使用什么索引结构?B+树有什么优点?
  7. MySQL 事务隔离级别如何解决幻读?
  8. 联合索引 (A,B) 能否支持只查询 CAB 的条件?
  9. Redis 缓存击穿是什么?如何解决?
  10. HTTP 与 HTTPS 有什么区别?TLS 握手如何进行?
  11. Kafka 如何保证消费有序?
  12. 如何反转链表的指定区间?

《参考解析》

虚拟机栈按线程保存栈帧,堆保存大多数对象;Full GC 会回收整个堆及元空间相关结构,但具体范围取决于收集器。CAS 只保证单次比较交换,count++ 需要额外原子类或锁。联合索引遵循最左匹配,只有从 A 开始的连续条件才能充分利用。缓存击穿可用互斥锁或逻辑过期重建;Kafka 要保证分区内有序,并让同一业务键路由到同一分区。