卓望Java后端面经
- 轮次
- 一面
- 时间
- 2026-06
- 来源
- 牛客网
《面试题目》
- 缓存雪崩的话,使用随机化过期时间,或者在上游进行限流。问题4:提取音频、转文字是怎么做的?是开源工具吗?
- MD5是在前端用SparkMD5库增量计算的。问题7:讲一下List、Set、Queue、Map这四个集合的区别。
- 我们通过hashCode去计算哈希值,通过equals去比较内容。因为哈希值相同,内容可能不同。问题9:ArrayList和LinkedList的区别及应用场景?
- JVM的数据区分为共享的堆和方法区,私有的虚拟机栈、本地方法栈和程序计数器。问题14:垃圾回收器有哪些?
- G1分区回收,可预测停顿;CMS低停顿,标记清除;Serial单线程新生代复制;Parallel并发回收。问题15:Java里创建线程有哪几种方式?
- 继承Thread类、实现Runnable接口、实现Callable接口、使用线程池。问题16:Runnable和Callable有什么区别?
- Runnable实现run方法,没有返回值。Callable和FutureTask一起使用,实现call方法,有返回值,可以抛出异常。问题17:ThreadLocal的实现原理是什么?
- ThreadLocal底层维护了一个ThreadLocalMap类,每个Thread对象都有一个ThreadLocalMap成员变量。键是弱引用的,值是强引用的。问题18:Spring常用注解有哪些?
- 不太了解。问题20:对数据库索引有了解吗?
- 有了解。索引类型按功能分类:主键索引、唯一索引、普通索引、联合索引。按存储结构分类:B+树索引、哈希索引。按存储方式分类:聚簇索引和非聚簇索引。问题21:MySQL为什么会有回表的操作?
- MySQL回表就是用二级索引查询时,叶子节点里存的是主键值,需要根据主键值回到聚簇索引的叶子节点中查到完整的数据行。问题22:为什么有索引的最左匹配原则?为什么要从最左边开始匹配?
- 联合索引按从左到右的顺序存储,只有最左边的列匹配后,后面的数据才是有序的。问题23:什么情况下会导致索引失效?
- 还用过Copilot。前端基本都是用AI编程工具辅助编程。后端自己定好架构、模块、接口定义,然后和AI一起开发。问题25:用Cursor是自己买token吗?
《参考解析》
- 这类问题建议结合自己的项目经历和岗位要求准备具体案例,突出思考过程而非死记结论,面试官更看重解决问题的逻辑。
- 进程是资源分配的基本单位,线程是CPU调度的基本单位,协程是用户态的轻量级调度单位,切换成本远低于线程,但需要语言/运行时支持。
- Spring/Spring Boot的核心是IOC容器与AOP,理解Bean生命周期、自动装配原理和常见starter的加载顺序是回答这类问题的关键。
- 红黑树是内存内的平衡二叉树,追求单点操作的对数复杂度;B+树针对磁盘/索引场景做了扇出优化,减少IO次数,更适合范围查询和顺序扫描。
- 回答AI相关问题时应结合具体项目说明如何设计Prompt、评估效果以及处理边界情况(如幻觉、超时),并展示对模型能力边界的清晰认知。