蚂蚁 AI应用开发 一面

1. 先做一下自我介绍

2. 讲讲你做的这个项目

这个项目可以设计成面向投研分析师的问答和报告辅助系统,支持财报解析、公告问答、指标对比和结论摘要。整体链路一般包括文档接入、结构化解析、分块索引、检索增强、模型生成和结果回溯。我主要负责的是文档清洗、分块策略、Embedding 入库、重排、长上下文裁剪和推理链路监控。项目里比较难的点在于文档质量参差不齐,表格、脚注和跨页内容很多,直接切分会严重影响召回效果,所以后面会专门做表格提取和层级切片。

3. 怎么解决大事务问题,为什么会导致这些风险

大事务的风险主要在于占锁时间长、回滚成本高、undo log 膨胀、主从延迟和数据库连接占用时间过久。尤其是在消息发送、文件处理、远程调用都包进一个事务时,事务边界会被拉得很长,任何一个步骤慢下来都会把整个链路拖住。解决思路通常不是简单把超时时间调大,而是拆事务边界,把核心写库操作和外部副作用操作分开,必要时结合本地消息表、状态机和补偿逻辑来做最终一致性。

@Transactional
public void createTask(Task task) {
    taskMapper.insert(task);
    outboxMapper.insert(buildEvent(task));
}

4. JVM 调优的完整步骤你一般怎么讲

JVM 调优最好按“现象、定位、验证、调整”这个顺序讲。先看线上现象,是吞吐下降、延迟抖动、Full GC 频繁还是 OOM,再结合监控判断堆、元空间、线程数和对象分配速率。接着看 GC 日志、jstat、jmap、jstack、Arthas 或 MAT,确认是内存泄漏、对象生命周期不合理、线程池堆积还是大对象分配问题。最后才是调参数,比如堆大小、分代比例、GC 策略和停顿目标。真正的重点不是背参数,而是知道为什么调以及调完如何验证。

5. JVM 调优时重点要关注哪些内容

重点一般是堆内存使用趋势、Young GC 和 Full GC 的频率与耗时、对象晋升情况、老年代增长速度、元空间占用、线程数量、直接内存和系统负载。很多人只盯堆,其实线上问题常常不只是堆,像线程暴涨、频繁创建大对象、网络缓冲区占用异常也会把服务拖垮。对于大模型应用,还要特别注意长文本处理、Embedding 批量任务和缓存对象是否会把堆打满。

6. 挑一个你熟悉的消息队列讲讲底层原理

如果讲 Kafka,可以从顺序写磁盘、分区、副本机制、消费位点和批量拉取说起。Kafka 为什么吞吐高,关键不是“用了磁盘”,而是它把磁盘写入做成了顺序追加,再配合页缓存、批量发送和零拷贝。消费者侧通过 offset 自己维护进度,Broker 只负责存储消息和提供拉取能力。这样设计带来的好处是读写职责清晰,但也意味着重复消费和消息幂等要靠上层业务兜底。

7. JVM GC 的过程讲一下,以及对应的回收器怎么理解

GC 的过程可以从根可达性分析开始,先找到不可达对象,再根据不同区域和回收器策略做回收。新生代一般是复制算法,老年代常见是标记整理或者标记清除整理结合。像 G1 会把堆拆成很多 Region,按收益优先回收一部分区域;CMS 更强调低停顿,但会有碎片问题。真正面试时不要只说算法名,更要结合为什么这个阶段用这种算法,比如新生代对象朝生夕灭,复制算法更适合。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

AI-Agent面试实战专栏 文章被收录于专栏

本专栏聚焦 AI-Agent 面试高频考点,内容来自真实面试与项目实践。系统覆盖大模型基础、Prompt工程、RAG、Agent架构、工具调用、多Agent协作、记忆机制、评测、安全与部署优化等核心模块。以“原理+场景+实战”为主线,提供高频题解析、标准答题思路与工程落地方法,帮助你高效查漏补缺.

全部评论

相关推荐

05-03 23:15
门头沟学院 Java
面试很难,还是要多多练习1. 论文拷打2. 实习经历深度追问3. 首个项目深挖:MinerU解析跨页表格时,保障表格语义完整的核心思路?简述Ragas评测框架;若Answer Relevance指标偏低,如何精准区分检索质量与模型能力的影响边界?4. 第二个项目深究:LangGraph中State的定义逻辑与流转机制?当任务节点数量较多时,如何规避状态对象膨胀引发的内存溢出问题?长期记忆库层面,多轮对话信息提炼为结构化用户画像并入库的具体实现路径?5. 文档切片策略:overlap参数的核心作用?如何权衡分片尺寸与上下文完整性之间的平衡关系?6. 对GraphRAG的理解与应用认知7. GraphRAG召回海量关联信息后,生成阶段如何借助自反思(Self-Reflection)或思维链(CoT)策略过滤检索噪声?8. ReAct框架的核心原理,阐述其对复杂任务理解能力的提升逻辑9. 模型调用工具出现参数幻觉、语法错误时,可采用的自动化修正手段有哪些?10. Multi-Agent系统中心化编排模式的内涵,对比点对点架构的核心优势m11. Agent的Self-Reflection机制,说明其识别输出逻辑错误的底层原理12. Agent长期记忆的设计思路与核心要点13. 支付等高敏感操作场景下,Human-in-the-loop(人工介入)流程的设计原则与实现方式14. 单一Skill模块的设计思路与核心逻辑15. Skill与MCP的核心差异对比分析16. OpenClaw对Agent本地文件系统操作、代码执行环境感知及权限增强的实现逻辑17. 对Vibe Coding的理解,结合实际场景谈谈相关经验18. 如何保障自然语言任务描述能精准转化为稳定、可靠的执行路径?19. 上下文缓存的概念,说明其在处理Agent频繁读取的冗余系统指令时的核心价值
查看17道真题和解析
点赞 评论 收藏
分享
04-30 19:15
门头沟学院 Java
继续来分享下最近的面经~欢迎友好讨论,信息共享1.实习拷打2.有没有召回的准确率之类的过程指标3.评测机制是怎么构建的,评测集是怎么构建的4.人工标注的话,大概多少条呢5.你说召回率75%,那剩下的25%是什么原因呢6.第二段实习你做过多Agent的设计是吗?讲一下单Agent和多Agent的差异7.调研过程中,对一些任务编排有了解过吗8.RAG的原理如何理解9.你的prompt提示词模板怎么管理的10.每次更新有没有版本的概念11.第一段实习中的自研大模型,有没有和别的通用大模型作对比12.你们最终衡量这个项目的结果时,用什么指标衡量的13.LocalLife是你自己做的项目吗,说一下其中的function Calling完整的工作流14.如果用户的询问中命中了两个函数,那系统调用的逻辑是怎样的15.定义了几个function供大模型调用,如何设计的16.会不会出现不同function之间,描述有歧义或冲突17.function Calling和Agent的区别18.如果将你的LocalLife升级成一个Agent的体系结构,你觉得还要做哪些事19.举一个用AI编程工具完成的比较复杂的一个开发任务20.对AI代码的审查你用的是开源框架还是什么方式21.利用AI进行的模块设计中,有用到一些设计模式之类的吗22.单Agent和多Agent的使用场景23.电商场景下,会涉及到商品的图文分类,那么你会如何设计这样一个自动分类的系统24.用秒杀场景类似的思路,对Agent的很多接口调用,做一个接口限流如果要控制成本,对不同的大模型,也需要做一个差异化限流(比如轻量模型和重量模型的切换等),你有怎么样考虑思路25.秒杀场景的不超卖用的什么方案26.Agent中的长期记忆和短期记忆你是如何理解的
查看26道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

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