Kimi 二面录音复盘:coding 现场崩点与恢复路线¶
一句话结论¶
这场二面确实表现差,但不是“整个人没价值”。面试官开场就说上一位面试官对整体评价不错,只是题目写得不太 ok;结束时也说“能看到你的优势在哪里,但是短板也是很短”。这说明核心问题仍然非常集中:裸手 coding、基础建模、现场调试和 AI coding 责任边界没有过线。
不要把它解释成 Agent 方向失败、项目经历失败或未来实习失败。正确解释是:
面试流程还原¶
1. 开场信号¶
面试官明确说这次是加面,原因是上一位面试官觉得整体还可以,但 coding 题目写得不够好,所以这次先上来写一个比较简单的题。这个信号非常清楚:这不是泛项目面,而是 coding 过线面。
你开场表达了感谢和准备强度,但说得太满、太慌:
- “我以为要挂了”
- “什么都不干一直刷题”
- “白天实习一边摸鱼一边刷题”
- “尽人事听天命”
以后开场只需要说:
2. coding 题:不定长二维数组按列转置¶
题目大意可以还原为:给一个不定长二维数组,把每行的第 0 个元素组成输出的第 0 行,每行的第 1 个元素组成输出的第 1 行,以此类推。核心不是复杂算法,而是 jagged array 的列遍历。
标准低压写法:
def transpose_jagged(nums):
if not nums:
return []
max_len = max(len(row) for row in nums)
ans = []
for col in range(max_len):
level = []
for row in nums:
if col < len(row):
level.append(row[col])
ans.append(level)
return ans
如果题目要求扁平输出,把最后一行换成:
这题的核心句只有一句:
现场真正卡住的不是 Python 高级语法,而是变量语义没有钉住:
i/j没有先定义清楚谁是行、谁是列。- 把普通矩阵转置、排序、哈希表、长度映射混在一起。
level放错循环层级,导致输出形状错。- 对不定长数组缺少
if col < len(row)越界保护。 - 没有先用
[[1,2],[3,4]]或[[1,2,3],[4],[5,6]]手推。
以后遇到二维数组,第一句必须先说:
3. 调试流程暴露的问题¶
面试官多次提醒“一步一调”“打印你正在处理的数据”“先保存文件”。这里暴露的是工程调试基线:
- 文件没保存,导致运行结果和当前代码不一致。
- 打印了辅助变量,却没有打印真正要处理的数据结构。
- 把
sort放在循环里,每次 append 都排序,导致结果越看越乱。 - 看到报错时没有先读报错含义,而是继续改结构。
- 依赖 Codex 给答案,但没有把 Codex 输出转成自己的变量语义。
以后现场调试固定五步:
4. AI coding 展示没有转成优势¶
面试官后来其实给了一个机会:让 Codex 帮忙用 Go 写快速排序并跑起来,想观察你怎么和 AI 协作。这本来是你的强项入口,但你当时的回答又滑回了“我不熟环境”“不知道会装到哪里”“平时 AI 帮我改”。
更好的做法是直接把任务拆给 Codex:
然后自己负责三件事:
AI coding 面试不是证明“AI 能写”,而是证明:
5. 自我叙事伤害了自己¶
这场面试后半段最大的问题不是技术,而是你把短板解释得太自毁。下面这些话以后都不要再说:
- “学校作业也都是 AI 做的”
- “小厂不体面”
- “三天肯定就是拟合题”
- “希望考一道 LeetCode 原题然后默写”
- “如果是大一的我可能都能做出来”
这些话会让面试官把问题从“短期 coding 不稳”升级成“长期学习和工程责任感不稳”。
更安全的表达是:
我过去在项目里更多承担的是需求拆解、AI 协作、代码 review 和功能验收,
所以对裸手写小题的训练不足。这个问题今天暴露得很明显。
但我也知道在 AI coding 场景里,人仍然要负责建模、边界、调试和最终质量,
所以后面我会把训练重点从背题转到基础循环、数据结构和调试流程。
真正的失败层级¶
P0:裸手小题建模不过线¶
不是 Hot100 没刷够,而是普通数组题一旦不是熟悉母题,就不能稳定拆成变量、循环、边界。
训练目标:
P1:Python 基础循环和容器不够自动化¶
你会概念,但写代码时 range(len(...))、二维数组下标、append 层级、sort(key=...)、越界保护没有形成肌肉记忆。
训练目标:
P2:调试流程不够工程化¶
如果看不到报错、保存、打印、样例验证,AI coding 岗也会危险。因为真实工作里 AI 会写错,人的职责就是发现它错在哪里。
训练目标:
P3:面试沟通过度自我否定¶
真实短板可以承认,但不能把自己讲成“不可靠”。要承认问题,同时强调修复路径和已有优势。
固定句:
接下来怎么修¶
今晚¶
不要继续惩罚式刷题。今晚只做三件事:
- 读完这份复盘。
- 手写一遍
transpose_jagged,用两个样例跑过。 - 睡前只记一句:AI coding 也要求人能建模、读错、调试、验收。
未来 7 天¶
每天 60-90 分钟,分成两块:
30 min 基础 coding drill:
数组/字符串/哈希/排序/二维数组/图 BFS/DFS,不追 Hot100 原题。
30-60 min LeetCode Easy/Medium recall:
题名 -> 思路注释 -> 主循环 -> 样例跑通。
新增一个专项:非 LeetCode 小题。题目来源可以非常朴素:
- 不定长二维数组按列输出。
- 按字符串长度排序。
- 统计日志里每个 user 出现次数。
- 合并两个列表并去重。
- 给邻接表做 BFS。
- 读一段文本,按行解析字段。
目的不是刷难题,而是恢复“看到普通需求也能写代码”的能力。
未来 3 周¶
把路线从“押题”改成“coding 基线 + Agent 项目防守”:
P0:基础 coding 小题和 Hot100 Easy/Medium 主模板
P1:AI coding drill,练 prompt、运行、读错、验收
P2:YouNavi / 实习项目按工程责任讲清楚
P3:DB/CA/OOP 期末保底,不再逃避课程底座
如果还有后续沟通¶
不要主动长篇解释失败。如果 HR 或面试官追问,可以用这版:
谢谢老师今天的加面,我也意识到自己这次主要暴露在裸手 coding 和调试流程上。
之前项目里我更多依赖 AI 协作完成需求拆解、review 和验收,但今天这题说明我在基础建模、边界和现场运行验证上还需要补。
不管结果如何,这个反馈对我很明确,我后面会把训练重点从背题转到小题建模、基础数据结构和 AI coding 的质量控制上。
最重要的判断¶
这次不是“方向错了”,而是“方向需要补底盘”。
你仍然适合继续投 Agent / AI coding / AI infra application 相关岗位,但必须把简历上的 AI coding 叙事从“我会用 AI 写代码”升级成:
这是下一轮能不能翻盘的核心。