Agent 开发一面、二面、三面面经
完整信息
本篇目录
Timeline:
09.02 一面 过
09.08 二面 过
09.15 三面 横向挂
累了,毁灭吧……9月份后续的两周字节又有两个部门电话约面,一个是云服务部门,由于没有做过对口的实习,直接拒面。另一个是Data的Agent开发,本人对于Agent开发并无太大兴趣,而且这玩意实际上缺乏稳定性,我更加偏向于传统的业务后端,因此也拒了面试。希望国庆节之后,字节能来点正常的岗位捞面。
一面:
A. 开场、经历与求职方向
- 请做一个简单的自我介绍。
- 你第一段实习在哪里,所在团队和主要工作是什么?
- 你在字节实习为什么没有转正?什么时候知道没有转正 HC?
- 这次求职主要倾向什么方向?
- 你平时主要使用 AI 工具,还是也学习大模型和 Agent 的基础知识?
- 舆情分析 Agent 是学校项目还是个人兴趣项目?项目定位是什么?
B. MySQL、B+ 树与订单索引设计
- MySQL 索引通常是什么结构?InnoDB 中应怎样设计索引?
- 为什么数据库索引常用 B+ 树,而不是二叉搜索树、红黑树或 B 树?
- B+ 树与平衡二叉搜索树的查找复杂度有什么区别?
- (题面缺失,按对话推断)给定一个订单表和高频查询,这个表与查询的索引应怎样设计?
- 联合索引为什么通常先放等值过滤列?什么是最左前缀原则?
- 查询要返回
id和amount时,哪些列应放进联合索引?怎样权衡覆盖索引与索引体积? - InnoDB 的主键索引和非主键索引有什么区别?
- 查询包含
ORDER BY created_at时,联合索引应怎样设计?一定要写DESC吗? - 建立两个独立索引后,底层是一棵 B+ 树还是两棵 B+ 树?
- 两个独立索引怎样参与查询?为什么它们通常不能同时高效完成过滤和排序?
- 对于“按订单和状态过滤、按创建时间取最新若干条”的查询,最终联合索引和查询过程是什么?
- 使用
LIMIT offset, size扫描百万或上亿行数据有什么性能问题? - 怎样使用游标分页优化深分页?游标为什么要包含唯一键?
- 如果一个订单有一亿条子订单,需要逐批调用 RPC 并更新状态,怎样设计可靠的离线处理任务?
C. MySQL、Redis 与并发控制
- Redis 有没有类似数据库二级索引的能力?
- Redis 和 MySQL 各有什么优缺点?什么场景分别选择它们?
- MVCC 是做什么的?它怎样服务于事务隔离?
- Redis 有事务吗?它与 MySQL 事务有什么区别?
- Redis 命令大体串行执行,为什么业务上仍然会出现并发问题?
- Redis 6 引入 I/O 多线程后,是否变成多个线程并发修改同一个 Key?
- 请举一个 Redis 多步骤操作并发不安全的具体例子。
- 为什么不能先
GET判断锁不存在,再执行SET?SET NX解决了什么问题? - 一个基本正确的 Redis 分布式锁应怎样获取?
- 已经使用
SET NX,为什么释放锁还需要 Lua?为什么不能直接DEL? - 如果业务没有执行完锁就过期了,怎样处理?
- Pipeline 和 Lua 分别解决什么问题?Pipeline 中的一批命令是原子的吗?
D. 缓存淘汰与 LRU 算法
- Redis 内存达到上限时有哪些淘汰策略?
- 除了 LRU,还了解哪些缓存替换算法?
- LRU 的核心原理和数据结构是什么?
get、put的复杂度是多少? - 请使用你熟悉的语言实现支持构造、
get和put的 LRU Cache。
E. 候选人反问与面试反馈
- 该抖音电商团队主要负责什么业务?
- 怎样理解面试官对本场表现的建议,后续应怎样改进?
二面:
A. 自我介绍与风控实习项目
- 请简单做一下自我介绍。(00:29)
2. - 10. 字节实习相关产出拷打
B. AI Coding 过程与技术方案评审
- 是否收到面试前的 AI Coding 题?目前完成得怎么样?(08:20—08:27)
- 展示一下完成合同审核题的过程,你是怎样使用 AI 开发的?(08:39—09:05)
- 你对 AI 生成的技术方案提了哪些修改?具体说一两个点。(10:02—10:16)
- AI 给出的技术方案很长,人应该怎样 Review、抓重点和做取舍?(10:50—12:11)
- 除了主要流程,Review 和开发时还关注哪些点?(13:00)
- 当前实现处于什么阶段?不接模型的 baseline 能做什么?(13:24)
C. 输入歧义、不确定性与模型分工
- 报告前面提示了一些歧义和问题,你怎样看待这些问题?(14:32)
- 输入有歧义时,下面输出的关系是怎么得出的?有歧义就不建立关系吗?(15:19)
- 原始信息不完整、不确定时,所谓“默认结果”应如何处理?结论会不会也有问题?(16:08—16:25)
- 开发时是否给 AI 明确说明过这些边界情况?是否确认过它的处理逻辑?(16:34)
- 这道 AI Coding 题实际花了多长时间?(17:04)
- 如果时间更充足,你会怎样继续优化,并怎样和 AI 交互?(17:19)
- 没有产品同学可以确认需求时,遇到模糊信息怎么办?(17:53)
- 两个条款名称很相似,怎样确认它们是不是同一个条款?能否直接制定一个判断逻辑?(18:25—18:39)
- 如果产品同学也是新人,也不知道正确答案,怎么办?(19:00)
- 最终报告怎样区分确定的关系和疑似关系?置信度应怎样处理?(19:22)
- 如果给你两天时间,最应该优先优化哪些模块?(20:10)
- 是否需要引入大模型?哪些部分交给模型,哪些部分交给代码规则?(21:02)
- 判断一个任务适合模型还是规则,有什么通用标准?(23:04)
D. 质量评估与 AI 辅助迭代
- 怎样判断最终报告的质量,确认输出的关系是否正确?(24:02—24:11)
- 将报告与人工标准答案比较后,发现差异应如何迭代?(24:39)
- 差异一定要人工逐个分析吗?这个过程怎样利用 AI?(25:45)
- 让 AI 分析差异、辅助修复,需要提供哪些信息?(26:25)
- 只知道正确答案,不知道最佳实现策略时,怎样让 AI 帮忙?(26:51—26:57)
- 告诉 AI 自己设想的实现策略,还是提供输入和正确输出让它推导,哪种更好?(27:30)
- 是否实践过把测试用例交给 AI,让它验证、发现偏差并自行迭代?(28:07)
E. 长文档与上下文工程
- 合同变成一两百页,超过 Agent 上下文窗口时怎么办?(29:35)
- 文档具体怎样切分?如何处理切分边界和块大小?(30:13)
- 文档切分以后,怎样得到最终答案?(31:16)
- 不同子 Agent 分别处理文档块之后,怎样汇总结果?(32:17)
- 汇总后的结果又超出上下文怎么办?如何让 300 页合同的处理链路真正跑通?(32:58—33:41)
- 压缩或丢弃信息时,怎样判断哪些信息无效?(33:56)
- 渐进式披露在这个合同场景中具体怎样落地?(35:32)
F. 幻觉与事实约束
- 如果业务强约束 AI 不能基于虚构信息得出关系和结论,工程上怎样设计?(37:59—38:51)
- 用另一个 Agent 评估结果,但评估 Agent 本身也有幻觉,怎么办?(40:47—40:57)
- 判断结论是否基于事实,一定要经过 AI 吗?怎样把非 AI 校验纳入工程链路?(42:01)
G. 求职经历、学习方法与工具选型
- 为什么没有继续在原团队实习并转正?(44:29)
- 实习期间怎样学习 AI?从哪里获取信息?(44:55)
- 信息很多时优先关注什么?关注之后有什么实践动作?(45:50)
- 学到的新知识有没有用到实习开发中?(46:35)
- 除了辅助开发,AI 有没有用到国际支付风控的业务场景中?(46:52)
- 怎样理解 CLI 和 MCP Tool,它们有什么区别?(47:31)
- 什么场景使用 MCP,什么场景使用 CLI,什么场景需要 Skill?(48:39,按对话推断包含 Skill)
- 同一项能力支持多种接入方式时怎样选择?自己的业务能力如何开放给 Agent?(50:34)
- 如果重点追求性能和低延迟,CLI、MCP、Skill 应怎样选型和设计?(51:51)
H. 反问与面试反馈
- 本轮没有算法题吗?(53:06,候选人反问)
- 上一轮做了什么算法题?平时是否比较擅长算法题?(53:12—53:21)
- 对这场面试或后续学习有什么建议?(53:24,候选人反问)
- 你自己对这场面试有什么感受?(53:43)
- 怎样理解新概念的核心差异、出现原因、解决的问题及带来的新问题?(54:17—55:17,面试官反馈中的引导问题)
三面:
A. 开场与实习经历
- 请做一下自我介绍。
- 你在实习团队拿到转正 Offer 了吗?为什么没有转正?
- 介绍一件实习期间能体现个人技术成长和能力的事情。
B. 实习产出A
- - 24. 字节实习产出A拷打
C. 实习产出B
- - 9. 字节实习产出B拷打
D. 实习产出C
- - 9. 字节实习产出C拷打
E. 舆情分析 Agent 项目
- 可以现场演示一下舆情分析 Agent 产品吗?
- 这个项目是否已经上线并被真实用户使用?
- 没有上线的话,本地直接运行这个项目吧。
- 项目的目录结构是什么,为什么这样设计?
- 你认为项目中最关键的代码和技术方案是什么?
- 为什么自己实现这套流程,而不是直接使用成熟的开源 Agent 框架?
- 为什么要持久化任务、工具调用和执行过程数据?
F. 算法题
- 实现「最短无序连续子数组」。给定一个无序的数组,找到最短的连续覆盖区间,对区间内的元素递增排序,使得数组整体递增。(当时没多想,sort一下就完事了,面试官也没看具体代码的思路,看我样例过了就OK)
G. 候选人反问与反馈
- 商品 AI 主要服务哪一类用户?
- 商品 AI 想解决什么问题、达到什么业务效果?面试官对本场有什么建议?
希望面经能对大家的秋招有所帮助,也愿节后的面试能顺利一些,别再被横向了,能收到更多的面试[赞]
本篇目录
当前问题0197
- 01
请做一个简单的自我介绍。
- 02
你第一段实习在哪里,所在团队和主要工作是什么?
- 03
你在字节实习为什么没有转正?什么时候知道没有转正 HC?
- 04
这次求职主要倾向什么方向?
- 05
你平时主要使用 AI 工具,还是也学习大模型和 Agent 的基础知识?
- 06
舆情分析 Agent 是学校项目还是个人兴趣项目?项目定位是什么?
- 07
MySQL 索引通常是什么结构?InnoDB 中应怎样设计索引?
- 08
为什么数据库索引常用 B+ 树,而不是二叉搜索树、红黑树或 B 树?
- 09
B+ 树与平衡二叉搜索树的查找复杂度有什么区别?
- 10
联合索引为什么通常先放等值过滤列?什么是最左前缀原则?
- 11
查询要返回 `id` 和 `amount` 时,哪些列应放进联合索引?怎样权衡覆盖索引与索引体积?
- 12
InnoDB 的主键索引和非主键索引有什么区别?
- 13
查询包含 `ORDER BY created_at` 时,联合索引应怎样设计?一定要写 `DESC` 吗?
- 14
建立两个独立索引后,底层是一棵 B+ 树还是两棵 B+ 树?
- 15
两个独立索引怎样参与查询?为什么它们通常不能同时高效完成过滤和排序?
- 16
对于“按订单和状态过滤、按创建时间取最新若干条”的查询,最终联合索引和查询过程是什么?
- 17
使用 `LIMIT offset, size` 扫描百万或上亿行数据有什么性能问题?
- 18
怎样使用游标分页优化深分页?游标为什么要包含唯一键?
- 19
如果一个订单有一亿条子订单,需要逐批调用 RPC 并更新状态,怎样设计可靠的离线处理任务?
- 20
Redis 有没有类似数据库二级索引的能力?
- 21
Redis 和 MySQL 各有什么优缺点?什么场景分别选择它们?
- 22
MVCC 是做什么的?它怎样服务于事务隔离?
- 23
Redis 有事务吗?它与 MySQL 事务有什么区别?
- 24
Redis 命令大体串行执行,为什么业务上仍然会出现并发问题?
- 25
Redis 6 引入 I/O 多线程后,是否变成多个线程并发修改同一个 Key?
- 26
请举一个 Redis 多步骤操作并发不安全的具体例子。
- 27
为什么不能先 `GET` 判断锁不存在,再执行 `SET`?`SET NX` 解决了什么问题?
- 28
一个基本正确的 Redis 分布式锁应怎样获取?
- 29
已经使用 `SET NX`,为什么释放锁还需要 Lua?为什么不能直接 `DEL`?
- 30
如果业务没有执行完锁就过期了,怎样处理?
- 31
Pipeline 和 Lua 分别解决什么问题?Pipeline 中的一批命令是原子的吗?
- 32
Redis 内存达到上限时有哪些淘汰策略?
- 33
除了 LRU,还了解哪些缓存替换算法?
- 34
LRU 的核心原理和数据结构是什么?`get`、`put` 的复杂度是多少?
- 35
请使用你熟悉的语言实现支持构造、`get` 和 `put` 的 LRU Cache。
- 36
该抖音电商团队主要负责什么业务?
- 37
请简单做一下自我介绍。(00:29)
- 38
展示一下完成合同审核题的过程,你是怎样使用 AI 开发的?(08:39—09:05)
- 39
你对 AI 生成的技术方案提了哪些修改?具体说一两个点。(10:02—10:16)
- 40
AI 给出的技术方案很长,人应该怎样 Review、抓重点和做取舍?(10:50—12:11)
- 41
除了主要流程,Review 和开发时还关注哪些点?(13:00)
- 42
当前实现处于什么阶段?不接模型的 baseline 能做什么?(13:24)
- 43
报告前面提示了一些歧义和问题,你怎样看待这些问题?(14:32)
- 44
输入有歧义时,下面输出的关系是怎么得出的?有歧义就不建立关系吗?(15:19)
- 45
原始信息不完整、不确定时,所谓“默认结果”应如何处理?结论会不会也有问题?(16:08—16:25)
- 46
开发时是否给 AI 明确说明过这些边界情况?是否确认过它的处理逻辑?(16:34)
- 47
这道 AI Coding 题实际花了多长时间?(17:04)
- 48
如果时间更充足,你会怎样继续优化,并怎样和 AI 交互?(17:19)
- 49
没有产品同学可以确认需求时,遇到模糊信息怎么办?(17:53)
- 50
两个条款名称很相似,怎样确认它们是不是同一个条款?能否直接制定一个判断逻辑?(18:25—18:39)
- 51
如果产品同学也是新人,也不知道正确答案,怎么办?(19:00)
- 52
最终报告怎样区分确定的关系和疑似关系?置信度应怎样处理?(19:22)
- 53
如果给你两天时间,最应该优先优化哪些模块?(20:10)
- 54
是否需要引入大模型?哪些部分交给模型,哪些部分交给代码规则?(21:02)
- 55
判断一个任务适合模型还是规则,有什么通用标准?(23:04)
- 56
怎样判断最终报告的质量,确认输出的关系是否正确?(24:02—24:11)
- 57
将报告与人工标准答案比较后,发现差异应如何迭代?(24:39)
- 58
差异一定要人工逐个分析吗?这个过程怎样利用 AI?(25:45)
- 59
让 AI 分析差异、辅助修复,需要提供哪些信息?(26:25)
- 60
只知道正确答案,不知道最佳实现策略时,怎样让 AI 帮忙?(26:51—26:57)
- 61
告诉 AI 自己设想的实现策略,还是提供输入和正确输出让它推导,哪种更好?(27:30)
- 62
是否实践过把测试用例交给 AI,让它验证、发现偏差并自行迭代?(28:07)
- 63
合同变成一两百页,超过 Agent 上下文窗口时怎么办?(29:35)
- 64
文档具体怎样切分?如何处理切分边界和块大小?(30:13)
- 65
文档切分以后,怎样得到最终答案?(31:16)
- 66
不同子 Agent 分别处理文档块之后,怎样汇总结果?(32:17)
- 67
汇总后的结果又超出上下文怎么办?如何让 300 页合同的处理链路真正跑通?(32:58—33:41)
- 68
压缩或丢弃信息时,怎样判断哪些信息无效?(33:56)
- 69
渐进式披露在这个合同场景中具体怎样落地?(35:32)
- 70
如果业务强约束 AI 不能基于虚构信息得出关系和结论,工程上怎样设计?(37:59—38:51)
- 71
用另一个 Agent 评估结果,但评估 Agent 本身也有幻觉,怎么办?(40:47—40:57)
- 72
判断结论是否基于事实,一定要经过 AI 吗?怎样把非 AI 校验纳入工程链路?(42:01)
- 73
为什么没有继续在原团队实习并转正?(44:29)
- 74
实习期间怎样学习 AI?从哪里获取信息?(44:55)
- 75
信息很多时优先关注什么?关注之后有什么实践动作?(45:50)
- 76
学到的新知识有没有用到实习开发中?(46:35)
- 77
除了辅助开发,AI 有没有用到国际支付风控的业务场景中?(46:52)
- 78
怎样理解 CLI 和 MCP Tool,它们有什么区别?(47:31)
- 79
什么场景使用 MCP,什么场景使用 CLI,什么场景需要 Skill?(48:39,按对话推断包含 Skill)
- 80
同一项能力支持多种接入方式时怎样选择?自己的业务能力如何开放给 Agent?(50:34)
- 81
如果重点追求性能和低延迟,CLI、MCP、Skill 应怎样选型和设计?(51:51)
- 82
上一轮做了什么算法题?平时是否比较擅长算法题?(53:12—53:21)
- 83
对这场面试或后续学习有什么建议?(53:24,候选人反问)
- 84
你自己对这场面试有什么感受?(53:43)
- 85
请做一下自我介绍。
- 86
你在实习团队拿到转正 Offer 了吗?为什么没有转正?
- 87
介绍一件实习期间能体现个人技术成长和能力的事情。
- 88
可以现场演示一下舆情分析 Agent 产品吗?
- 89
这个项目是否已经上线并被真实用户使用?
- 90
没有上线的话,本地直接运行这个项目吧。
- 91
项目的目录结构是什么,为什么这样设计?
- 92
你认为项目中最关键的代码和技术方案是什么?
- 93
为什么自己实现这套流程,而不是直接使用成熟的开源 Agent 框架?
- 94
为什么要持久化任务、工具调用和执行过程数据?
- 95
实现「最短无序连续子数组」。给定一个无序的数组,找到最短的连续覆盖区间,对区间内的元素递增排序,使得数组整体递增。(当时没多想,sort一下就完事了,面试官也没看具体代码的思路,看我样例过了就OK)
- 96
商品 AI 主要服务哪一类用户?
- 97
商品 AI 想解决什么问题、达到什么业务效果?面试官对本场有什么建议?
