AI应用面试题

1. 什么是MCP

参考面试回答:
MCP模型上下文协议)是为大型语言模型提供的一个统一标准化接口、让AI能够无缝连接各种外部数据源和工具。
可以将它比作AI世界的USB接口—只要遵循这个协议标准、任何数据源或工具都能与语言模型实现即插即用
比如说传统的AI只能依赖预训练的静态知识、无法获取实时数据。而通过MCP,模型可以动态访问最新信息、比如查询搜索引擎、读取本地文件、调用第三方API、甚至直接操作各种工具库。比如说可以访问Github、IDEA
这个协议最大的价值是标准化、它是MCP的核心价值 - 你不需要为每个AI模型和每个工具之间的连接编写专门的代码、只要双方都支持MCP协议、它们就能自动"对话"。这大大简化了系统集成、降低了开发成本、也提高了系统的可扩展性
总结就是 MCP 创建一个通用标准、使 AI 应用程序的开发和集成变得更加简单和统一

2. 大模型输出出现重复和幻觉如何解决
参考面试回答:
在大模型生成内容时、出现重复和幻觉是两个常见的问题。重复指的是模型在生成文本时出现内容重复的现象、而幻觉则是指模型生成了看似合理但实际上不真实或不准确的信息。为了解决这两个问题、可以通过微调(fine-tuning)的方法进行优化
为了解决这些问题、首先微调是非常有效的手段。
首先可以确保用于训练的数据质量、要高质量的真实的信息。我们可以减少模型学到错误的信息。特别是领域特定的微调、能帮助模型更准确地生成内容,避免在特定领域(比如医疗、金融)中产生幻觉。
此外在训练过程中引入惩罚机制、比如对模型生成重复或不准确内容进行惩罚、也能够引导模型生成更为多样和真实的内容。
另一个有效的策略是使用参数高效微调(PEFT)、通过像LoRA这样的技术、在不改变模型主体结构的情况下调整部分参数、从而提高微调效率并减少幻觉的产生。
同时强化学习与人类反馈(RLHF)也是一种非常有用的方法、结合人类的评价、模型可以在生成内容时更符合实际世界的逻辑,降低幻觉的风险。
最后检索增强生成(RAG)技术也能够显著提高模型输出的准确性、通过在生成过程中引入外部知识库、确保模型生成的信息更为真实和可靠。
总的来说:通过微调、引入惩罚机制、领域特定训练和强化学习等方法、可以有效减少大模型的重复和幻觉问题

3. 什么是RAG?流程是什么?

面试参考回答:
RAG就是结合信息检索和生成式模型的技术。主要流程包括两个核心环节:
检索:基于用户的输入、从外部知识库(如数据库、文档、网页)检索与问题相关的信息。通常使用向量化表示和向量数据库进行语义匹配。将知识库中的文档进行预处理、分块、清洗并转换为向量表示、存储在向量数据库中。常用的如 Faiss、Milvus等向量数据库存储所有文档向量。用户提问后、对问题进行向量化、并在数据库中执行最近邻搜索、找出语义最相近的 N 条内容
然后就是增强:也可以说是构建 Prompt
1.将检索到的信息作为上下文、输入给生成模型(如 GPT)。
2.相比纯生成模型、RAG 能引用真实数据、减少幻觉(胡编乱造)
最后就是由将增强后的上下文输入到大型语言模型、综合已有上下文生成最终生成最终的回答或内容。
一句话总结: RAG = 向量搜索引擎 + 大模型、让 AI 回答更靠谱、减少幻觉

4. RAG的详细完整的工作流程
参考面试回答流程:
RAG(检索增强生成)的完整流程可分为5个核心阶段:
1. 用户提问
2. 数据准备:清洗文档、分块处理(如PDF转文本切片)
2. 向量化:使用嵌入模型(如BERT、BGE)将文本转为向量。也就是Embedding 向量化
3. 索引存储:向量存入数据库(如Milvus、Faiss、Elasticsearch)。
4. 检索增强:用户提问向量化后检索相关文档。也就是构建 Prompt (问题 + 检索内容)
5. 生成答案:将检索结果与问题组合输入大模型生成回答。

5. 在 RAG 中的 Embedding 嵌入是什么
参考面试回答:
 Embedding是RAG系统的核心组件、Embedding(嵌入)技术本质上是将文本、图像等非结构化数据转换为高维向量的过程。在实际应用中Embedding解决了传统关键词检索的局限性。
比如用户询问如何煮奶茶时、传统检索可能无法找到包含'奶茶制作步骤'的文档、因为它们字面上不匹配。而通过Embedding、系统能够理解这两个表达在语义上的相似性、从而返回相关内容。Embedding的工作原理是通过深度学习模型(如BERT、Sentence-Transformers等)将文本映射到768维或更高的向量空间。
在RAG系统中、Embedding的核心价值在于建立查询和文档之间的语义桥梁。当系统收到用户问题后、会将其转化为向量、然后在预先索引的文档向量库中寻找最相似的内容、无论它们在字面表达上是否匹配。这种基于语义的检索方式大幅提升了信息获取的准确性和完整性、为生成模型提供了更高质量的上下文信息,从而产生更精准的回答

6. 什么是LangChain
参考面试回答:
LangChain 是一个开源框架、专为快速构建复杂的大语言模型应用而设计。
简单来说就是它集成和内置了很多我们开发 AI 大模型应用需要的东西、如内置文档加载器、向量数据库、HTTP API 封装、云服务适配器等、让咱们开箱即用、有点像咱们 Java 届的 Spring。
它最大的特点是把模型调用、提示词管理、工具使用、记忆管理这些能力模块化了、让开发者可以很方便地把大模型和数据库、搜索引擎、API服务等结合起来,用链式结构组织复杂任务。
主要支持复杂任务编排:通过 Chains(链)和 Agents(代理)将多个LLM调用和工具操作组合成工作流
以及实现上下文管理Memory(记忆):通过 Memory 组件(如对话历史缓存、实体关系跟踪)实现长对话连贯性。

6. 什么是向量数据库

参考面试回答:我的理解是:
向量数据库它可以将非结构化数据(如文本、图片、音频等)转换成高维向量的形式进行存储、通过向量数据库预先存储结构化段、实时检索最相关的 Top-K 内容作为上下文输入、并通过高效的相似性搜索算法、快速找到与目标向量最接近的数据项。
传统数据库采用存储数据、主要用于精确匹配查询、常用的检索方式就是精确匹配、索引结构有像B+树或者倒排索引的结构。
而向量数据库针对高维向量数据优化、支持近似最近邻(ANN)搜索算法、更适合语义相似性搜索。可以理解为TopN系列、检索TopK相关内容作为上下文输入。向量数据库预先向量化并建立索引(如 HNSW、IVF),实现亚秒级检索。代表性的向量数据库就是Milvus:一个开源的向量数据库系统

8. 向量数据库的核心原理是什么?核心技术是什么

参考面试回答:
向量数据库的核心原理是通过将高维数据(如图像、文本)转换为多维向量、并基于相似性度量(如余弦相似度、欧氏距离),利用高效的索引结构和近似最近邻(ANN)算法、快速检索与目标最相似的向量结果。
这一过程可概括为三个关键步骤:
首先是向量化:我们通过嵌入模型将非结构化数据映射为稠密向量、比如用BERT处理文本、ResNet处理图像、或CLIP处理多模态数据。这些模型能捕获数据的语义或特征信息、通常生成128到2048维的向量
其次是索引构建:为了高效检索、我们会采用分层导航小世界图(HNSW)等结构预处理向量。HNSW能将搜索复杂度降至对数级O(log N)。同时我们还会利用乘积量化(PQ)来压缩向量、减少内存占用、以及通过倒排索引(IVF)缩小搜索范围。
最后是近似搜索:在实际应用中我们允许一定误差来提升速度。ANN算法会在准确性和效率间寻找平衡点、确保在毫秒级延迟内返回Top-K相似结果、同时保持95%以上的召回率。
总的来说就四个核心层:向量化引擎->索引结构 ->相似度计算->搜索

原始数据 → 向量化 → 索引构建(HNSW/PQ/LSH) → 输入查询向量 → ANN近似搜索 → 返回Top-K结果

(格式明天再改吧___发帖于2025.6.25 00:47)
全部评论
兄弟们给个花花我是网络乞丐
4 回复 分享
发布于 06-26 21:38 广东
更多见《牛客面经八股》https://www.nowcoder.com/exam/interview
3 回复 分享
发布于 06-25 20:43 北京
佬这是哪个厂的面筋吗?还是总结出来的
1 回复 分享
发布于 06-28 23:01 广东
可以插几张图捏
1 回复 分享
发布于 06-26 16:00 江苏
实际问这些并不多,你可以做一个 Rag 系统或基于 langchain 弄个 AI 应用,然后用到哪些技术,遇到那些问题,带着项目去了解,可能会更好。
点赞 回复 分享
发布于 09-04 01:17 广东
mark学习
点赞 回复 分享
发布于 08-04 12:22 北京
markai
点赞 回复 分享
发布于 07-22 13:18 浙江
这不就是八股嘛真正的岗位不会问这些问题的。都是一些实际的应用和场景题,因为你不做好应用,ai根本不能做到降本增效。
点赞 回复 分享
发布于 07-22 08:09 北京
mark学习
点赞 回复 分享
发布于 07-14 15:06 重庆
mark学习
点赞 回复 分享
发布于 06-30 16:21 广西
mark
点赞 回复 分享
发布于 06-27 09:15 北京
mark学习
点赞 回复 分享
发布于 06-26 21:24 北京
点赞 回复 分享
发布于 06-26 11:06 浙江
喜欢请送我一朵花花
点赞 回复 分享
发布于 06-26 00:26 广东
干货满满
点赞 回复 分享
发布于 06-25 16:16 北京
你咋又学上了
点赞 回复 分享
发布于 06-25 12:24 江苏
真正的项目因为场景的问题用不到这么多技术
点赞 回复 分享
发布于 06-25 10:27 北京
宇哥又回来了
点赞 回复 分享
发布于 06-25 10:01 广东

相关推荐

12-11 13:53
已编辑
门头沟学院 Java
10:20左右开始HR面:15min左右1. 问:请说明您目前就读的学校和专业背景,以及入学方式。2. 问:您是通过异地高考进入学校的吗?当时是以什么分数线录取的?3. 问:您在校期间的专业排名情况如何?是否有参与社团或学生会组织?4. 问:您参与的社团活动是否与您的专业相关?5. 问:您在该社团中具体参与了哪些开发工作?是否有其他兴趣爱好?6. 问:您在上一段的实习经历是什么时候开始的?是否已经结束?7. 问:您在实习期间承担了哪些工作内容?公司规模如何?8. 问:您未来的职业规划和学业规划是什么?9. 问:您是否了解我们公司主要从事的政府项目开发?是否能够接受这类工作内容?10. 问:我们公司的实习岗位转正机会和薪资待遇如何?您能否全勤到岗?11. 问:您目前的居住地点距离公司有多远?12. 问:我简单说明我们公司的规模和业务分布情况。如果面试通过,您预计何时可以到岗?13. 问:我简单介绍我们公司的试用期考核制度。您还有什么想了解的?技术面 40min左右1. 问:在线考试系统是您独立完成的吗?2. 问:这个考试系统的使用对象是谁?3. 问:您在项目中使用的Coze平台主要功能是什么?4. 问:Coze平台是否构建了知识库?集成方式是什么?5. 问:Coze平台的权限管理是如何实现的?6. 问:请说明拦截器、过滤器和Spring AOP的执行顺序。7. 问:智能电子月报是用Python开发的吗?8. 问:项目中使用了哪个大模型?9. 问:项目中是否构建了知识库体系?10. 问:PDF解析入库的具体实现方式是什么?11. 问:PDF解析是否使用了MCP技术?12. 问:大模型在项目中具体发挥了什么作用?13. 问:解析后的PDF数据存储在哪里?如何被大模型调用?14. 问:您在学校主修和选修了哪些课程?15. 问:您对Java AI应用开发体系的熟悉程度如何?16. 问:您了解哪些好用的Embedding技术?17. 问:您使用的Embedding模型具体是哪个?部署方式是怎样的?18. 问:您的大模型和Embedding模型都是本地化部署的吗?19. 问:您使用的云服务器是哪家厂商的?20. 问:模型部署的具体技术方案是什么?知识库是如何构建的?21. 问:您是通过爬虫获取的数据吗?获取的是网页数据还是文件数据?22. 问:您使用的Spring Boot版本是什么?23. 问:您对Spring AI和LangChain的结合了解程度如何?24. 问:Java集合框架包含哪些主要接口和类?25. 问:Map接口的实现类有哪些?它们是有序还是无序的?26. 问:List接口的实现类有哪些?它们是有序还是无序的?27. 问:您了解哪些关系型数据库?28. 问:您对数据库的使用经验如何?29. 面试官介绍:公司主要使用到的国产数据库和技术栈30. 问:MyBatis和MyBatis-Plus的区别和优缺点是什么?31. 问:如何使用MyBatis-Plus实现数据脱敏?32. 问:请说明线程的生命周期。33. 问:RESTful风格接口的参数接收方式有哪些?34. 问:POST接口的参数接收形式有哪些?35. 问:Spring MVC中常用的参数接收注解有哪些?它们的区别是什么?36. 问:@Controller和@RestController有什么区别?37. 问:@RestController等同于@Controller加什么注解?38. 问:Spring中的依赖注入方式有哪些?39. 问:@Autowired和@Resource注解的区别是什么?反问:问:我们公司在AI开发方面的具体应用场景是什么?答:做AI应用相关,在向这块转型,包括知识库、智能问述、MCP工具调用相关的等等问:实习生主要的工作内容是什么?是否会涉及前端开发?答:Java后端接口开发,辅助项目模块开发,不涉及前端
点赞 评论 收藏
分享
后端开发 京东科技 金融支付事业群1.自我介绍问实习时间安排实习经历,追问两段实习经历为什么连在一起2. 项目中遇到问题解决问题的能力(大概是这个意思,记不清了)主要提到一个项目中用的ai大模型,面试官对这个貌似挺感兴趣,一直追问,大概问了接近十分钟,我提了一下了解大模型应用如langchain4j等框架还问了怎么对ai设置prompt可以更好的完成任务,回答:尽量精确到具体功能,使用前git版本管理,使用后即时验证功能,若不对则回滚3. Redis相关(1)缓存穿透,讲了一下缓存空值的坏处,布隆过滤器(2)和mysql的一致性,说用了延迟双删,后边追问延迟双删过程中出现缓存穿透怎么办?(有点懵,忘了自己说的啥了,只记得回答的不太好)(3)Redis持久化机制,详细讲了rdb和aof及其优缺点。(4)面试官追问:实际中是两者一起用,你对这个了解吗。(这个没怎么背过,只提了一下aof是记录指令更完整)4. MySQL相关(1)了解MySQL的锁吗(只列举了一下行锁,表锁,间隙锁,没追问)(2)影响sql语句执行效率的因素(讲了讲索引,回表查询等,提到索引失效的原因)(3)追问了一下类型转换导致索引失效,举例字符类型不加单引号‘’识别为数字,导致类型转换索引失效(4)实际操作中如何使sql更高效(怎么感觉有点重复,接着回答尽量使用索引,避免索引失效,建立联合索引,避免回表查询,防止select *等)(5)有时候MySQL优化器会导致sql执行和你想象的不一样,如何解决,让优化器按你的想法执行?(没见过,说不了解)(6)索引也有坏处,了解吗回答索引的本质是维护一个b+树,如果索引过多,就会影响增删改操作的效率5. 消息队列相关(1)面试官提到项目中用到Rabbitmq,我主动回答用来当延时队列(想让他问实现原理和死信交换机,不过没问)(2)消息队列消息丢失(回答生产者和消费者确认机制,消息持久化)(3)追问消息持久化如何实现(没见过,说不了解,这玩意不是直接在可视化界面直接打开的么😭)(4)还了解其他消息队列吗,为什么选用Rabbitmq有考虑过吗还了解卡夫卡,卡夫卡特点是吞吐量高,我们的项目体量较小不适合6. AOP(1)项目中用了AOP,具体业务场景答: 降低代码耦合,用于日志以及一些业务捆绑场景(2)AOP底层原理,只回答到动态代理cglib,对对象进行增强(3)AOP执行时间如何控制?根据业务场景选择执行在方法前还是方法后,如日志则方法前执行打印参数信息7. 其他(1)项目中有类似秒杀的场景,如何解决项目经历中学分管理系统活动名额模块,创建活动id和用户id唯一索引,防止重复注册,保证接口幂等性,同时将名额信息加载到Redis,永lua脚本原子性操作防止超卖现象(2)短时间高并发情况下压力大,如何解决答 使用Rabbitmq进行削峰填谷,因为项目并不是太注重时效性8. 反问阶段(1)面试表现,回答不能说(2)对我的建议以及有什么不足,说跟上一个问题差不多,也不能说(3)业务(4)这个岗位注重什么,回答实习生能带来外部改变与冲击(?第一次见这种说法)9. 总结一共接近四十分钟,感觉问的还挺多的,刚面完感觉绝大部分都回答的挺流畅,而且我回答八股的时候还都是结合项目说的,但是到现在一天多还没发结果有点慌了希望过过过
风间琉璃617:面试的时候说三天内出结果,结果拖到第七天通知也不发官网直接挂😓这些公司真是恶心完了
听到哪句话代表面试稳了O...
点赞 评论 收藏
分享
评论
71
256
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务