字节 AI Agent 开发(质量方向)一面:LLM Judge 与手撕接雨水
- 轮次
- 一面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
- 自我介绍,包含本科绩点排名与学业情况。
- 实习做了什么内容?
- LLM Judge 过程中的数据从哪来?
- Judge 的输入是什么?
- 为什么选这批数据作为测试集?能不能覆盖所有场景?
- 实习最大的收获是什么?
- 实习碰到了什么困难?
- 本科学了哪些专业课?
- 讲讲栈和队列,它们的区别和应用场景。
- 如何用两个栈模拟队列?
- 进队、出队的时间复杂度是多少?
- 树的遍历方式有哪些?
- 什么是二叉树、平衡二叉树、完全二叉树、排序二叉树?
- 知道哪两个遍历序列能还原一棵二叉树?
- 有没有接触过分布式?
- 索引是什么,有什么作用?
- 哪些情况适合引入索引,哪些情况不合适?
- 手撕:接雨水。
- 反问:当前组内业务是什么?哪些地方引入了 Agent?JD 里说的测试工作体现在哪?
《参考解析》
LLM Judge:测试集怎么选、输入怎么给、可信度怎么保证
质量方向的实习追问其实在考「你会不会做评测」。把 LLM Judge 的链路拆成四段来答:数据来源(线上真实请求抽样、人工构造的难例、历史 badcase 回流)、输入构造(原始问题、待评回答、必要时带上参考答案或评分细则,多轮场景还要带对话历史)、评分方式(让评审模型按维度打分或做两两比较,输出结构化结果与理由)、以及校准(先人工标注一批,与模型判定算一致率,一致率不够就改提示词、改评分细则或换模型)。「为什么选这批数据、能不能覆盖所有场景」是这题的关键:覆盖面要按维度说——业务场景、难度分层、长度分布、语种、边界与越权样本,采样上难例全采、正常样本按比例抽;同时要主动承认盲区,比如新上线能力没有历史样本、长尾只能靠构造。还会被追问评审模型自身的偏差:同族模型评自己的输出会偏高、位置偏差(偏好先出现的答案)、长度偏差(偏好更长的回答)。对策是成对评估时交换顺序、控制长度、用不同厂商的模型交叉评审,并始终保留人工抽检这条底线。
栈、队列与二叉树:基本功要答得干净
两个栈模拟队列有两种解法:一是入队全压 in 栈,出队时若 out 栈空就把 in 全部倒入 out 再弹出,均摊 O(1)(每个元素最多被搬两次),单次最坏 O(n);二是入队时倒腾,代价更大,一般不推荐。要主动补一句均摊分析,这是这题真正的考点;另外别忘了空栈判断和线程安全。栈与队列的应用场景按「后进先出对先进先出」举例:栈用于函数调用、表达式求值、括号匹配、撤销栈、深度优先;队列用于任务调度、生产者消费者缓冲、广度优先、消息排队。二叉树那几问答的是定义边界:二叉树每个节点最多两个子节点;完全二叉树除最后一层外都填满、且最后一层节点靠左连续;满二叉树每一层都满;平衡二叉树指任一节点左右子树高度差不超过 1(AVL),或以某种平衡策略保证树高为 O(log n);排序二叉树即二叉搜索树,中序遍历有序。还原问题记住两组:前序加中序、后序加中序可以唯一确定,前序加后序不行——无法区分只有一个子节点时的左右关系。被追问时讲清为什么:中序序列提供了左右子树的分界信息。
接雨水:先把不变量讲清楚再写
这题的解法层次分明,按当场能想起来的方向组织。按列算是基础:某一列能接的水等于「左边最高与右边最高取小,再减去当前高度」(负数取 0),预处理左右最高数组后 O(n) 时间、O(n) 空间。双指针把空间降到 O(1):维护左右指针与两侧已见的最高值,每次移动较低的一侧并结算该侧,因为较低那侧的对侧最高必然不小于本侧已见最高,取小可以直接用本侧最高。单调栈是另一种视角,按行结算,遇到比栈顶高的柱子就弹栈计算凹槽宽度与高度。面试里写不完往往不是不会,而是边界没想清楚:空数组、长度小于 2、全等高度、递增或递减序列都应返回 0。答题时先讲思路与不变量(哪一侧的积水可以立刻确定),再写代码,最后拿一个例子跑一遍;时间不够就先写按列的双数组版本,能跑通比空手强。
索引的使用场景:基础题要答出取舍
「索引是什么、哪些情况适合或不适合引入」靠取舍拿分。适合的是区分度高的列(唯一键、手机号、订单号)、高频出现在 where、join、order by 的列、联合查询里按最左前缀排列的组合列,以及能构成覆盖索引的场景。不适合的是区分度极低的列(性别、状态位,优化器可能直接全表扫)、频繁更新的列(每次写都要维护索引,写放大)、数据量很小的表,以及长文本列(用前缀索引或全文检索代替)。还要顺口带上代价与验证方式:用 EXPLAIN 看是否真的走索引、用慢查询日志与执行时间对比优化前后。质量方向的岗位问这些,通常是想确认你能看懂线上问题、能和研发对齐复现路径,而不是要你成为 DBA——把「怎么观测、怎么判定有效」讲出来,比背索引定义更加分。
实习经历与反问:把「做了什么」变成「怎么衡量」
质量方向的实习讲述要围绕闭环:发现了什么问题 → 用什么数据或工具定位 → 改了哪一环 → 指标怎么变。这一场的追问顺序很典型:做了什么、数据从哪来、输入是什么、覆盖度如何、最大的收获、最大的困难,每一问都尽量落数字或具体动作,比如覆盖了多少条样本、某个维度的一致率从多少提到多少、一次线上问题怎么复现并沉淀成回归用例。反问环节可以借用这几个方向:组内业务在做什么、哪些环节真的引入了 Agent、JD 里写的测试工作具体体现在哪——这类问题问的是岗位真实内容,比问福利成长更快建立专业印象。