Vibe Coding一小时练习项目:咖喱风格的AI面试复盘广场
AI面试复盘广场:一场面试复盘的技术实践
面试复盘也能交给 AI?从 MP3 到 Markdown,不止是转写,更是一份结构化“面试答卷”。
写在前面
从去年开始,我一直在高强度准备大厂的后端面试。算法、系统设计、英语口语……每一个模块都像是在和知识做一场精疲力竭的拉锯战。最让我头疼的事情,不是代码写不出来,而是面完之后怎么复盘。
每次模拟面试,明明花了半小时自问自答,回头再看,要么忘了自己说了啥,要么根本不知道面试官听了之后会是什么感受。“这题答得不错”“这题有点垮”——这种模糊的判断对提升毫无帮助。真正的复盘需求很简单:
- 我到底说了什么?
- 这样说,技术面试官会怎么评价?
- 如果重新来一次,该怎么答才更好?
市面上教人面试的工具不少,但没一个能真正回答这三个问题。于是我开始折腾一个工具——AI Fullstack Interview Coach,让 AI 在面试结束后自动转写录音、复盘每个问题的回答质量,把模糊的“感觉”变成一份结构化的 Markdown 复盘报告。面试面完,复盘也写好了。
这篇文章就来聊聊这个项目的设计思路、技术栈,以及目前 demo 阶段的产出。
1. 项目定位:不只记“我说了什么”,还告诉你“应该怎么说”
市面上自动生成会议纪要和面试记录的工具并不少,但大多停留在转录这一步——把你说的每一句话转成纯文本,然后丢给你一坨巨大的文字。自己梳理?逐句推敲?面试官到底在想什么?
我问自己:能不能做一个更像“私人面试教练”的产品?
- 不只转录,还要分析:告诉你在每一道题上的表现
- 不只分析,还要教:给出“面试官希望的回答”
- 不只教,还要迭代:不满意可以重新生成,反复打磨
这就是 AI Fullstack Interview Coach 的定位。它通过一条自动化流完成:
MP3 面试录音 → ASR 语音转写 → AI 智能复盘 → 输出结构化 Markdown 报告
2. MVP 功能:一个“私人面试教练”的四步闭环
根据 MVP 的功能拆解,核心能力分成了四个模块。但在展开之前,先看看这个项目的完整面貌——下面是我目前已完成的第一版产品首页截图,所有核心功能都可以从这里进入:

① 项目首页:LeetCode 算法分析、系统设计草稿、AI 英文面试题生成,以及面试录音复盘四大模块一目了然。
接下来我会依次串起每个能力模块。
2.1 LeetCode 风格分析:背答案不如会讲题
算法面试最大的坑,就是“只知道自己写的是对的,说不清为什么是对的”。这个模块做的事情很简单:提供一个题目名称,AI 自动帮你输出一份完整的讲解稿。
- 题目信息:可以只输题目名,也可以补充描述和约束条件
- AI 解读:生成分步骤的解题思路 + 手动测试推演
- 复杂度分析:自动给出时间和空间复杂度,标注注意边界
- 一键导出:直接下载
.md文件,方便放进自己的复习库
下面是我用“三数之和”这道题测试时,AI 生成的详细分析,可以看到它不只是给答案,而是真的在“讲”:

② LeetCode 分析页:AI 自动生成分步解题思路、手动测试推演和复杂度分析,支持 Markdown 一键下载。
2.2 系统设计草稿:画架构也要记录
系统设计面试中,“手绘架构图 + 口头解释”是标准动作。这个模块支持在画布上添加节点和连线,保存设计元数据到 MySQL。最实用的功能是双击节点改名、右键菜单、Delete 键删除等交互——面试时可以一边画一边保留可复用的版本。

③ 系统设计草稿页:支持节点拖拽、重命名、连线删除等交互,设计元数据持久化保存,面试练习后不丢失。
这两个模块是日常练习的“辅料”,但回到今天的主角——面试复盘——能力要再深一层。
2.3 面试录音:从 MP3 到结构化复盘报告
面试复盘功能是 MVP 的核心产出,也是让我最投入的部分。整个流程分为五步:
- 上传 MP3 录音(通过首页的 MP3 上传组件,最大 30MB)
- 后端 ASR 语音转写:系统先将音频发送给 Whisper 或 StepFun(Challenger),返回口语化的纯文本
- AI 基于提示词智能分析:大模型在收到转录文本后,不是简单摘要,而是严格按照一套提示词模板进行逐段拆解
- 生成结构化复盘报告(Markdown) :
- 问与答(按问答条目分开)
- 每条附带“面试官希望的回答”
- 面试总结
- 面试者答题明显错误
- 前端预览 + .md 导出
下面是一个完整示例——我在用“数据库索引的工作原理”这个问题训练英语面试时,AI 生成的结构化报告:

④ 面试题库页:AI 按技术领域生成英文面试题、参考答案及答案深度分析,支持收藏和搜索速查。
拿到这样一份报告之后,复盘就不是对着自己“模糊的感觉”猜了,而是每一问都有明确的技术打分参照。
2.4 提示词设计:给 AI 一份“面试复盘指南”
上面模块的实现质量,最核心的决定因素不是代码写得多炫酷,而是提示词的质量。
我设计提示词时对标的目标很清晰:要做一份面试官视角的评判标准——不只是“说了什么”,而是“该说的说全了吗?框架对吗?扣分点在哪?”所以提示词里有三层逻辑:
- 结构化输出格式:强制要求返回 JSON(
response_format: json_object),字段包括qaPairs(问答对,每个 Q 都要有 Question、Answer、InterviewerExpectedAnswer)、summary、obviousMistakes。 - 面试官评判规则:不只看答案对不对,还要求 AI 指出逻辑漏洞、知识盲区、表达不清等明显错误。
- 禁止 AI Slop:避免千篇一律的“回答得不错,继续加油”这种泛泛之词;每一个建议都要有具体的技术理由。
这套提示词设计直接嵌在后端的 InterviewRecordingReportService 里。前端拿到 JSON 之后,再拼接成可阅读的 Markdown 报告。
3. 技术栈一览:Spring Boot 3 + Vue 3 + DeepSeek Chat API
整个项目命名为 ai-coding-analysis,采用前后端分离架构,刚好覆盖完整的全栈技能集。项目结构很清爽:
▼text复制代码ai-coding-analysis/ ├── frontend/ # Vue 3 + Vite + TypeScript + Pinia └── backend/ # Spring Boot 3.3 + Java 21
后端核心
后端是整个流水线的编排者,负责:
- 接收 MP3 文件上传(
multipart/form-data,校验后缀和 30MB 上限) - 调用 ASR 服务进行语音转写(当前支持 Whisper 和 StepFun(Challenger),通过配置环境变量
ASR_DEFAULT_PROVIDER一键切换) - 将转写文本发给 DeepSeek Chat API,强制要求
response_format: json_object - 基于返回的 JSON 拼成 Markdown 报告,再返回前端或提供下载链接
关键配置完全基于环境变量——在 .env.local 里填入 DEEPSEEK_API_KEY、MySQL 连接信息以及 ASR 相关密钥,就能在不同环境中切换模型和 ASR 服务商。
▼yaml复制代码# backend/.env.local 示例 DEEPSEEK_API_KEY=your-api-key MYSQL_URL=jdbc:mysql://localhost:3306/ai_coding_analysis ASR_DEFAULT_PROVIDER=whisper
前端交互
前端基于 Vite + Vue 3 + TypeScript,代码组织得很整洁:
api/client.ts:封装 Axios 调用/api/v1/*接口(含 MP3 的 multipart 上传)router/:路由表,对应首页、LeetCode、系统设计、面试题和收藏五个入口stores/:Pinia 管理全局应用状态(如 appId 作为字符串传递,避免大整数精度问题)views/:各功能模块的视图组件
目前是一个功能紧凑的单页面系统。上传 MP3 后等待 AI 生成报告,Markdown 会直接渲染在下方。不满意?一键重新生成——代码里特意开放重新调用 API 的能力,让用户可以“迭代”复盘。
4. 一个有趣的彩蛋:面试题收藏 + 速查表
除了复盘和算法练习,AI 英文面试题生成也是刚需。通过选择技术领域(数据库、后端等)+ 难度级别 + 语种,就可以生成一份题目列表,支持:
- 收藏:对有用的题目加星标,存到“收藏”模块
- 速查表:把多道题合并导出,生成一份考前闪电战复习文档
- 自动填充提示词:每次 Search 都是通过调用
/api/v1/interview-questions/search和 LLM 实时生成的新题,不会重复到同样的老题目
这不仅提升了题库的丰富度,也是 AI 在面试场景下的另一种实用落地方式。
5. 从 Demo 到完整作品:下一步计划
目前 MVP 跑通了整条链路:
- 前端 MP3 上传
- 后端语音转写
- AI 智能复盘
- Markdown 报告生成和预览下载
离最终的理想形态还有几步需要完善,但这已经是完整的可用状态:
- 实时录音 + 分析:目前依赖用户手动上传 MP3;下一步希望在前端直接集成麦克风录音,点“结束”后自动走完复盘流程,实现“面完即复盘”
- 多模型对比:已经预留了
ASR_DEFAULT_PROVIDER配置;未来可以在 UI 上提供一个对比按钮,同时调用 Whisper 和 StepFun(Challenger),用 WER(词错误率)量化评估准确率,方便优化 - 历史报告管理与搜索:目前已入库 MySQL 的
interview_recording_report表;后面会增加列表页,支持按时间搜索和全文检索 - 面试题知识点标签化:将每一道面试题拆出关联的技术标签(如“数据库索引”“分布式事务”),便于针对性复习
整个项目的原创设计、前后端代码和提示词方案全部在 GitHub 上开源,作为一个完整的独立作品。
Github 链接:https://github.com/XsuperTitan/ai-leetcode-analysis
结语
此项目是我这半个月Vibe Coding练习的又一作品,大概只用了一小时就落好了这个项目的架子和基本功能。目前功能有限还需完善面试复盘模块相关功能呢,不过只要你是有清晰的面试录音,还是能发挥些作用的。 初衷就是为了自己面试提效复盘突发奇想弄出来的,系统设计的时候也能用一下,基本消灭了“面完了不知道自己到底答得怎么样”的焦虑。你模拟面试,AI用心复盘。把语音转录、大模型分析和程序员熟悉的 Markdown工作流结合起来,确实能给面试练习体验带来一个实实在在的变化。










