Skip to content

About

An Obsidian plugin for AI-assisted question selection, interview practice, answer comparison, and real interview notes with iterative reviews and answer versioning. Includes a ready-to-use demo vault. Project deep dives and AI mock interviews are in development.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

面试练习 Interview Practice

一个运行在 Obsidian 桌面端的面试练习插件,帮助你把「练过哪些题、当时怎么回答、后来如何改进」留在自己的笔记库里。

当前版本 0.6.29,提供两个主要功能:

  • 题库练习:使用自己的题库,手动选题、随机抽题,或让 AI 根据练习需求选择问题;保留作答、录音、修订版本和复盘,比较同一题的多次练习。
  • 真实面试记录与复盘:整理面试中的主问题和多轮追问,保存现场回答,之后多次补充分析、更新更好的表达,并保留改进版本。

本地选题、作答和手动复盘不需要 AI 账号。需要时再配置 AI 选题、单题分析或语音转写。项目深挖、AI 模拟面试等功能正在搭建中,不属于本次可用功能。

阅读导航

如何安装

方式一:下载整个模板库,直接体验

适合想先看示例、了解工作流程的用户。

  1. 下载 interview-practice-demo-vault-0.6.29.zip,解压到一个独立目录。
  2. 在 Obsidian 桌面版中选择「打开文件夹作为仓库」,打开解压后的 Interview-Practice-Demo-Vault 文件夹。
  3. 进入 Obsidian 的「设置 → 社区插件」,按提示允许社区插件,并启用 面试练习 Interview Practice。模板库已经附带插件文件。
  4. 打开 开始体验,查看岗位、虚构项目与练习路线。
  5. 按 Ctrl+P(macOS 为 Cmd+P)打开 Obsidian 命令面板,搜索 打开模拟面试,进入「面试工作台」。命令沿用旧名称,当前主要使用「题库练习」和「真实面试记录」。

这里的「命令面板」是 Obsidian 内的功能,无需打开系统终端,也不需要输入 npm 命令。还可以通过插件添加的侧栏图标打开工作台。

模板已保存两套路径配置:

配置 题库来源 记录保存位置 适合做什么
看示例 题库,包含子文件夹 示例记录 打开预置的面试记录,查看演示内容
自己试用(默认) 题库,包含子文件夹 试用记录 保存自己的新练习和面试记录

**建议先体验一条完整路线:**切换到「看示例」,打开一份真实面试记录并查看复盘;然后切回「自己试用」,选一道题完成作答和手动复盘。无需先配置 AI。

方式二:只安装插件,使用自己的 vault

适合已经有个人笔记库,希望保留自己的文件结构的用户。

  1. 下载 interview-practice-0.6.29.zip 并解压,或者取得本次发布的 main.js、manifest.json、styles.css 三个文件。
  2. 打开自己的 vault 文件夹,进入 .obsidian/plugins/。如果没有 plugins,自行创建。
  3. 在其中创建 interview-practice 文件夹,将三个文件直接放进去。最终结构必须是:
你的 vault/
└─ .obsidian/
   └─ plugins/
      └─ interview-practice/
         ├─ main.js
         ├─ manifest.json
         └─ styles.css
  1. 关闭并重新打开 Obsidian,使插件列表重新加载,再到「设置 → 社区插件」启用 面试练习 Interview Practice。
  2. 打开命令面板,运行 打开模拟面试。在插件设置中只开启「题库练习」「真实面试记录」,再设置自己的题库与记录目录。

注意目录名是 plugins,不要放成 .obsidian/plugin/,也不要多套一层 interview-practice/interview-practice/。如果看不到 .obsidian,在系统文件管理器中显示隐藏项目。

**升级已有插件:**保留自己的 data.json 和所有笔记,只替换上述三个文件,再关闭并重新启用插件或重启 Obsidian。不要用模板库的 data.json 覆盖个人配置。每个 vault 都有自己的插件目录,需要分别安装或升级。

当前插件声明仅支持桌面端,最低 Obsidian 版本为 1.5.0。手机端不在本次支持范围;不同系统、最低版本和麦克风行为仍需实际试用验证。

第一次使用,先完成这些设置

本文中的「设置」指插件设置页面。可从面试工作台进入,也可以使用命令面板中的 路径设置、AI 配置 直接打开对应页面。

设置入口 控制的功能 初次使用建议
开启模式 工作台显示哪些功能 只开启题库练习、真实面试记录;关闭待完善模式
路径设置 / 题库来源 从哪个目录读取问题,是否包含子文件夹 指向专门的题库目录,例如 题库
路径设置 / 记录保存位置 新练习和新面试记录保存在哪里 模板使用 试用记录;个人库可使用 面试记录
已保存的路径配置 在不同题库、示例和个人记录目录之间切换 使用「看示例」「自己试用」,或另存自己的配置
真实面试记录 → 记录命名 新面试记录的文件名 默认 {日期}_{公司}_{岗位}_{轮次}
真实面试记录 → 所属类别 记录和复盘时使用的分类选项 按自己的岗位、问题类型调整
题库练习 默认题库范围、子文件夹和题数等 先选 1–2 题,练习时仍可调整
面试与复盘模型 AI 选题、题库单题分析使用的连接和模型 需要 AI 时再配置 GPT / Codex 或 API
录音与语音转写 音频转写所用的服务、模型和密钥 与文字 AI 分开配置;只录音可以不配置转写

修改路径后点击 保存路径设置。保存后会形成可切换的配置;如果想保留原方案,填写新名称并使用 另存为新配置。选中已有配置后可更新或删除。

切换路径只改变读取范围和后续保存位置,不会搬动或重命名已有文件。记录命名模板也只影响新生成的真实面试记录,不会批量改名旧记录。

不要将整个 vault 设为题库来源,否则普通笔记也可能被当成问题。模板的题库位于子文件夹中,需要勾选「包含子文件夹」。

题库练习:从选题到复练

1. 准备和选择题目

进入「题库练习」,确认题库目录、子文件夹和分类范围。每个 Markdown 或可提取文字的 PDF 文件对应一道题:文件名作为题目,正文可放参考答案、思路或资料。

例如:

题库/
├─ 行为面试/
│  └─ 遇到意见分歧时你如何推进合作.md
└─ RAG项目/
   └─ 如何验证检索改动确实有效.md

当前有三种选题方式:

方式 使用方法 是否调用 AI
手动选择 搜索、勾选本次想练的题目,按勾选顺序加入队列 否
随机抽题 设置题数,点击「随机抽取(替换本次选择)」 否
按需求 AI 选题 填写练习需求、设置题数,再点击「按需求 AI 选题(替换本次选择)」 是

2. 让 AI 根据你的需求选题

先完成下文的 AI 配置,再在 我的练习需求 中写清这次要练什么。例如:

我准备 Agent / RAG 开发岗位的技术面,想练习检索评估、技术方案取舍和个人贡献表达。请从已选分类中选择 3 道最相关的问题,优先覆盖我容易只讲流程、讲不清验证方法的部分。

将「本次题数」设为 3,勾选相应分类,点击 按需求 AI 选题(替换本次选择)。插件会展示所选题目及理由,你可以检查、移除或重新手动选择,确认后再点击 开始所选题目练习。

AI 是从现有题库中挑选问题,不会在此步骤生成新题库,也不会自动开始练习。题数是上限,相关题不足时可能少选;单次最多评估 500 道候选题,请用分类缩小范围。AI 和随机选题都会替换当前队列。

选题时发送的是练习需求、候选题名和相对分类路径,不发送参考答案正文。题名和需求也可能包含个人信息,填写前请自行检查。

3. 作答并保存现场表现

开始后按题作答,可以输入文字、保存代码,或录音回答。代码仅作为回答内容保存,不会执行。练习记录耗时,不要求为了倒计时提前结束表达。

录音保存在本地 vault 中。停止录音后确认已保存,再提交本题;也可以仅录音后提交,之后再转写和复盘。不需要每题回答完就调用 AI。

如果题目需要调整,可在尚未提交时使用「修改当前题目」。这只调整本次练习,保留旧草稿记录,不修改源题库文件;修改题目后不再沿用原题参考正文。

4. 校对回答,保留不同表达版本

提交后展开题目,需要时先转写录音,再进入 校对 / 修订分析回答。检查识别错误,或整理一版更清楚的表达,点击 保存分析回答版本。

现场原答和事后修订会分别保留。你可以先存一份忠实校对版,再保存后续表达改进版;这些操作本身不调用 AI。

如果只录了音,先得到并确认文字版本,才能让 AI 分析回答内容。GPT 登录不会自动把音频转成文字。

5. 手动复盘,或按需使用 AI 分析

点击 手动分析 / 复盘,选择要复盘的原答或修订版本,填写本次目标、表现、原因、改进表达和下次自测条件,并记录是否看过参考答案或使用过提示。点击 保存手动复盘,后续还可以继续补充。

配置 AI 后,可以选中已确认的回答版本,决定是否附带题目参考正文,再点击 AI 分析所选版本(使用 Codex) 或 AI 分析所选版本(调用 API)。结果可用于检查表达问题、阅读改写建议和准备下次自测。

AI 分析发送当前题目、所选文字版本,以及你勾选的参考正文;不会在这一步直接发送录音。建议需要自行核实,尤其是项目细节和数据。AI 改写不会成为你的现场原答,也不代表官方面试评价。

6. 重新练同一题,比较两次表现

下一次从同一题库文件重新开始练习并提交,才是一条新的练习记录。事后修订答案、保存多次复盘都不会增加练习次数。

通过 查看题库问题的历次记录 打开题目历史,在 同题历次记录 / 两次对比 中选择两次练习,再分别选择原答或修订版本。可以回看文字、录音与复盘,填写自己的对比判断,并通过 保存对比笔记为 Markdown 留下结论。

例如:第一次只讲「用了混合检索」,第二次能说明「为什么改、怎样构造评估集、观察了哪些失败样例、还有什么限制」。判断进步时优先比较两次独立作答,事后润色的长度不等于现场能力提升。

模板已附带「如何验证检索改动确实有效」的两次虚构练习,可直接体验对比。只有一次实际练习时,可以看版本,但不能形成两次练习的比较。

真实面试记录:从现场原答到多次复盘

这部分适合面试后还原过程,也可以在合适的场景中逐步记录。当前复盘以手动分析和表达更新为主,此入口不会自动调用 AI。

1. 创建一份面试记录

进入「真实面试记录」,填写公司、岗位、轮次、日期,并选择现场记录或事后回忆。也可以先选择 岗位文档:插件从所选 Markdown 或文本型 PDF 中尝试读取岗位信息,缺失部分可以手动补齐,不会修改原始 JD。

按主问题整理内容:

  1. 填写主问题和第一轮问答,尽可能保留当时说过的话。
  2. 同一个问题被继续追问时,点击 添加一轮问答,将追问和当时回答放在同一组中。
  3. 进入另一个话题时,点击 添加下一个问题。
  4. 需要时补充类别、估计耗时、追问深度、双方反应,并关联相关题库题目。面试官兴趣等字段是自己的观察,不能视为对方的真实评分。
  5. 已有音频时,可添加 vault 内的音频链接。此表单只关联文件,不自动复制、转写或分析音频。

点击 生成 Markdown 后,记录保存到当前记录目录下的 真实面试/。默认文件名为 {日期}_{公司}_{岗位}_{轮次}.md;如遇同名文件,需要调整信息,插件不会直接覆盖。

**请先生成一次文件再离开。**尚未生成 Markdown 的新建表单只在当前运行中保留,关闭或重新加载插件后可能丢失。

2. 打开已有记录,按问题复盘

点击 打开已有记录继续复盘,选择记录,再选择要分析的问题。此入口查找的是当前记录保存位置下的 真实面试/。体验模板中的预置记录时,先将路径配置切到「看示例」。

复盘可以分几次完成,不要求面试结束当晚就写出最终答案:

部分 建议填写的内容
问题分析 面试官可能在考什么、为什么继续追问、问题属于什么类型
回答诊断 哪些地方讲清了、哪里卡住、原因是知识不足还是表达缺少结构
改进 更好的回答、改进说明、需要补的知识、需要准备的证据或案例

参考选项支持多选,也可以直接补充自己的判断。不要为了选一个标签而省略具体原因。

3. 多次保存,逐步更新更好的表达

在「更好的回答」中写入新的表达,点击 保存复盘。之后重新打开同一份记录,继续修改和保存。改进表达发生变化时,会归档新的版本并保留之前的表达与时间,可以形成 V2、V3 等后续版本;内容未变时重复保存不会制造一个新答案版本。

例如可以分三次处理一道「为什么采用这个方案」的问题:

  • 第一次复盘:还原现场原答,发现只讲了实现步骤,没有说明选择依据。
  • 第二次复盘:更新改进表达,补上目标、备选方案和取舍逻辑。
  • 第三次复盘:核查实际项目资料后,再补上自己确实做过的验证和限制,形成下一版表达。

改进历史包含「更好的回答、改进说明、需要补的知识、需要准备的证据/案例」,其中任何一项变化都可以形成新的改进版本;只修改问题分析或回答诊断不会新增改进版本。复盘也可以用来发现仍需补证据的地方,不应把未做过的工作写成经历。

现场原答默认保留。只有修正记忆或录入错误时才使用 修正现场记录;后来的理想回答应放入改进部分,便于区分「当时说了什么」和「现在会怎样表达」。

4. 继续积累到自己的练习体系

将反复出现的问题关联到题库。想验证改进后的表达是否真正掌握,可以在题库中重新独立作答,再回看两次练习。

真实面试记录以一份 Markdown 为正文来源,可以在 Obsidian 阅读。若直接编辑文件,请保留题号标题与 HTML 定位注释。插件检测到外部修改时会阻止覆盖;先复制尚未保存的复盘内容,再使用 重新读取 Markdown(放弃未保存复盘),核对后重新填写。

AI 连接与语音设置

两种文字 AI 连接方式

入口:设置 → 面试与复盘模型 → 连接方式。

方式 用途和前提 当前状态
本机 Codex(ChatGPT 登录) 通过本机 Codex 运行时使用适用的 ChatGPT 账户与额度 当前可使用的 GPT 入口;需自行登录,必要时配置代理
API(阿里云 / 硅基流动 / OpenAI 等) 填写兼容接口地址、模型和自己的 API Key 配置入口已保留,实际服务连通性与生成效果暂未确认

这两种方式用于题库中的 AI 选题和单题分析;不配置也能手动选题、作答和复盘。无需开启待完善的完整模拟模式,也无需打开面向新模拟面试的 AI 模式开关,才能使用题库 AI 按钮。

GPT / Codex 的配置顺序

  1. 确认本机有兼容的 Codex 运行时。插件不会随模板分发整个运行时,也不包含账号。已有可用运行时时,「Codex 可执行文件」可留空自动查找;找不到时指定实际可执行文件,例如 Windows 的 codex.exe。
  2. 在连接方式中选择 本机 Codex(ChatGPT 登录)。
  3. 网络需要代理时,在 Codex 代理地址(可选) 填入本机代理软件实际监听的地址,然后点击 保存 Codex 代理。
  4. 点击 使用 ChatGPT 登录,在打开的授权页面中完成自己的账号登录。
  5. 点击 检查登录 / 刷新模型与额度(不生成),选择可用的 Codex 模型 和 推理强度。
  6. 点击 测试生成(消耗 Codex 额度),确认实际生成通过,再回到题库使用 AI 选题或分析。

能查到账号和模型列表,不等于当前网络与账户已能生成。ChatGPT 网页或桌面端可用,也不意味着插件启动的 Codex 进程有同样的网络环境。

代理地址不要填写订阅链接,不要在地址中附带账号密码、额外路径或查询参数。点击保存后,下次连接才会使用新配置;此配置作用于插件启动的 Codex 进程。留空时继承 Obsidian 启动时的环境,不会自动读取每个代理软件的设置,也不会替你配置转写服务。

更详细的步骤和排错见 AI 连接配置。

登录按 vault 隔离

从 0.6.29 起,插件根据当前 vault 的实际目录使用独立 Codex 登录环境:

  • 同一实际目录重新打开,可以沿用该目录自己的登录。
  • 不同目录的 vault 各自登录;将模板解压或复制到新目录,不会自动继承另一个 vault 的账号。
  • 移动或重命名 vault 后需要重新登录。指向同一真实目录的路径别名,以及在原路径重新放入的 vault,仍对应同一个本地登录环境。
  • 退出当前 Vault 的登录 只退出当前目录对应的环境。

登录工作目录位于用户主目录的 .interview-practice/vaults/<vault-id>/codex/,凭据由该独立环境的 Codex 存储后端管理;不放在模板库中,也不在 data.json 中附带可复制的登录标识。本机连接仍然需要网络,不代表离线推理。

API 入口如何理解

选择 API 后,根据所用服务填写 Base URL、模型名称和 API Key。服务预设只是配置起点,不能视为对应服务已经验证可用;本版暂不把 API 方式作为已确认的上手路线。

API 账户与 ChatGPT 登录是两套配置和额度。不要把网页登录凭据填入 API Key。插件中的 API 密钥仅在本次运行内存中保留,重新加载后需要重新填写;模板不附带任何密钥。

录音与语音转写需要单独配置

推荐直接使用电脑输入法的语音转写功能。

进入 设置 → 录音与语音转写,设置转写服务、地址、模型和自己的密钥。入口提供硅基流动、OpenAI 或本地兼容转写服务等选项,需按实际服务测试。

本地录音 → 按需转写 → 人工校对 → 保存回答版本 → 可选 AI 分析,是题库语音练习的使用顺序。录音本身不要求文字 AI 登录;转写不会因为登录 GPT 而自动可用,也不提供默认实时字幕。

只有点击转写时,所选音频才会发送给配置的语音服务。文字 AI 和语音服务可能是不同提供方,请分别确认地址、网络和额度。

如何使用和扩展模板库

模板里有什么

Interview-Practice-Demo-Vault/
├─ README.md                 完整使用指南
├─ 开始体验.md               最短体验路线
├─ 使用指南/                 AI 配置、数据说明、验收清单
├─ 岗位/                     字节跳动公开原始 JD
├─ 项目/                     星河知识助手:虚构 RAG 项目
├─ 题库/
│  ├─ 行为面试/              4 道原创示例题
│  └─ RAG项目/               4 道原创示例题
├─ 示例记录/
│  ├─ 题库练习/              同题的两次合成作答与复盘
│  └─ 真实面试/              一份可继续复盘的虚构记录
├─ 试用记录/                 自己练习后生成
└─ .obsidian/                最小配置与插件

岗位材料来自字节跳动「大语言模型Agent应用架构工程师-Seed大模型人才校招」的原始公开 JD,只保留职责、要求和无追踪参数的官网链接。它用于理解练习方向,不代表岗位当前仍在招聘。

项目、题库、回答、评价和 2030 年示例日期均为虚构教学材料,题库不是该公司的真实面试题。模板没有简历、真实录音、私人求职分析或作者的账号信息;无需安装 Dataview、Templater 等其他插件。

将模板变成自己的练习库

  1. 先阅读岗位与虚构项目,了解示例如何组织,不把示例项目直接当作个人经历。
  2. 在 题库/ 下按主题添加自己的文件,每个文件一道问题,正文放参考资料。文件名应写明问题,便于手动搜索和 AI 选题。
  3. 将自己的岗位资料与项目笔记放在专门目录中,按需要在真实面试记录里选择或关联。
  4. 保存一套个人路径配置。看演示时切到「看示例」,实际练习时切回自己的记录位置。
  5. 逐步形成「练习 → 复盘 → 整理知识或证据 → 重新作答」的循环。

同题历史按题库完整路径和实际题干关联,移动或改名问题后不会自动合并旧历史。尽量在开始长期练习前确定题库结构。

题库记录中的 会话状态.json 用于恢复与历史查询,面试记录.md 便于阅读,录音是独立附件。请一起保留并备份,不要只留下 Markdown 就期待恢复所有交互状态。真实面试记录则以独立 Markdown 为正文来源。

更多数据规则见 数据与文件说明,逐项体验可参照 试用与验收清单。

分享与隐私

发布模板的 data.json 从零生成,只含演示模式与相对路径配置。使用之后,设置、路径、笔记、音频和新生成记录可能含有个人信息,不要把已经练习过的个人 vault 直接当作干净模板再次发布。

保留一份未使用的干净副本;分享时检查自己新增的文件。登录隔离可以避免不同目录共用插件登录,但不会自动匿名化笔记内容。AI 请求和转写所提交的数据由你配置的服务接收,详见 数据与文件说明。

常见问题

遇到的情况 先检查什么
插件列表找不到它 三个文件是否直接放在 .obsidian/plugins/interview-practice/;重新打开 Obsidian 后检查社区插件设置
搜不到入口命令 确认插件已启用;命令名仍是「打开模拟面试」,不是系统终端命令
工作台没有某个模式 在「开启模式」中启用本次支持的题库练习、真实面试记录
题库为空 题库路径、包含子文件夹、分类勾选是否正确;文件是否为 Markdown 或可提取文字的 PDF
AI 选题少于要求数量 题数是上限;检查候选范围是否有足够相关问题
找不到预置真实面试 切到「看示例」配置,再点击「打开已有记录继续复盘」
新记录写到了示例目录 将路径切回「自己试用」后再创建;切换不会移动已有记录
看不到同题两次对比 是否真的提交了两次练习;改名或移动题目也可能影响关联,修订答案不算新练习
能看到 GPT 账号却无法生成 检查当前 vault 的登录、模型、额度、实际 proxy 地址,再运行「测试生成」
GPT 可用但转写失败 转写服务有独立的模型、密钥、网络和额度,需要单独配置
保存复盘提示文件变化 先复制未保存内容,再重新读取 Markdown,避免覆盖外部修改

下一阶段:正在搭建

当前先把题库练习与真实面试复盘做扎实。后续计划包括:

方向 希望解决的问题 状态
项目深挖 围绕项目背景、个人贡献、技术取舍、评估方法和证据组织追问,发现讲不清的细节 搭建中,未作为本次可用功能发布
AI 模拟面试 结合目标岗位与用户提供的材料,组织面试环节、连续问答、动态追问和面后复盘 搭建中,尚需完善完整流程
专项训练与语音交互 改进分类练习和口头表达体验,衔接作答、转写、校对与反馈 规划与完善中
连接与使用体验 继续验证 API 服务、改进网络排错、补充不同系统的实际试用反馈 持续完善

这些是后续目标,不代表当前按钮已完成,也不承诺具体发布时间。源码中保留的实验性入口不等于已交付功能,试用模板默认只开启两个主要模式。

开发、反馈与发布

普通用户安装三件套即可,无需构建源码。开发者可在干净源码仓库中使用 Node.js 22,运行:

npm ci
npm run build
npm test

构建产物在 dist/interview-practice/。发布文件、GitHub 上传步骤和检查范围见完整源码包中的 docs/PUBLISHING.md 与 docs/VALIDATION.md。当前分发方式是手动安装,尚未声称通过 Obsidian 社区插件审核。

反馈问题时请附插件版本、Obsidian 版本、操作系统、复现步骤、预期和实际结果。优先使用虚构材料复现,分享截图时遮住账号、路径和私人面试内容。

许可证

原创代码、文档和虚构示例采用 MIT,署名 Interview Practice contributors。原始 JD 的权利归招聘信息发布方,不在本项目 MIT 授权范围内;第三方依赖保留各自许可证。本项目不是 Obsidian 或招聘公司的官方产品。

About

An Obsidian plugin for AI-assisted question selection, interview practice, answer comparison, and real interview notes with iterative reviews and answer versioning. Includes a ready-to-use demo vault. Project deep dives and AI mock interviews are in development.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages