AI面试相关之蚂蚁国际社招一面

段段投简历之前也没想到啊,猎头推荐的职位,居然是专家岗,后来想想就当攒面经了,咱也见识见识专家岗面试到底咋样,由于最开始忘了录音的事,所以没录上,最开始就是问了一些基础的东西。

话说回来,给这么多money,我感觉这钱纯纯拿命换啊。

话不多说,上链接!啊不对,上面经。

从面试问题来看,这一轮非常侧重于后端基础开发(Go/MySQL/Redis)以及大模型项目(特别是 RAG 检索增强生成)的工程落地细节。(段段的Go都是在公司硬着头皮上,然后带着学的,面试突击了一下

一、 大模型工程化与 RAG 落地

  • Q1:商机智能体项目的背景与你的核心职责是什么? 回答: 介绍了项目目标是为了提升商家的客服效率与销售线索转化率。核心职责是使用 Java语言负责后端业务逻辑开发、Prompt 调试以及大模型的链路编排。为了系统轻量化和易于排查问题,团队放弃了臃肿的 LangChain,而是手写了基于 DAG 图的路由和任务调度逻辑。

  • Q2:你们是如何优化知识库检索(RAG)准确率的? 回答: 三步解答:第一步是优化文档的预处理,按照段落和语义进行精细化切片。第二步是采用多路召回策略,将向量检索与 ElasticSearch 的关键词检索结合起来互相兜底。第三步是引入了轻量级的 Rerank 模型,对召回的结果进行二次打分重排,从而保证喂给大模型的上下文是最相关的。

  • Q3:针对大模型响应慢的问题,系统耗时层面做了哪些优化? 回答: 你提到在前端展示上采用了 SSE 流式输出来提升用户的体感响应速度。在后端工程上做了两个核心动作:一是自建了“语义缓存”,利用 Redis 配合轻量级向量计算,如果遇到高频且相似度极高的问题,直接查缓存返回,跳过大模型调用(这块非常重要,大模型和策略map结合,最大化效率);二是利用 Go 语言 Goroutine 的特性,对那些不依赖上下文的外部 API(比如查询订单状态)进行了高并发请求处理,缩短了整体链路耗时。

二、 Go 语言与数据库基础核心

  • Q4:Go 语言原生的 Map 是并发安全的吗?在项目中如何解决并发读写问题? 回答: Go 的原生 Map 并非并发安全,如果发生并发读写冲突会直接导致程序 panic。我给出的解决方案是根据场景使用 sync.Mutex 或 sync.RWMutex 进行加锁,或者在特定高并发场景下直接使用标准库提供的 sync.Map。

  • Q5:平时开发中,MySQL 的慢查询你们是如何排查和优化的? 回答: 标准且实战的排查链路:首先定位慢查询日志,然后使用 EXPLAIN 关键字分析 SQL 的执行计划,重点关注 type 字段(检查是否发生全表扫描 ALL)以及是否出现了耗性能的 filesort(文件排序)。在优化层面,你提到了建立合理的联合索引、严格遵循最左前缀匹配原则,并且特别强调了要避免在索引列上使用函数运算,以免导致索引失效。

三、 个人职业规划与 HR 考察点

  • Q6:从上一家公司(百度)离职的原因是什么?目前的期望薪资如何? 回答: 我很坦诚,因为部门组织架构调整,整体环境不稳定,所以出来寻找更合适的机会。关于薪资,希望能在现有基础上获得一定的涨幅,具体薪资结合面试的定级和评价来综合谈。

一面已过,二面刚面完,静候佳音。

#AI求职实录#
全部评论
干货满满啊
1 回复 分享
发布于 03-10 17:00 广东

相关推荐

05-09 06:25
门头沟学院 Java
还是太菜了,下去沉淀一下1.深入剖析ReAct框架的局限性,并在此基础上,详细解释Plan-Then-Act、ReAct + 轻规划以及Tree/Graph Planning(如ToT、LATS)这三种范式的核心区别、适用场景和各自的优缺点。 ​2.请阐述“思维链”(Chain-of-Thought, CoT)与“规划”(Planning)的本质区别。为什么说CoT仅仅是“将推理过程写出来”而Planning是生成一个“可执行的任务表”?请用具体例子说明。 ​3.在处理一个需要多步工具调用的复杂任务(例如“调研三篇关于RAG+RL的论文并输出中文总结”)时,如何设计一个鲁棒的规划机制来应对中间步骤的失败(如某个API调用超时或返回数据格式错误)请描述具体的重试、回滚或重规划策略。 ​4.详细解释Tree-of-Thoughts (ToT) 或类似LATS(使用LLM进行蒙特卡洛树搜索)的框架是如何工作的?它们与传统的线性规划相比,在探索最优解题路径上有何本质优势? ​5.在Agent推理过程中,经常会出现“推理断层”或“结果与目标偏离”的问题。请结合具体技术或你的实践经验,说明如何通过提示工程、记忆机制或架构设计来缓解或解决这一问题。​6.请深入剖析大模型Agent的“长期记忆”模块。在设计一个能够持续运行、与用户长期交互的Agent时,你会如何设计记忆的存储结构(如向量数据库、图数据库)、更新策略(如记忆合并、遗忘机制)、检索机制(如重排序、混合检索)来确保记忆的高效和准确? ​7.当历史对话记录非常长时(远超模型上下文窗口)你有哪些策略来优化记忆的查询效率并保证关键信息不丢失?请比较“滑动窗口”、“总结压缩”、“向量检索”等不同方案的优劣。 ​8.什么是“混合检索”(Hybrid Search)?请解释为什么在工业级RAG系统中,纯向量检索往往不够用,需要结合关键词检索(如BM25)。请给出一个具体的业务场景,说明混合检索的必要性。
查看8道真题和解析
点赞 评论 收藏
分享
04-26 14:50
门头沟学院 Java
发面经攒人品校招的时候会问项目和八股,现在一上来就问AI,问你有没有了解AI,用过agent,skill什么的,说没有就直接开始问项目了,领星 java agent类加载什么时候生效 | 源字节码在改写后和新的是什么关系怎样  |事务同类调用失效怎么解振心 volatile treemap原理 aqs 间隙锁在什么级别生效 | redis和数据库 本地缓存 保证一致性 |  redis主从复制过程 hashtag新凯莱 lru没写出来 maven类冲突处理原则 能改写string类吗中信银行卡信用中心 es倒排索引 explain乐信 怎么设计dubbo dubbo多协议是怎么支持的 | 雪花算法回拨 分库分表设计叶子科技 线程池参数海量数据 设计一个多种数据库的同步的ai工具需要考虑什么中信证券 火焰图 熔断限流降级  键入网址到网页显示 jvm内存结构对应抛异常 | reentrantlock synchronized |  数据链路层有什么协议 ip寻址 dns服务器分类 tcpudp区别 | 先更新数据库 再删除缓存 如果删除缓存失败怎么样 重试也失败怎么样 leetcode74货拉拉  spring过滤器拦截器 区别 | springmvc请求过程 | javaagent和aop风险是什么 | synchronized锁升级原理 | aqs独占共享模式是什么 | hashmap1.8 1.7 有什么问题 | kafka高性能?分区零拷贝  | mybatis一级缓存 二级缓存新凯莱睿联  套方案 问设计bigo  cms g1增量更新原始快照 怎么评估javaagent对应用的影响  | 不同jdk版本兼容性 | flinkcheckoint原理  | es倒排索引原理中移  es连表怎么解决乐信  tomcat启动流程过程 | 怎么找到启动的类的 | mysql一条查询语句执行过程 | bufferpool命中率大概多少云港淘天  缓存和数据库一致性 |   redis冷启动 加锁访问数据库 |  手撕 阻塞队列 put take 没写condition唤醒 策略模式bigo  分库分表分片算法 |  redis分布式锁原理 超时时间怎么设置看门狗 redission分布式锁 直播送礼物榜单zset |   redis集群原理 集群模式下 lua脚本涉及什么问题hashtag   |  日志场景kafka消费怎么保证幂等性优必选  redis hash底层 |  网络7层4层为什么4层会更好  | kafka重复消费 reblance原因 |  sentinel限流原理底层是怎么设计的  | spring starter原理 |  mysql 一张表 两个字段 城市id 时间 有一个联合索引 (城市id,时间),一条查询语句 where 城市id in(城市id列表)and 时间>='2023-01-01' order by 时间 这条sql语句走了索引吗 需要额外排序吗优必选  etcd一致性 选举投票 容灾  | springboot cloud区别  |  springboot默认web容器是哪个其他容器  | spring设计模式 |  redis高性能原因字节  20分钟结束 lru 下一个更小的数 给定一个数 比如说A 23122 ,给定一个数组 [2,4,9],找到从数组里面组成的数比A数小且最大的一个数22999顺丰  kafka怎么保证多个应用上报到同一个分区 恰好一次金蝶  flink用了什么算子 udf怎么写的一壶  dubbo怎么注册到nacos的 |  java线程和操作系统pthread对应关系  |  premain agentmain区别腾讯音乐  bytebuddy elementmatcher是怎么匹配类的 |  flink checkpoint 写吞吐和查实时一致性怎么考虑 | 查的时候多级缓存 flink消费kafka怎么保证不丢呢  |数据库死锁遇到吗怎么解决死锁元保  方法超时返回怎么设置的 sentinel qps 线程限流阿里云 agent给业务的影响超时怎么设置  ai怎么用 数据生成 采集 存储 查询 闭环 做产品工具shopee  kafka如果两个groupid消费者组有同名的消费者如果这个消费者挂了会触发这两个消费者组reblance吗不会 | redis热key可能会有什么问题 设计一个热key探测 lru淘汰原理 | 一个纯内存请求的接口发现cpu升高内存升高可能是什么问题 | es 为什么不能深分页 有解决办法吗 |  rag  向量库涉及什么问题 如果同时支持语音文本和实时分析 怎么设计滴滴  手写一个java令牌桶算法 qps1000 桶大小5000 | redission分布式锁 如果加锁失败其他节点怎么超时失败 以及感知到加锁失败 | mysql索引为什么用b+树不用b-树 使用场景什么区别 范围查询 mongodb呢 | threadlocal为什么会内存泄漏 | 分布式追踪系统traceid怎么透传各个链路里 mdc是什么 | spring 事务失效场景解决办法 多线程有用吗 | cms和g1相比哪个好 | Collectors.toMap注意事项宁德时代  mysql慢查询懂车帝   反转链表 IIbitunix   flink sql提交过程发生了什么|  watermark 两个水印 一个水印生成的是5分钟  1个10分钟 该怎么设置这个水印 | flink水印推进不下去 kafka消息积压可能有哪些原因怎么排查 |kafka消息不丢  | 场景题: kafka redis多级缓存 flink消费怎么保证稳定 kafka可扩展 实时标签系统和离线数据融合更新
点赞 评论 收藏
分享
评论
4
24
分享

创作者周榜

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