字节生活服务 AI 全栈二面:AI 作业、接口幂等与树题
本场面试题
- AI 前置作业需求不完整时,怎样说明设计与验收?
- 接口怎样处理同一业务操作的并发重试?
- 若自选无权树、只求最大数量的教学合同,最大独立集怎样做?
面经与参考答法
字节生活服务 AI 全栈二面:AI 作业、接口幂等与树题
原页发布时间(北京时间):2026-09-08T17:12:16+08:00。面试完整年月日未确认,原文只列月日的地方不补年份。
根据公开候选人自述整理;岗位和面试经历未获外部认证。简答为教学整理,不是作者现场作答。前置作业只给过程概述,不补造完整题面;树题若使用无权树等条件,必须明确是教学自选合同。本稿选录已完成知识核验的重点问题;其他原问保留在私有来源草稿中,不称完整原帖转录。
(1)AI 前置作业需求不完整时,怎样说明设计与验收?
先澄清目标、输入输出、约束与验收标准,把缺失条件列成问题或显式假设,再画最小方案和关键数据流。让AI分步实现,自己检查接口、错误路径和改动范围,用正常、边界、异常用例验证,并解释方案取舍和未验证部分。原帖只有预作业与设计追问描述,不能补成某个具体系统、技术栈或现场评分标准。
(2)接口怎样处理同一业务操作的并发重试?
按租户和操作给同一意图稳定的幂等key,并保存规范化请求指纹。用唯一约束原子取得处理权,在同库事务内提交业务变化与操作账本;重复请求读取进行中状态或语义结果,同key不同参数明确拒绝。保留期覆盖约定重试窗口。外部调用还需下游幂等或查单对账,超时不能直接当未执行。原文没有接口合同,以上是教学方案。
(3)若自选无权树、只求最大数量的教学合同,最大独立集怎样做?
先声明这是教学自选版本:输入为无向无权树,求互不相邻顶点的最大数量。任取根做后序DP:take[v]=1+Σskip[c];skip[v]=Σmax(take[c],skip[c]),c为孩子,叶子两状态为1和0,答案取根两状态最大值。每节点处理一次,时间O(n)、状态空间O(n);深树可用显式栈。现场是否有权、输入格式及是否返回集合都需另问,不能据题名恢复。 树须连通无环;空输入的返回约定与非法图校验要在实现前说明,不能仅跳过父节点就接受一般图。