Skip to content

开发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
    • 考虑建立文档摘要,先检索摘要再检索全文
  • 存储层面
    • 向量数据库需要分片,支持分布式部署
    • 冷热数据分离:热数据在高速存储,冷数据归档

四、面试官可能会追问的细节

这些问题往往藏在你的回答里,要有所准备:

  1. "你们用的DeepSeek是哪个版本?为什么选它?"

    • 可以从性价比、上下文长度、中文能力等角度回答
  2. "你们怎么处理文档中的图片和图表?"

    • 可以提到多模态方案(如GPT-4V),或者OCR+描述文本的方案
  3. "你们的系统每天处理多少请求?峰值QPS多少?"

    • 需要提前准备好这些数据,体现项目规模
  4. "如果让你用一个月时间把这个系统重构一遍,你会怎么做?"

    • 考察复盘和迭代能力,可以说哪些地方做得不够好,这次打算怎么改进

给你的建议

  1. 准备一个真实的故事:找一个你在项目中最有成就感的点(比如解决了某个难题),用STAR法则讲清楚,面试官最喜欢听这样的真实经历。

  2. 把原理讲透:不要只说"我用过Dify",要说"我理解RAG的原理是...",体现你的技术深度。

  3. 准备反问环节:面试最后可以问对方:

    • "你们现在的客服系统主要面临什么挑战?"
    • "这个岗位主要负责系统的哪部分?是持续优化还是从0到1搭建?" 这显得你对职位有思考。