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 的功能拆解,核心能力分成了四个模块。但在展开之前,先看看这个项目的完整面貌——下面是我目前已完成的第一版产品首页截图,所有核心功能都可以从这里进入:

项目首页.png

① 项目首页:LeetCode 算法分析、系统设计草稿、AI 英文面试题生成,以及面试录音复盘四大模块一目了然。

接下来我会依次串起每个能力模块。

2.1 LeetCode 风格分析:背答案不如会讲题

算法面试最大的坑,就是“只知道自己写的是对的,说不清为什么是对的”。这个模块做的事情很简单:提供一个题目名称,AI 自动帮你输出一份完整的讲解稿。

  • 题目信息:可以只输题目名,也可以补充描述和约束条件
  • AI 解读:生成分步骤的解题思路 + 手动测试推演
  • 复杂度分析:自动给出时间和空间复杂度,标注注意边界
  • 一键导出:直接下载 .md 文件,方便放进自己的复习库

下面是我用“三数之和”这道题测试时,AI 生成的详细分析,可以看到它不只是给答案,而是真的在“讲”:

leetcode问题查询.png

② LeetCode 分析页:AI 自动生成分步解题思路、手动测试推演和复杂度分析,支持 Markdown 一键下载。

2.2 系统设计草稿:画架构也要记录

系统设计面试中,“手绘架构图 + 口头解释”是标准动作。这个模块支持在画布上添加节点和连线,保存设计元数据到 MySQL。最实用的功能是双击节点改名、右键菜单、Delete 键删除等交互——面试时可以一边画一边保留可复用的版本。

系统设计.png

③ 系统设计草稿页:支持节点拖拽、重命名、连线删除等交互,设计元数据持久化保存,面试练习后不丢失。

这两个模块是日常练习的“辅料”,但回到今天的主角——面试复盘——能力要再深一层。

2.3 面试录音:从 MP3 到结构化复盘报告

面试复盘功能是 MVP 的核心产出,也是让我最投入的部分。整个流程分为五步:

  1. 上传 MP3 录音(通过首页的 MP3 上传组件,最大 30MB)
  2. 后端 ASR 语音转写:系统先将音频发送给 Whisper 或 StepFun(Challenger),返回口语化的纯文本
  3. AI 基于提示词智能分析:大模型在收到转录文本后,不是简单摘要,而是严格按照一套提示词模板进行逐段拆解
  4. 生成结构化复盘报告(Markdown) :
    • 问与答(按问答条目分开)
    • 每条附带“面试官希望的回答”
    • 面试总结
    • 面试者答题明显错误
  5. 前端预览 + .md 导出

下面是一个完整示例——我在用“数据库索引的工作原理”这个问题训练英语面试时,AI 生成的结构化报告:

面试问题.png

④ 面试题库页:AI 按技术领域生成英文面试题、参考答案及答案深度分析,支持收藏和搜索速查。

拿到这样一份报告之后,复盘就不是对着自己“模糊的感觉”猜了,而是每一问都有明确的技术打分参照。

2.4 提示词设计:给 AI 一份“面试复盘指南”

上面模块的实现质量,最核心的决定因素不是代码写得多炫酷,而是提示词的质量。

我设计提示词时对标的目标很清晰:要做一份面试官视角的评判标准——不只是“说了什么”,而是“该说的说全了吗?框架对吗?扣分点在哪?”所以提示词里有三层逻辑:

  1. 结构化输出格式:强制要求返回 JSON(response_format: json_object),字段包括 qaPairs(问答对,每个 Q 都要有 Question、Answer、InterviewerExpectedAnswer)、summary、obviousMistakes。
  2. 面试官评判规则:不只看答案对不对,还要求 AI 指出逻辑漏洞、知识盲区、表达不清等明显错误。
  3. 禁止 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

后端核心

后端是整个流水线的编排者,负责:

  1. 接收 MP3 文件上传(multipart/form-data,校验后缀和 30MB 上限)
  2. 调用 ASR 服务进行语音转写(当前支持 Whisper 和 StepFun(Challenger),通过配置环境变量 ASR_DEFAULT_PROVIDER 一键切换)
  3. 将转写文本发给 DeepSeek Chat API,强制要求 response_format: json_object
  4. 基于返回的 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 跑通了整条链路:

  1. 前端 MP3 上传
  2. 后端语音转写
  3. AI 智能复盘
  4. 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工作流结合起来,确实能给面试练习体验带来一个实实在在的变化。

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
耄耋之王园区形态
作者分享
Day 91 ✅ 今天做了: 1. 继续深挖底层原理 --- 回归《AI》作为基石常看常新 2. 挖一些外网的AI热点和资料 --- 重点在Hermes 3. 重新透彻的了解Hermes底层原理 「小步跑,小突破,慢慢集气汇聚成必杀」 ⏰ 下周计划: 1. 上班继续清技术债 2. 之前Hermes代码编排器虽然成了,但只知其然不知其所以然继续深挖 3. LangGraph和飞书卡片结合项目搞完 --- 目前个人最亮点项目 「工作和之前的玩具结合起来,双向奔赴双向赋能」 📚 今日感悟: 8月了重拾学习计划,将目前自身Skills和对AI理解深度继续扩展。时刻保持警惕,持续学习且只抓重点。
3
不知不觉加入编程导航一年了,从原始人到造航母。一年前来的时候是想重拾编程信心,吭哧瘪肚的学项目。现在这时候已经进入AI行业天天Vibe Coding,Crazy我只能说!
3
Day 90 三个多月AI学习终于迎来新篇章,我管这叫大AI时代和大航海一个意思 ✅ 今天做了: 1. 继续深挖底层原理 --- 回归《AI》作为基石常看常新 2. 挖一些外网的AI热点和资料 --- 拓展思维 3. 继续Vibe Coding尝试 --- Loop自动编码器持续优化,和“一键素材成文”开放MCP(未来给公司营销用的,只需投素材再回答几个问题,然后AI炼化多agent配合多端发文) 「小步跑,小突破,慢慢集气汇聚成必杀」 ⏰ 下周计划: 1. 上班继续清技术债 2. 用AI突破5个定向场景和虚拟场景定制AI自动工作流 3. 修之前AI项目的漏洞 4. 继续丰富MCP,SKILL,CLI市场 5. 优化现有的需求场景进一步从能用到好用跨越 「工作和之前的玩具结合起来,双向奔赴双向赋能」 📚 今日感悟: 纪念一下三个月的AI学习,可能是人生中最有意义的三个多月之一。有种工具火耕刀时代跃进到信息时代的感觉,我个人开始大范围用AI也是今年的事,然后就干AI了。话到这里反倒没有太多感慨,只能说AI时代太神奇了,一学一个不吱声就完事了。
2
Day 89 ✅ 今天做了: 1. 继续琢磨更多MCP工具,公司里搭了个超级智能体飞书打通了,剩下的就是优化完善 2. 继续看AI底层原理,这个对智能体的优化太重要了,模式思维LangGraph都能给业务赋能的 3. 研究一些AI服务的优化,尤其是挂Hermes的云主机怎么节省token 4. 补一些之前鱼皮的项目,主要是架构设计更好的指挥AI ⏰ 明天计划: 1. 优化自动LOOP编码器,实测发现了几个空烧token的场景 2. 研究下之前玩具Vibe Coding项目的一些底层亮点 3. 看AI基础知识 📚 今日感悟: 入职快一个月了也搞了很多东西,也搞了一些业务那边的AI自动化需求,总体很满意的。总算能用的上了,下面就是往好用稳定性高上突破。现在公司运维大佬和我一个组,安排的太好了,资源调配吱一声就有了。剩下的就是合理运用现有公司资源,搞一些Agentic AI的尝试,底层我再好好摸摸大模型原理。
4
Day 88 ✅ 今天做了: 1. 旧项目完成 MCP 协议封装,工具调用接口已通,Agent 可调本地能力了 2. KIMI3 上手实测,长上下文压缩确实有东西,推理速度比预期快,99元裆走起 3. Token Plan 实机压测跑完,长文本场景下不同策略的消耗和精度损失有了量化对比,数据到手。 ⏰ 明天计划: 1. 把今天 Token Plan 的测试结果整理成可复用的小工具,纳入 LOOP 编排器。 2. 啃一下 MoE(混合专家)路由逻辑,搞懂 KIMI3 这类模型怎么做条件计算。 3. 用 MCP 搭一个最简单的 Agent 链,把扫码采集 → 本地编排 → 模型推理串起来跑一遍。 📚 今日感悟: 实测才是照妖镜,纸上参数和实机表现经常两码事。MCP 包完那刻才真切感受到——能力必须可被调用,才有资格谈“被 Agent 使用”
3
下载 APP