小厂agent复盘
4/20小厂agent一面复盘
1、自我介绍,今天加了句 不知道我的技术栈对不对口 ,面试官就说他们也是go+agent,挺对口的,放松了一点点
2、第二个项目
2.1 LangGraph和LangChain的区别。
LangGraph是状态机,对循环/分支的支持更好,比如我这里的路由会根据用户的问题走不同的分支,blabla
面试官问用到循环了吗,我说效果不好的话会循环回去,但我这里比较简单
【补充可控性/可观测行的差异】:状态显示、便于trace、调参。
3.2 多agent了解吗
没在项目里用过,只是了解。比如plan一个agent、执行一个agent、评估一个agent,她们各自分工又互相协作完成复杂的任务。
【补充多agent适用场景、代价】适合做任务可分解、子结果可验证的场景,代价是token成本上涨、延迟变慢、调试复杂。
3.3 学一下多agent的通信机制。
函数调用、RPC。
【消息格式】:需要包含role、内容、ctx等(json)
【共享状态】:共享全局记忆,任务状态记录、中间过程记录
【调度方式】:集中式、去中心
【一致性】:冲突解决、投票/评分
3.4 GraphRAG的优点
传统的RAG只能做向量检索,GraphRAG的话加上实体抽取利用多跳机制,不需要检索全库的向量,而且通过扩展邻域检索更加相近的内容。
【多跳关系推理】:不仅是相似度检索,更是 因果/关联链条
【可解释性】:给出路径/邻居/证据块
3.5 怎么做容错的?
没做。只做了证据溯源,相当于肉眼判断吧。
答得有点灾难
【输入层】:提问非领域---澄清
【检索层】:证据不足---换检索策略、调topk;图检索失败--回退向量检索。
【生成层】:避免胡编/与证据不一致---触发检查
【harness】:记录成样本
3、第一个项目
3.1 redis的缓存穿透和击穿。
击穿用的singleflight、穿透用的空值缓存。别的防穿透方法就是布隆过滤器、加锁、或者也可以做非法请求校验(毕竟穿透解决的是非法请求)
【缓存雪崩】:随机ttl抖动
3.2 缓存在项目中是怎么用的?
一个是用户个人页面的视频列表缓存,一个是姿态分析结果的缓存,通过前端轮询来获取分析数据。
【补充key、val】:视频列表缓存,key是userID,val是视频元数据的json。分析结果缓存,key是视频id、val是结构化的建议。
3.3 webSocket和SSE了解吗
了解一点,但项目里没用到。一个是全双工,一个是流式传输。
【如果要改进】可以用SSE试试推送分析进度
3.4FFmpeg的瓶颈在cpu还是io
答不上,面试官说在IO,可以利用redis的IO多路复用优化并发。
【cpu】:top/htop---将分辨率
【磁盘】:iostat----分片上传
3.5 worker的数量如何确定
记不清了,只记得和核有关。负载增加的话可以动态扩容。
3.6 goroutine panic了会怎么样?
栈展开、defer、recover捕获
【补充配合ctx做取消】
3.7 追问recover里面做了什么业务处理?
没做业务处理,制作了错误输出。
3.8 context
父context取消,子也会取消。值传递的话http请求链用到了元数据传递以及tracer
【加NACK】消息重试/放入死信队列
4 aicoding
代码质量、review怎么做的?
我只回答了测试。面试官说可以借助rules、skill做限制
【生成前】prompt/rules 限制技术选型、明确接口定义、必须做单测、必须错误处理
【生成中】skill定义业务逻辑等等
【生成后】:单测、并发安全
#牛客AI配图神器# #AI求职记录# #我的求职进度条#
1、自我介绍,今天加了句 不知道我的技术栈对不对口 ,面试官就说他们也是go+agent,挺对口的,放松了一点点
2、第二个项目
2.1 LangGraph和LangChain的区别。
LangGraph是状态机,对循环/分支的支持更好,比如我这里的路由会根据用户的问题走不同的分支,blabla
面试官问用到循环了吗,我说效果不好的话会循环回去,但我这里比较简单
【补充可控性/可观测行的差异】:状态显示、便于trace、调参。
3.2 多agent了解吗
没在项目里用过,只是了解。比如plan一个agent、执行一个agent、评估一个agent,她们各自分工又互相协作完成复杂的任务。
【补充多agent适用场景、代价】适合做任务可分解、子结果可验证的场景,代价是token成本上涨、延迟变慢、调试复杂。
3.3 学一下多agent的通信机制。
函数调用、RPC。
【消息格式】:需要包含role、内容、ctx等(json)
【共享状态】:共享全局记忆,任务状态记录、中间过程记录
【调度方式】:集中式、去中心
【一致性】:冲突解决、投票/评分
3.4 GraphRAG的优点
传统的RAG只能做向量检索,GraphRAG的话加上实体抽取利用多跳机制,不需要检索全库的向量,而且通过扩展邻域检索更加相近的内容。
【多跳关系推理】:不仅是相似度检索,更是 因果/关联链条
【可解释性】:给出路径/邻居/证据块
3.5 怎么做容错的?
没做。只做了证据溯源,相当于肉眼判断吧。
答得有点灾难
【输入层】:提问非领域---澄清
【检索层】:证据不足---换检索策略、调topk;图检索失败--回退向量检索。
【生成层】:避免胡编/与证据不一致---触发检查
【harness】:记录成样本
3、第一个项目
3.1 redis的缓存穿透和击穿。
击穿用的singleflight、穿透用的空值缓存。别的防穿透方法就是布隆过滤器、加锁、或者也可以做非法请求校验(毕竟穿透解决的是非法请求)
【缓存雪崩】:随机ttl抖动
3.2 缓存在项目中是怎么用的?
一个是用户个人页面的视频列表缓存,一个是姿态分析结果的缓存,通过前端轮询来获取分析数据。
【补充key、val】:视频列表缓存,key是userID,val是视频元数据的json。分析结果缓存,key是视频id、val是结构化的建议。
3.3 webSocket和SSE了解吗
了解一点,但项目里没用到。一个是全双工,一个是流式传输。
【如果要改进】可以用SSE试试推送分析进度
3.4FFmpeg的瓶颈在cpu还是io
答不上,面试官说在IO,可以利用redis的IO多路复用优化并发。
【cpu】:top/htop---将分辨率
【磁盘】:iostat----分片上传
3.5 worker的数量如何确定
记不清了,只记得和核有关。负载增加的话可以动态扩容。
3.6 goroutine panic了会怎么样?
栈展开、defer、recover捕获
【补充配合ctx做取消】
3.7 追问recover里面做了什么业务处理?
没做业务处理,制作了错误输出。
3.8 context
父context取消,子也会取消。值传递的话http请求链用到了元数据传递以及tracer
【加NACK】消息重试/放入死信队列
4 aicoding
代码质量、review怎么做的?
我只回答了测试。面试官说可以借助rules、skill做限制
【生成前】prompt/rules 限制技术选型、明确接口定义、必须做单测、必须错误处理
【生成中】skill定义业务逻辑等等
【生成后】:单测、并发安全
#牛客AI配图神器# #AI求职记录# #我的求职进度条#
全部评论
博主的agent项目是自己写的还是网上学的呀
面试体验最好的一次,面试官还会根据我的回答完善补充
相关推荐
查看20道真题和解析 点赞 评论 收藏
分享