29届第四范式agent开发实习面经(已过)

前情提要

本人29届毕业,这几天也是春招火热期,于是在boss上投了几个公司。发了几份简历之后,第四范式公司hr初步问我了一些vibe coding的经历,之后打算联系我进行面试。

面试内容

问:简历中AI Agents的开发经历是个人开发的还是在实习?

答:前两个项目是个人开发,后一个是团队开发的(项目:工作流、AI框架、Agent多端应用)

问:索要项目上线的网址和在这个Agent多端应用中负责什么方向?

答:这个项目的后端是一个golang、python的微服务架构,其中golang负责后端,python负责ai层。前端则是web端为vue3,移动端为flutter。我负责的是全部的的ai层和golang后端的跨域通信和部分后端功能和web前端功能的改进设计。

问:询问项目的主要功能,和如何实现?

答:使用langchain、langgraph框架,首先把工具通过mcp-adapters进行打包,之后ReActAgent进行调用工具与数据库进行交互,另一方面在进行增删改操作时由于ai输出不一定满足用户的需求,我做了一个独立的确认节点作为拦截中间件,截断了数据的写入,而用户可以来自行编辑或保存删除。

问:Agent的工作模式都有什么?

答:ToolsCallingAgent、ReActAgent、ReflectionAgent、PlanAndSolveAgent(并粗略展开每一种大概机制,此处不多赘述)

问:介绍一下你对RAG的理解?

答:我平时不太喜欢用RAG,主要因为两点,自己开发的时候大多数用不到这个技术,RAG最好在垂直领域来使用,尤其是ToB或者专精某一特定领域,而且前段时间不少人说RAG已死,指的是现在很多东西能替代RAG的功能;其次RAG的召回率并不算太高,想要优化召回率只能花费大量人力财力来进行经验微调。知识库开发的流程一般是,先进行数据清洗,之后进行向量化储存到向量数据库,召回时在进行一个向量匹配的操作

问: 看到你做了一个memory上下文记忆功能的处理,可以说一下处理逻辑吗?

答: 记忆可以分成长期记忆和短期记忆,我在长期记忆这里使用的是RAG技术,将用户强调或者比较有价值的数据存入,这样可以作为一个跨对话窗口的上下文,而短期记忆我也是做了一个上下文压缩,用了一个经验值作为阈值,等上下午到一定程度之后就会进行精炼,而精炼又有两种模式,我分为智能模式和机械模式,智能模式是通过llm进行关键信息等提炼,机械模式是通过正则处理去除冗余的工具调用日志和结构化导致的上下文污染

问:对于模型的选型你是否有考虑呢?

答:之前自己做过coding agent等类似的项目,在多智能体系统中对于不同的任务采用的模型不同,比如plan使用主力模型opus,编写代码使用中等模型sonnet,而探索项目结构可以使用haiku等小模型,这样的话既可以节省token花销也可以不降低代码质量

问:你是否有AI编程的经历和理解?

答:略(先是说了市面上各ai编程工具的差异性优点及缺点和我自己的订阅情况,之后说了开发模式相关如spec driven。ps:可参考该文章 AI 原生工程)

问:对于Agent有没有什么熔断机制?你有接触过么?比如你的基模直接卡死了,你的后端是否有什么保底机制?

答:有的,在项目中我对tool calling做了一个熔断机制如果工具调用失败超过三次就会进行熔断处理,防止反复重试导致系统崩坏。如果基模卡死的话,完全可以弄一个集群来处理,如果一个服务器掉了可以快速转到另一个提供llm的服务器。

最终也算是过了#牛客AI配图神器#
全部评论
buer,夺少届?
2 回复 分享
发布于 03-16 19:46 湖北
能过是因为面你的面试官也不懂,都是一些简单问题哈哈,掏上了
点赞 回复 分享
发布于 04-09 17:35 北京
佬 面试之前有笔试吗
点赞 回复 分享
发布于 03-31 21:16 江西
这个世界真的是癫了
点赞 回复 分享
发布于 03-24 16:43 天津
真的太厉害了
点赞 回复 分享
发布于 03-22 09:33 四川
大佬有论文吗
点赞 回复 分享
发布于 03-16 17:13 山东
只面了一次吗大佬
点赞 回复 分享
发布于 03-16 17:08 黑龙江

相关推荐

一、自我介绍 & 简历相关1. 自我介绍2. 学习途径、学习方式3. 学习时长4. 是否学习过其他语言(如 Go)二、Java & JDK 版本特性1. Java 虚拟线程相关2. JDK 21、JDK 23 新特性有哪些三、操作系统 & 线程、线程池1. 操作系统在线程切换上,除了时间片还有哪些特性?2. 线程池与操作系统之间的关联四、中间件 Redis1. Redis 在项目中的使用情况2. Redis 在项目中用量/规模3. Redis集群4. Redis分片集群如何处理命名?五、Token 机制 & OAuth2.01. access_token、refresh_token 机制是什么?2. 为什么需要 refresh_token,只用 access_token 不行吗?3. refresh_token 与 access_token 的使用场景区别4. OAuth2.0 相关知识六、MySQL 优化1. MySQL 查询优化相关问题七、MyBatis 优化 & 缓存1. MyBatis 如何做查询优化?2. QPS 较高时,缓存层面如何处理?3. MyBatis 有哪些缓存?八、线上问题排查1. 项目遇到内存占用高问题如何解决?九、权限设计 RBAC1. RBAC 如何实现?2. 权限如何调整/动态修改?十、项目相关1. 项目痛点是什么?2. 痛点如何解决?十一、软实力 & 工程能力1. 如何对技术需求进行分析?2. 接到一个新需求应该如何实现?3. 在团队中如何协作/开展工作?十二、其他技术问题1. 时间轮2. 学习方法反问还有就是说如果这次面试过了后面还有考核期,给我时间和资料去学习东西做项目去考核,还说有时候要加班到晚上9.多? 听说工资还可以,还有就是一周五天线下,周六线上工作,润的时候给了我个衣服
点赞 评论 收藏
分享
评论
13
33
分享

创作者周榜

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