后端开发 / Agent 开发二面面经
完整信息
本篇目录
面试日期:不便透露 10天之内
岗位方向:阿里云
一、整体感受
这场二面比一面更综合。
一面主要围绕大模型网关、SSE 背压、流量治理、RPC 和通用 AI 平台设计展开;二面则没有继续沿着某一个系统设计问题深挖,而是从多个维度检查候选人的基础与发展潜力:
● 是否真正做过简历中的项目;
● 能不能讲清 Ontology、Action 和 DDD 的设计逻辑;
● 是否具备模型推理和分布式训练的基础知识;
● Java、Redis、JVM 等后端基本功是否扎实;
● 面对陌生算法题能否快速找到更优解;
● 对未来技术方向有没有清晰规划;
● 是否具备持续探索上下游、主动思考系统全貌的习惯。
整场面试的特点是:
- 面试官比较平和,会主动介绍业务,也会在答不上来时给提示。
- 项目问题以真实性和抽象能力为主。 不仅问做了什么,还会问为什么要这样建模、技术挑战在哪里、与 MCP 有什么区别。
- 知识面跨度较大。 从 Ontology、DDD 一直问到模型并行、Redis 分布式锁、动态代理、JVM 和算法。
- 后半段比较关注长期潜力。 面试官用了较长时间追问职业规划,以及“为什么你以后能够比同龄工程师做得更好”。
二、面试流程
大致流程如下:
- 面试官介绍平台及团队分工;
- 自我介绍;
- 京东实习;
- 京东项目深挖;
- Ontology 与 MCP 的区别;
- 第二段实习 数据处理优化;
- DDD 建模流程、领域对象识别和贫血 / 充血模型;
- Transformer、KV Cache 和分布式训练;
- Redis 分布式锁与一致性哈希;
- JDK 动态代理、CGLIB 和字节码生成;
- JVM 内存区域、StackOverflow 与堆 OOM;
- 海量数据中位数算法题;
- 职业规划和个人竞争力;
- 反问及面试官建议。
本场没有现场编码,但有一道需要口述算法思路的题。
三、面试官介绍团队与岗位
1.平台大致分为哪几层?
- 面试官所在团队主要负责什么?
四、自我介绍与背景沟通
自我介绍
你在京东属于什么团队?团队大概多少人?
京东转正答辩结束了吗?结果怎么样?
既然已经通过京东留用,为什么还在看其他机会?
五、京东 Ontology 与柔性引擎项目深挖
选择一个你认为做得最好的项目,介绍背景、架构和个人工作
这个项目在技术上有什么挑战?是不是主要做业务梳理和协议转换?
你们做的东西和 MCP 有什么区别?
六、传感器数据优化
原来为什么需要xx小时,并且出现 OOM?
你是怎么优化内存的?
你是怎么把耗时从xx小时降低到x小时的?
七、DDD 相关问题
从需求到领域模型,再到代码,一般经过什么过程?
什么东西适合成为领域对象?
贫血模型和充血模型有什么区别?
八、大模型基础与分布式训练
你对模型架构、训练和推理了解多少?
数据并行和张量并行有什么区别?
张量并行和流水线并行有什么区别?
九、Redis 与 Java 基础
你的分布式锁是怎么实现的?
如何保证加锁原子性?
如何保证谁加的锁只能由谁释放?
一致性哈希是什么?解决什么问题?
JDK 动态代理和 CGLIB 有什么区别?
动态生成类和字节码可以使用什么工具?
十、JVM
JVM 运行时数据区有哪些?
StackOverflowError 和堆 OOM 有什么区别?
十一、算法题:海量无序数据求中位数
题目
有一亿或十亿个无序整数,数据能够放入内存。希望找到排序后位于中间位置的数,也就是中位数。要求时间复杂度尽可能低。
十二、职业规划与长期竞争力
你未来想往什么方向发展?
大家基础都不差,你为什么能够比别人做得更好?
十三、反问与面试官建议
十四、完整问题清单
- 你了解阿里云吗?
- 你如何理解模型服务层、AI 开发工具层和上层应用层?
- 管控面和数据面有什么区别?
- 做一下自我介绍。
- 你在京东属于什么团队?
- 团队大概有多少人?
- 团队成员主要是后端研发吗?
- 京东转正答辩结束了吗?
- 京东留用结果怎么样?
- 已经通过京东留用,为什么还在看其他公司?
- 目前还有哪些 Offer 或招聘流程?
- MapTracker 是自己训练的模型还是开源模型?
- 选择一个你认为做得最好的项目进行介绍。
- 京东 项目的背景是什么?
- 为什么不能直接把已有 HTTP / JSF 接口交给 Agent?
- Ontology 解决了什么问题?
- Action 和普通接口方法有什么区别?
- 柔性引擎在其中承担什么角色?
- 你本人主要负责了哪些工作?
- 这个项目真正的技术挑战是什么?
- 如何处理不同系统中的同名异义和异名同义?
- Action Schema 太宽或太严分别有什么问题?
- HTTP 改成 JSF 是否只是协议转换?
- Ontology / Action 和 MCP 有什么区别?
- 为什么你们没有直接使用标准 MCP?
- 数据为什么处理了 12 小时?
- OOM 是怎么产生的?
- 为什么先解决内存,再增加并行度?
- 流式读取和分块处理如何实现?
- 为什么 Python 使用多进程而不是多线程?
- 怎么把处理时间从 12 小时降到 2 小时?
- 从业务需求到 DDD 模型和代码,一般经过什么流程?
- 什么是限界上下文?
- 如何识别聚合根、实体和值对象?
- ACL 防腐层解决什么问题?
- Application、Domain、Infrastructure 分别负责什么?
- 什么东西适合成为领域对象?
- 贫血模型和充血模型有什么区别?
- 你对大模型架构、训练和推理了解多少?
- Transformer 和 Self-Attention 的核心作用是什么?
- 大模型为什么采用自回归生成?
- KV Cache 是什么?
- KV Cache 为什么会影响请求迁移?
- 数据并行和张量并行有什么区别?
- 张量并行和流水线并行有什么区别?
- 你的分布式锁是怎么实现的?
- 为什么选择 Redisson?
- Watchdog 解决什么问题?
- 如何保证分布式锁加锁操作的原子性?
- 如何保证谁加锁谁解锁?
- 如何避免 A 请求误删 B 请求的锁?
- 一致性哈希解决什么问题?
- 一致性哈希环如何分配 Key?
- 为什么需要虚拟节点?
- JDK 动态代理和 CGLIB 有什么区别?
- JDK 动态代理为什么要求接口?
- CGLIB 为什么不能代理 final 方法?
- 有哪些动态生成字节码的工具?
- CGLIB 底层通常使用什么字节码框架?
- JVM 运行时数据区有哪些?
- 哪些区域线程私有,哪些区域线程共享?
- StackOverflowError 是怎么产生的?
- Java heap space OOM 是怎么产生的?
- 一亿或十亿个无序整数如何快速找到中位数?
- 完整快速排序的复杂度是多少?
- 是否需要把所有数据完全排序?
- Quickselect 的原理是什么?
- Quickselect 的平均和最坏时间复杂度是多少?
- 未来希望往哪个技术方向发展?
- 是准备长期走技术路线吗?
- 如果未来希望成为架构师,需要做哪些准备?
- 大家基础都不差,你为什么能够比别人做得更好?
- 作为负责人,应该具备哪些能力?
- 进入团队后还需要重点提升什么?
一句话总结
这是一场覆盖面很广的阿里二面:前半场验证 Ontology、DDD 和数据处理项目,后半场快速扫描模型并行、Redis、Java、JVM、算法与职业潜力。
#牛客AI配图神器##发面经攒人品##你怎么看待AI面试##秋招面试记录##面经##面试AI岗经常会被问到哪些问题?#
本篇目录
当前问题0173
- 01
你了解阿里云吗?
- 02
你如何理解模型服务层、AI 开发工具层和上层应用层?
- 03
管控面和数据面有什么区别?
- 04
做一下自我介绍。
- 05
你在京东属于什么团队?
- 06
团队大概有多少人?
- 07
团队成员主要是后端研发吗?
- 08
京东转正答辩结束了吗?
- 09
京东留用结果怎么样?
- 10
已经通过京东留用,为什么还在看其他公司?
- 11
目前还有哪些 Offer 或招聘流程?
- 12
MapTracker 是自己训练的模型还是开源模型?
- 13
选择一个你认为做得最好的项目进行介绍。
- 14
京东 项目的背景是什么?
- 15
为什么不能直接把已有 HTTP / JSF 接口交给 Agent?
- 16
Ontology 解决了什么问题?
- 17
Action 和普通接口方法有什么区别?
- 18
你本人主要负责了哪些工作?
- 19
这个项目真正的技术挑战是什么?
- 20
如何处理不同系统中的同名异义和异名同义?
- 21
Action Schema 太宽或太严分别有什么问题?
- 22
HTTP 改成 JSF 是否只是协议转换?
- 23
Ontology / Action 和 MCP 有什么区别?
- 24
为什么你们没有直接使用标准 MCP?
- 25
数据为什么处理了 12 小时?
- 26
OOM 是怎么产生的?
- 27
为什么先解决内存,再增加并行度?
- 28
流式读取和分块处理如何实现?
- 29
为什么 Python 使用多进程而不是多线程?
- 30
怎么把处理时间从 12 小时降到 2 小时?
- 31
从业务需求到 DDD 模型和代码,一般经过什么流程?
- 32
什么是限界上下文?
- 33
如何识别聚合根、实体和值对象?
- 34
ACL 防腐层解决什么问题?
- 35
Application、Domain、Infrastructure 分别负责什么?
- 36
什么东西适合成为领域对象?
- 37
贫血模型和充血模型有什么区别?
- 38
你对大模型架构、训练和推理了解多少?
- 39
Transformer 和 Self-Attention 的核心作用是什么?
- 40
大模型为什么采用自回归生成?
- 41
KV Cache 是什么?
- 42
KV Cache 为什么会影响请求迁移?
- 43
数据并行和张量并行有什么区别?
- 44
张量并行和流水线并行有什么区别?
- 45
你的分布式锁是怎么实现的?
- 46
为什么选择 Redisson?
- 47
Watchdog 解决什么问题?
- 48
如何保证分布式锁加锁操作的原子性?
- 49
如何保证谁加锁谁解锁?
- 50
如何避免 A 请求误删 B 请求的锁?
- 51
一致性哈希解决什么问题?
- 52
一致性哈希环如何分配 Key?
- 53
为什么需要虚拟节点?
- 54
JDK 动态代理和 CGLIB 有什么区别?
- 55
JDK 动态代理为什么要求接口?
- 56
CGLIB 为什么不能代理 final 方法?
- 57
有哪些动态生成字节码的工具?
- 58
CGLIB 底层通常使用什么字节码框架?
- 59
JVM 运行时数据区有哪些?
- 60
哪些区域线程私有,哪些区域线程共享?
- 61
StackOverflowError 是怎么产生的?
- 62
Java heap space OOM 是怎么产生的?
- 63
一亿或十亿个无序整数如何快速找到中位数?
- 64
完整快速排序的复杂度是多少?
- 65
是否需要把所有数据完全排序?
- 66
Quickselect 的原理是什么?
- 67
Quickselect 的平均和最坏时间复杂度是多少?
- 68
未来希望往哪个技术方向发展?
- 69
是准备长期走技术路线吗?
- 70
如果未来希望成为架构师,需要做哪些准备?
- 71
大家基础都不差,你为什么能够比别人做得更好?
- 72
作为负责人,应该具备哪些能力?
- 73
进入团队后还需要重点提升什么?
