新蛋Newegg一面面经
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
- 什么是排序算法的稳定性?
- char 和 varchar 有什么区别?
- Java 类加载器有哪些,双亲委派如何工作?
- Java 常见集合类如何选择?
- HashMap 和 ConcurrentHashMap 有什么区别?
- 普通线程和守护线程有什么区别?
- 常见垃圾回收算法有哪些?
- Redis 的持久化机制如何实现?
- 为什么要编写单元测试?
《参考解析》
- 稳定排序会保持相等元素的原有相对顺序,适合多关键字排序;不稳定排序通常能以更低空间或更高平均性能完成任务。
- char 定长并可能补空格,varchar 变长并保存长度信息;字段长度和访问模式决定选择。
- 类加载器负责加载字节码,双亲委派先让父加载器尝试,避免核心类被重复或恶意替换。
- ArrayList 适合随机访问,LinkedList 很少是更优选择,HashMap 用于键值映射,Set 用于去重。
- HashMap 非线程安全;ConcurrentHashMap 通过分段思想和 CAS 等机制支持并发访问,并对空键值有不同限制。
- 守护线程不会阻止 JVM 退出,适合后台辅助任务;业务关键工作应使用普通线程并明确生命周期。
- 标记清除、复制、标记整理及分代回收各有适用场景,核心取舍是吞吐、停顿和内存碎片。
- RDB 定期生成快照,AOF 记录写命令;生产中可组合使用并配置刷盘策略与重写机制。