开发AI项目
一、技术深度类问题
这类问题考察你是否真正理解RAG的原理,而不仅仅是会用。
1. "请详细解释一下RAG的工作原理,与传统的关键词搜索有什么区别?"
考察点:对RAG核心机制的理解
回答思路:
- RAG的两阶段:检索(Retrieval)+ 生成(Generation)
- 语义理解:传统搜索靠关键词匹配,RAG靠向量相似度,能理解"笔记本电脑"和"便携电脑"是同一意思
- 动态知识:RAG的知识来自外部文档,更新只需重新索引,不需要重新训练模型
- 可解释性:RAG可以追溯答案来源(引用具体文档段落),传统AI模型是黑盒
加分项:可以提到混合搜索(向量搜索+关键词搜索结合)在实际项目中的效果更好
2. "你如何选择文本分块(Chunking)的策略?块大小怎么定?"
考察点:工程实践经验
回答思路:
- 块大小的影响:
- 块太小(<100字):上下文不完整,语义缺失
- 块太大(>1000字):噪音多,检索精度下降,还容易超过模型上下文窗口
- 实践经验:我一般从300-500字开始尝试,根据具体文档类型调整
- 重叠策略:设置10%-20%的重叠,避免把完整的语义切断在边界上
- 优化技巧:可以按文档的自然结构(段落、章节)优先切分,而不是硬按字数切
3. "Embedding模型怎么选?你们项目用的什么?"
考察点:模型选型能力
回答思路:
- 选型考量维度:
- 语言支持:中文项目优先考虑国产模型(BGE、BCE等)
- 维度大小:维度越高精度越好,但存储和计算成本也越高
- 开源vs API:开源模型可本地部署更安全,API模型效果通常更好但成本更高
- 我可能会推荐:对中文场景,智源的BGE-M3或BAAI的BGE系列性价比很高
- 对比思路:可以提前准备几个主流Embedding模型的对比数据(如MTEB榜单表现)
4. "怎么解决检索结果不准确的问题?"
考察点:问题排查和优化能力
回答思路(分层次回答):
- 第一层:调整检索策略
- 增加检索数量(从Top-3调到Top-5),给Rerank更多候选
- 引入混合检索:向量搜索+关键词搜索互补
- 第二层:引入Rerank(重排序)
- 这是目前公认的效果提升最明显的技术
- 虽然增加了一点延迟,但对准确率提升很大
- 第三层:优化数据质量
- 清理文档中的噪音(页眉页脚、无关内容)
- 对复杂文档可能需要人工标注高质量的问题-段落对
二、项目实战类问题
这类问题考察你是否有真实项目经验,能否解决实际问题。
1. "你在这个项目中遇到的最大技术挑战是什么?怎么解决的?"
考察点:解决问题的真实经历
回答思路(可以用STAR法则):
- 情境:我们公司的产品文档包含大量表格和流程图,直接提取文本后语义丢失严重
- 任务:需要让AI能准确回答关于表格数据的问题
- 行动:我设计了一个双通道处理方案:
- 通道1:常规文本块用标准方式处理
- 通道2:识别出表格,用OCR+表格结构解析,把表格转成Markdown格式保存
- 检索时,根据问题类型决定优先检索哪个通道
- 结果:表格类问题的准确率提升了30%以上
2. "如果用户问的问题在文档里找不到,你的系统会怎么处理?"
考察点:对AI幻觉的防范意识
回答思路:
- 策略一:相似度阈值过滤
- 设置一个相似度阈值(如0.7),低于这个值认为没找到相关信息
- 此时不调用DeepSeek,直接返回标准话术
- 策略二:提示词强约束
- 在Prompt中明确:"如果资料中没有答案,请礼貌表示不知道,不要编造"
- 这是最后一道防线
- 策略三:人工兜底
- 对于连续无法回答的问题,触发转人工流程
- 同时把这些漏报的问题收集起来,用于优化知识库
3. "你们怎么评估这个客服机器人的效果?"
考察点:上线后的运营思维
回答思路:
- 客观指标:
- 命中率:多少比例的问题由AI回答了(vs 转人工)
- 准确率:抽样人工评估回答正确率
- 响应时间:从提问到返回的耗时
- 主观指标:
- 用户反馈:点赞/点踩比例
- NPS:对客服满意度的净推荐值
- 业务指标:
- 人工成本变化:接入后人工客服工单量下降多少
- 解决时长:平均问题解决时间缩短多少
三、系统设计类问题
这类问题考察你的架构能力和大局观。
1. "如果让你设计一个高可用的智能客服系统,架构上要考虑什么?"
考察点:系统架构设计能力
回答思路:
- 分层架构:
- 接入层:负载均衡,应对突发流量
- 服务层:无状态设计,方便水平扩展
- 数据层:向量数据库主从备份,避免单点故障
- 缓存策略:
- 高频问题(如"怎么退货")的结果可以缓存,减少API调用
- 用户会话状态用Redis存储,支持多轮对话
- 降级方案:
- DeepSeek API不可用时,降级到仅返回检索到的文档原文
- 或者展示标准话术+转人工入口
2. "如果公司文档量非常大(百万级文档),你的方案需要做什么调整?"
考察点:大规模系统设计能力
回答思路:
- 数据预处理层面:
- 需要引入异步流水线,用消息队列(如Kafka)处理文档索引
- 文档需要分类分级,建立索引分区策略
- 检索层面:
- 引入粗排+精排两阶段:先用快速算法筛出Top-100,再用精细模型重排Top-10
- 考虑建立文档摘要,先检索摘要再检索全文
- 存储层面:
- 向量数据库需要分片,支持分布式部署
- 冷热数据分离:热数据在高速存储,冷数据归档
四、面试官可能会追问的细节
这些问题往往藏在你的回答里,要有所准备:
"你们用的DeepSeek是哪个版本?为什么选它?"
- 可以从性价比、上下文长度、中文能力等角度回答
"你们怎么处理文档中的图片和图表?"
- 可以提到多模态方案(如GPT-4V),或者OCR+描述文本的方案
"你们的系统每天处理多少请求?峰值QPS多少?"
- 需要提前准备好这些数据,体现项目规模
"如果让你用一个月时间把这个系统重构一遍,你会怎么做?"
- 考察复盘和迭代能力,可以说哪些地方做得不够好,这次打算怎么改进
给你的建议
准备一个真实的故事:找一个你在项目中最有成就感的点(比如解决了某个难题),用STAR法则讲清楚,面试官最喜欢听这样的真实经历。
把原理讲透:不要只说"我用过Dify",要说"我理解RAG的原理是...",体现你的技术深度。
准备反问环节:面试最后可以问对方:
- "你们现在的客服系统主要面临什么挑战?"
- "这个岗位主要负责系统的哪部分?是持续优化还是从0到1搭建?" 这显得你对职位有思考。
