面灵AI

影石 一面&二面凉经

时间
2026-07
来源
牛客网

《面试题目》

  1. 一面 65min
  2. 讲讲java
  3. hashmap是个啥
  4. 线程池的参数
  5. 线程池的拒绝策略
  6. 如何创建多个线程
  7. future和callable有啥区别
  8. 如何阻挡多个线程完成任务了一起结束
  9. 反射是个啥
  10. 单例模式怎么创建
  11. 除了你说的两个,双重检查锁和静态内部类,还有什么方法
  12. 反射能不能反射创建出,你说的双重检查锁和jvm的静态内部类的那个单例
  13. 如果可以的话,那又如何保证你的单例呢
  14. 如何线上排查进程oom
  15. 堆里面打满了会有oom吗
  16. 你说堆可以设置大小,堆会超过这个大小吗
  17. 讲讲g1和zgc区别
  18. g1和zgc分别用在什么场景

《参考解析》

  1. Redis常用于缓存、分布式锁和计数。缓存与数据库更新通常采用“先写数据库、再删除缓存”,并通过重试、延时双删或消息补偿处理删除失败。
  2. MySQL索引通常使用B+树,叶子节点按顺序连接,适合范围查询;设计索引时结合选择性、最左匹配原则和执行计划,避免无效索引与回表开销。
  3. 并发问题应先明确共享状态和一致性边界,再选择锁、CAS或队列。线程池需要根据任务是CPU密集还是IO密集设置核心线程数、队列容量和拒绝策略,并监控活跃数与队列长度。