快手大模型应用Java二面面经
《面试题目》
一、 项目
- 项目使用过程中遇到过什么问题?
- 在使用 Spring AI Alibaba 框架时,它与其他开源 RAG 框架有什么区别?你使用了它的哪些核心能力,哪些是自己实现的?
- 向量数据库中使用了哪种索引算法?
- RAG 优化方向:是否有看过相关论文?业内的优化方向有哪些?如果类比“人看书”,如何优化 RAG 的检索效率和召回率?
二、 Java 基础与设计模式
- 请简述 Java 集合的继承体系。
- HashMap 的父类有哪些?
- 集合框架中用到了哪些设计模式?
- 在 JDK 源码或 Spring 框架中,哪些地方应用了设计模式?
- 单例模式有几种实现方式?还有没有别的?
- 平时在学习或写代码时会用到大模型吗?
- 如何看待“vibe coding”这种趋势?
- AI 辅助编程有哪些局限性?
三、 手撕代码
- 原定考察生产者消费者与观察者模式,后改为集合合并(并查集),要求口述思路。
《参考解析》
- Spring AI Alibaba 与 RAG 优化:重点突出 Alibaba 在接入阿里云百炼平台和模型生态上的便利性。RAG 优化可从预处理(切片、清洗)、检索(混合检索、重排序 Re-rank)、后处理(Prompt 增强)三个层面回答。
- 向量数据库索引:主流算法包括 HNSW(图索引,速度快)、IVF(倒排索引,平衡性好),面试时需说明为何针对业务选型。
- Java 集合体系:Collection 接口下分 List(有序可重复)、Set(无序不可重复)、Queue(队列)。HashMap 继承自 AbstractMap 并实现 Map 接口,底层是数组+链表+红黑树。
- 设计模式应用:JDK 中观察者模式(java.util.Observer)、迭代器模式(Iterator);Spring 中工厂模式(BeanFactory)、代理模式(AOP)。单例建议补充双重校验锁(DCL)及枚举式单例。
- 并查集(Union-Find):用于处理不相交集合的合并与查询问题,核心是
find(查找根节点,带路径压缩)和union(合并两个集合,按秩优化)操作。