快手大模型应用Java二面面经
面试题目
一、 项目
- 项目使用过程中遇到过什么问题?
- 在使用 Spring AI Alibaba 框架时,它与其他开源 RAG 框架有什么区别?使用了哪些核心能力,哪些是自己实现的?
- 向量数据库中使用了哪种索引算法?
- RAG 优化方向:是否有看过 RAG 相关论文?业内的优化方向有哪些?如何类比“人看书”的过程优化 RAG 的检索效率和召回率?
二、 Java 基础与设计模式
- 请简述 Java 集合的继承体系。
- HashMap 的父类有哪些?
- 集合框架中用到了哪些设计模式?
- 在 JDK 源码或 Spring 框架中,哪些地方应用了设计模式?
- 单例模式有几种实现方式?还有没有别的?
- 平时在学习或写代码时会用到大模型吗?
- 如何看待“vibe coding”这种趋势?
- AI 辅助编程有哪些局限性?
三、 手撕代码
- 题目:集合合并(并查集实现)。
参考解析
1. RAG 优化思路 RAG优化可类比“人看书”,检索阶段采用多路召回(语义+关键词)和混合索引;重排阶段引入 Rerank 模型;索引阶段可对文档进行分块、摘要生成或元数据标注,以提高检索精确度。
2. Java 集合与设计模式
- 集合体系:主要分为 Collection(List, Set)和 Map 接口。HashMap 继承自 AbstractMap 并实现 Map 接口。
- 设计模式应用:集合中使用迭代器模式(Iterator),Spring 中广泛使用工厂模式(BeanFactory)、代理模式(AOP)、单例模式(Bean管理)。
- 单例模式:除了常见的懒汉、饿汉、枚举,还有双重检查锁(DCL)和静态内部类方式。
3. 并查集 (Union-Find)
并查集是一种管理不相交集合的数据结构。核心操作是 find(查找代表元素,路径压缩)和 union(合并两个集合,按秩合并)。常用于解决连通性、最小生成树等问题。