面灵AI

新蛋Newegg一面面经

时间
2026-09
来源
牛客网

《面试题目》

  1. 什么是排序算法的稳定性?
  2. char 和 varchar 有什么区别?
  3. Java 类加载器有哪些,双亲委派如何工作?
  4. Java 常见集合类如何选择?
  5. HashMap 和 ConcurrentHashMap 有什么区别?
  6. 普通线程和守护线程有什么区别?
  7. 常见垃圾回收算法有哪些?
  8. Redis 的持久化机制如何实现?
  9. 为什么要编写单元测试?

《参考解析》

  1. 稳定排序会保持相等元素的原有相对顺序,适合多关键字排序;不稳定排序通常能以更低空间或更高平均性能完成任务。
  2. char 定长并可能补空格,varchar 变长并保存长度信息;字段长度和访问模式决定选择。
  3. 类加载器负责加载字节码,双亲委派先让父加载器尝试,避免核心类被重复或恶意替换。
  4. ArrayList 适合随机访问,LinkedList 很少是更优选择,HashMap 用于键值映射,Set 用于去重。
  5. HashMap 非线程安全;ConcurrentHashMap 通过分段思想和 CAS 等机制支持并发访问,并对空键值有不同限制。
  6. 守护线程不会阻止 JVM 退出,适合后台辅助任务;业务关键工作应使用普通线程并明确生命周期。
  7. 标记清除、复制、标记整理及分代回收各有适用场景,核心取舍是吞吐、停顿和内存碎片。
  8. RDB 定期生成快照,AOF 记录写命令;生产中可组合使用并配置刷盘策略与重写机制。