Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Code2Offer 代码转面试New to Visual Studio Code? Get it now.
Code2Offer 代码转面试

Code2Offer 代码转面试

Dawn of Hope

|
1 install
| (0) | Free
读取你的真实代码仓库,生成带 文件:行号 证据、对抗校验不编造的 100 道面试题与全套背诵材料(项目讲解/亮点防守/缺点改进/选型对比/架构图/自测报告)。由 DeepSeek 驱动,含分层架构图导出。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Code2Offer(代码转面试 · Code → Interview Prep)

CI License Version

👀 免安装先看真实产物:在线 Demo 报告(100 题自测报告,无需安装/无需 Key)

对当前打开的代码仓库一键生成真实面试场景的全套材料,由 DeepSeek 驱动:

产物(默认写入 <仓库>/interview-output/runs/run-NNNN/,每次生成一个独立目录) 内容
01_项目讲解.md STAR 三版本(1/3/10 分钟)、架构走读、技术选型横向对比
02_百问百答.md + index.html 100 题,每题带 文件:行号 代码依据、追问链、对比表;HTML 报告可搜索/隐藏答案自测/掌握度统计
03_亮点与防守.md 04_缺点与改进.md 亮点→追问→第一人称防守脚本;有准备的缺点话术
05_设计决策与选型对比.md 06_速记卡.md 候选方案×维度×客观优劣×适用边界;考前 30 分钟版
架构图.svg + 架构图.drawio 分层架构图(入口→路由→业务模块→数据与配置,按真实文件归属连线),暗色成品级样式并内嵌报告顶部;报告内点击节点查看该模块关联的面试题,.drawio 可在 diagrams.net(免费)继续编辑导出 PPT
index.html 源码点读 题目里的 文件:行号 可点击:右侧词典式抽屉展示该处真实源码摘录(带行号)与关联题目
校验报告.md 对抗校验:每道题的答案要点对照引用处代码原文逐条证伪,标红无依据的主张

与"把仓库丢给大模型问一句"的核心差别:先脚本画像(零幻觉事实层)→ 覆盖矩阵强制出题 → 对抗校验环 → 内容缓存 + 阶段门控(重跑只算变化的部分)。

上手(三步)

1. 配置密钥(任选其一)

  • 推荐:在当前工作区根目录建 .env:

    DEEPSEEK_API_KEY=***
    
  • 系统环境变量:setx DEEPSEEK_API_KEY sk-xxx(Windows)/ 写入 ~/.zshrc(macOS/Linux),设完重启 VSCode。

  • 可选:DEEPSEEK_MODEL(默认 deepseek-chat)、DEEPSEEK_BASE_URL(自建网关)、DEEPSEEK_TIMEOUT_MS(超时,默认 300000)。

  • 模型兼容性诚实声明:提示词与请求路由针对 DeepSeek 家族模型深度调优(严格 JSON 任务自动路由到稳定模型);任何 OpenAI 兼容端点在协议层可用,但输出质量未经跨模型校准——追求 0.9.0 的 S 级质量请使用 DeepSeek。

多根工作区/不想混在项目里:把 .env 放进扩展的全局存储目录也可被读到。 被分析仓库自己根目录的 .env 也会被读取,但优先级最低,且它的 DEEPSEEK_BASE_URL 只有在它自己也提供密钥时才生效(见「安全」)。

支持的语言与工程文件

阶段 0 会识别并归一化多语言仓库:TypeScript/JavaScript、Python、Go、Java/Kotlin、Rust、C/C++/C#、Ruby、PHP、Swift/Objective-C、Dart、Scala、Elixir/Erlang、Clojure、Lua、R/Julia、Haskell、Zig/Nim、Perl、Solidity、SQL、Shell/PowerShell,以及 Vue/Svelte/Astro、GraphQL、Protobuf、Terraform、JSON/YAML/TOML/XML、Dockerfile/Makefile 等文件。不同语言统一进入安全扫描、分块、证据引用和面试题流水线;常见的 pubspec、Gemfile、Mix、Composer、Gradle、Swift Package、.NET 工程文件也会作为依赖线索参与画像。

2. 生成

  • 资源管理器右键任意文件夹 → 「代码转面试:生成面试材料」;或 Ctrl+Shift+P → 同名命令;或点左侧活动栏图标 → 「生成面试材料…」。
  • 会依次询问 运行模式、最大精读文件数、目标题量、输出方式和是否选择 JD(岗位描述)文本文件;题量按模式自适应(经济 20 / 平衡 40 / 深度 60,可自定义 10~100)——质量优先不硬凑,小仓库少出题、每题更聚焦,token 更省;经济模式会明确标注不完整。
  • 输出方式(0.5.2):默认「自动独立目录」——每次生成新建 interview-output/runs/run-0001、run-0002…,前一次与后一次的产物互不覆盖,且增量缓存/断点自动从上一次接续(仓库没变的部分零成本);也可以选「固定 interview-output」(旧模式,都写同一目录)或「自定义目录…」。
  • 之后什么都不用盯着:右下角通知条有「取消」按钮,左侧面板有完整进度时间轴(见下节),输出面板会自动弹出一个本次专属的日志通道(见下节)。
  • 全量生成通常 10–40 分钟(推理模型逐模块精读+百题校验,这是正常节奏;仓库越大越久)。完成后弹「打开报告 / 打开文件夹」。
  • 不小心多点了几次? 同一仓库不会产生第二个任务——弹提示给两个选择:「查看进度」(聚焦面板)或「取消并重新开始」(自动沿用原参数,已花的钱不白花)。不同仓库可放心并行,各任务独立显示、独立取消。

3. 看进度:时间轴面板(0.4.0)

点左侧活动栏图标打开面板,每个任务实时展开为阶段节点时间轴:

⟳ my-backend          4m12s · 阶段:对抗校验 · 节点 3/8        [✕]
  ✓ 1. 仓库画像        用时 2s      · 118 文件 / 14 个精读文件
  ✓ 2. 模块精读        用时 1m38s   · 6 张模块卡
  ✓ 3. 出题(含修复环)  用时 2m11s   · 共 100 题
  ⟳ 4. 对抗校验        进行中 21s
  ○ 5. 标红题重写      等待中
  ⊘ 6. JD 加权         跳过 · 未选择 JD 文件
  ○ 7. 总装输出        等待中
  ○ 8. 完成            等待中
  ▶ 再加一个仓库的生成…
  📖 打开面试报告   📁 打开产物文件夹   ⚙ 配置模型 / 密钥说明
节点图标 含义
⟳(转圈) 该阶段进行中,实时秒表(推理模型单阶段几分钟是常态)
✓ 完成,显示该段用时与结果摘要(如 pass 84 · fix 9 · flag 4 · 未覆盖 3)
💿 门控命中:输入没变化,直接复用上次结果(0 成本,几乎 0 用时)——重跑时你会看到大量这个,说明增量生效
⊘ 跳过(如未选 JD);○ 等待中
✗ / ■ 失败 / 已取消(缓存保留)

操作:

  • ✕(任务条目悬停) = 取消该任务:当前模型请求完成后停止,已完成阶段缓存保留,重跑自动续。
  • 🗑(已结束任务悬停) = 从列表移除记录,并连同本次专属的输出通道一起清掉;「清空已结束的任务记录」一键清场。
  • 面板标题栏 🛑 = 取消全部运行中任务(多仓库并行时)。
  • 鼠标悬停任务条目 = 完整时间轴文本(开始时刻、每节点用时与备注、模型、产物目录、日志通道)。

日志也按次分开(0.5.2):每次生成开始时,输出面板会自动新建并弹出通道 「代码转面试 · 仓库名 · 启动时刻」,本次运行的全部阶段日志都在里面;主通道「代码转面试」仍保留所有运行的完整历史,方便横向对照或深度排查(重试警告、token 成本)。

4. 看报告

  • 完成弹窗直接点「打开报告」;之后可随时 Ctrl+Shift+P → 「代码转面试:打开面试报告」——index.html 在编辑器内打开,搜索/筛选/自测/掌握标记全部可用。
  • HTML 报告支持深浅主题、类别/难度/必考/标红/未覆盖/未掌握组合筛选、搜索高亮、类别掌握率和学习进度 JSON 导出;进度按仓库+题库版本隔离。
  • 输出目录会附带 quality-report.json、质量门禁报告.md、run-manifest.json、claim-ledger.json 和 evidence-graph.json;manifest 同时记录阶段耗时、调用/缓存/降级摘要,完成状态以确定性门禁为准。
  • 「打开产物文件夹」定位最近一次完成的生成目录(自动独立目录模式下即 interview-output/runs/run-NNNN);历史产物原样保留在各自的 run 目录里,随时可回看对比。
  • 标红的题(校验发现代码无法支撑的主张)会列在 校验报告.md,建议人工复核后再背诵——这是特性,保证你面试说的每句话能在自己代码里指出来。

常见问题

现象 处理
提示未找到 DEEPSEEK_API_KEY 按上面第 1 步配置;错误消息里会列出全部可选位置
HTTP 401 密钥无效(401/403/400 立即失败,不会空转重试)
网络请求失败:... fetch failed 关注错误码:ENOTFOUND=DNS/域名、ECONNREFUSED=端口/网关未启动、ETIMEDOUT=网络/代理超时、CERT_HAS_EXPIRED=TLS 证书;同时检查 DEEPSEEK_BASE_URL、代理和防火墙
跑很久没反应 看输出面板通道,推理模型单次请求 2–6 分钟属正常;可随时取消(已花费进度保留);超大仓库建议改用 CLI 的 --max-files 控制精读范围
「该目录已有生成任务在运行」 同一输出目录有运行锁防互相覆盖;确认没有任务后删除 interview-output/.run-lock 即可
想找回之前一次的产物/对比两次结果 自动独立目录模式下每次生成在 interview-output/runs/run-NNNN,历史 run 原样保留;「打开产物文件夹」直达最近一次
输出面板通道太多 每次生成一个专属通道;在侧栏对已结束任务点 🗑(或「清空已结束的任务记录」)即可连同通道一起清掉
题目显示「? 未覆盖」 校验时模型漏答;重跑「生成面试材料」会自动只补验这些题
想换模型 「配置模型」命令,或在设置里填 codeInterviewPrep.model(优先级最高)
推理模型反复提示输出预算不足 新版会将严格 JSON 的精读/出题/校验自动路由到 deepseek-chat,叙述稿仍使用所选推理模型;输出面板会明确记录路由
Windows 终端中文乱码(CLI) chcp 65001

安全与隐私

  • 只有你的 DeepSeek(或自建网关)端点会收到请求;无遥测、无任何第三方上报。完整数据流向与密钥保护措施见 隐私政策;使用条款与费用说明见 服务条款。
  • .env、私钥、凭据类文件有独立拒绝清单 + 内容级密钥扫描,绝不进入模型输入(与仓库 .gitignore 无关)。
  • 100–300KB 文本会先分段扫描高风险密钥;只记录跳过路径和原因,不记录秘密原文。
  • 端点与凭据同源绑定:克隆的恶意仓库不能靠它自己的 .env 把你的密钥引到攻击者地址;DEEPSEEK_BASE_URL 强制 HTTPS(http://localhost 调试网关例外)。
  • 错误与日志中密钥一律打码;扩展不写系统环境变量,不跨仓库串用凭据。
  • 401/403 会提示检查密钥,429/5xx 会退避重试;取消、失败和部分完成不会伪装成成功。

CLI(可选,同一核心库)

扩展只是薄壳;完整的命令行版(含 evaluate 自评、rehearse 交互排练)在同源码仓库: npm install && npm run build && node dist/cli/index.js generate <仓库> --jd jd.txt

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft