派聪明 RAG 真实面经参考,已累计 27 家,700 道题目(不断更新中)
1.快手快 star
- 描述一下上传文件,提问到显示答案整个数据流以及涉及到的模块/技术栈,
- 怎么 chunk 的,为什么这么做?
- 用的什么模型,有对比过吗
- 检索结果不符合预期怎么办
- ES 里怎么存的
- 分片上传是怎么做的?断点续传?你这个场景有意义吗
2.小红书一面
AI & RAG 相关
- RAG 怎么解决 LLM 上下文窗口有限的问题?
- RAG 里的“重要性重排序”是怎么判断哪个内容更“重要”的?
- 流式对话支持多轮吗?怎么实现的?
- 提示词做了哪些优化?如果多轮对话关联性不强,怎么抓住新问题的重点?
- OpenAI 协议里,上下文的角色有哪几种?
- system, user, assistant 这几个角色在使用上有什么区别?
Java 基础 & 并发
- 讲讲 Java 不同更新版本的区别,特别是关键版本。
- 为什么 Spring Boot 3.x 要用 Java 17+的版本?项目里用了哪些新特性?
- Lambda 表达式和 Stream API,跟传统的 for 循环比,优缺点是什么?
- parallelStream()为什么性能好?底层是什么实现的?
- 如果不用 parallelStream,用传统 for 循环自己写并发提交任务,代码大概分几块?
- 都说 Java 线程“重”,Go 协程“轻”,这个“重”具体体现在哪?
- 为什么 Java 线程实际只用很少的栈,但 JVM 却要给它分配那么大的栈空间?
- 协程到底是个什么东西?
- Java 里写 for 循环有几种方式(比如用索引 i,用迭代器),它们有什么区别?
算法手撕
- 实现一个函数,找出字符串里所有长度大于 1 的子回文串。
3.某对标亚信公司一面
- 面了一家听说对标亚信的公司,面试官口头和我说过了,下一轮 boss 面让我瞎聊就行
- java 基础和集合查缺补漏面经:
- embedding 用什么模型?
- 混合检索?怎么评估准确性?
- 大模型的选择
- 上下文管理?
- redis 的击穿, 雪崩,穿透
- AOP
- MySQL binlog 监听通过主从复制原理
- ThreadLocal
- 消息队列,消息如何不丢失?
要我现场跑跑派聪明,没跑起来。。。很悲催,我没改前端也不怎么熟悉流程。
4.未知公司
面经:
- 1、介绍项目从数据上传到最后存入数据库的流程、RAG 流程
- 2、切块的步骤、如何评价优化前后的 RAG 的好坏
- 3、针对用户不同的提问:提问语句长短不同,分别怎么检索?
- 4、向量化的数据有做处理吗?
5.腾讯二面
- 1.派聪明技术选型,如为什么用 minio 做文件存储、选择 es 等
- 2.rag 的准确率如何优化
- 3.语块如何分片
- 4.es 相关
- 5.大文件也可以断点续传为什么要分片?
- 6.从用户体验上来说,一个文档也没有很大,分片上传的提升并不大,这里如何考虑的?
6.合合信息一二面
一面面经
拷打项目
- 讲一下自己的 rag 这一套流程的理解
- 在里面采取了哪些技术
- 对接大模型用的什么
- 文件拆分是怎么分割的
- 用户提交问题后的流程
- 中间过程纯手工编的吗?(我答的没用 langchain4j 或者 Spring ai)
- 如果有充足时间优化 会优化哪些点
- 怎么解决检索过程中的权重误差?
- 如何优化检索来提高回答准确性?
- 了解过 agent 和 mcp 吗?
- 可以把整个流程让大模型自动弄吗?
- 如果用 agent 代替,你会怎么设计呢?
- 多人会话历史的窗口怎么设计的?
- 考虑过怎么优化吗?(我提到可以压缩历史上下文然后拼接) 压缩如何实现呢?
- 大文件上传优化是一开始就这样考虑的吗?还是遇到了什么问题才这样设计的?
- 文件完整性怎么保证的? 项目上线了吗?
聊 mydb 项目 是自己做的吗?(go 改的) 最大收获是什么?
- 你提到了 mvcc,mysql 里面的 mvcc 实现细节讲一下?
- 什么隔离级别会导致这样的问题?
- 你是把数据库完整实现了吗?(简单实现)
- B+树的索引是怎么实现的?
拷打八股 tcp 建立和连接 阻塞控制怎么控制的?
- 选一个细致讲一下(我说了慢启动)
- tcp 和 udp 的区别 https 的建立过程
- 进程和线程的区别和联系
- 进程的调度策略
- 进程间的通信方式
- socket 编程用在什么时候(有点记不得了 刚刚不该提 socket 的)
- socket 最大优势是什么?
- 他是如何防止网络阻塞的?
- io 多路复用原理 select 和 epoll 区别 页面置换算法有哪些?
- lru 原理?(这个时候快一小时了,我还以为他会让我手写 lru,累了)
- 虚拟内存?
- 磁盘调度算法有哪些?
- c++里面栈快点还是堆快点(我就不该说本科学过 c++ 我记得我报的 java 岗) 分为哪些区?
- python 用过吗?和 java 区别在哪里?
- 常见的垃圾回收算法? 说一下 cms 和 g1 区别 cms 缺点
- 有接触过分布式系统吗?
二面面经
60min 拷打项目
- 派聪明 prompt 是如何构造的?
- 大文件上传优化是怎么做的?
- 解析文档用的是什么?
- chunk 是怎么切割的?
- 是否可以优化?
- 用的哪个大模型?
mydb
- mvcc 基本原理(直接吟唱)
- B+树和 B 树的区别
手撕 leetcode 621 (改了一下题目 第一问是原题,第二个求排列组合数没写出来,不过面试官说目前还没人写出来 我感觉再调半小时能写出来)
7.虾皮一面
一道生产者消费者的题 acm
派聪明 讲一下主要模块和功能
派聪明是一个企业级的 AI 知识库管理系统 。它的核心功能是对用户上传的私有文档(比如 Word、PDF、txt 等),进行语义解析和向量处理,然后存储到 ElasticSearch 中以供后续的关键词检索和语义检索。
它的主要模块和功能包括:
- 文档处理 :用户上传文档后,系统会像图书管理员一样,自动将文档内容拆分成一个个小的知识片段。
- 知识向量化 :接着,派聪明会利用豆包/阿里的向量模型为每个知识片段生成一个独特的“语义指纹”,并存入 Elasticsearch 中。
- 智能检索 :当用户提出问题时,系统会先将问题转换成“语义指纹”,然后在 ES 中寻找与问题意图最匹配的几个知识片段。
- 生成答案 :最后,派聪明会将用户的原始问题和找到的相关知识片段一起交给大型语言模型(比如 DeepSeek ),让这个“大脑”基于给定的上下文,生成一个精准、流畅、人性化的回答。
es 怎么存的
我们在 ElasticSearch 中新建了一个名 knowledge_base 的索引,它将为每一条数据存储两种关键信息。
其中,textContent 字段用于关键词搜索,vector 字段用于语义搜索。关键词...
热门评论
1 条评论
回复