一个运行在 Obsidian 桌面端的面试练习插件,帮助你把「练过哪些题、当时怎么回答、后来如何改进」留在自己的笔记库里。
当前版本 0.6.29,提供两个主要功能:
- 题库练习:使用自己的题库,手动选题、随机抽题,或让 AI 根据练习需求选择问题;保留作答、录音、修订版本和复盘,比较同一题的多次练习。
- 真实面试记录与复盘:整理面试中的主问题和多轮追问,保存现场回答,之后多次补充分析、更新更好的表达,并保留改进版本。
本地选题、作答和手动复盘不需要 AI 账号。需要时再配置 AI 选题、单题分析或语音转写。项目深挖、AI 模拟面试等功能正在搭建中,不属于本次可用功能。
- 如何安装:直接体验模板库,或只安装插件
- 第一次使用:设置对应哪些功能
- 题库练习的完整流程
- 真实面试记录与多次复盘
- AI、GPT 登录、代理与语音配置
- 模板库内容与个人题库的组织方法
- 常见问题
- 后续计划
适合想先看示例、了解工作流程的用户。
- 下载 interview-practice-demo-vault-0.6.29.zip,解压到一个独立目录。
- 在 Obsidian 桌面版中选择「打开文件夹作为仓库」,打开解压后的 Interview-Practice-Demo-Vault 文件夹。
- 进入 Obsidian 的「设置 → 社区插件」,按提示允许社区插件,并启用 面试练习 Interview Practice。模板库已经附带插件文件。
- 打开 开始体验,查看岗位、虚构项目与练习路线。
- 按 Ctrl+P(macOS 为 Cmd+P)打开 Obsidian 命令面板,搜索 打开模拟面试,进入「面试工作台」。命令沿用旧名称,当前主要使用「题库练习」和「真实面试记录」。
这里的「命令面板」是 Obsidian 内的功能,无需打开系统终端,也不需要输入 npm 命令。还可以通过插件添加的侧栏图标打开工作台。
模板已保存两套路径配置:
| 配置 | 题库来源 | 记录保存位置 | 适合做什么 |
|---|---|---|---|
| 看示例 | 题库,包含子文件夹 | 示例记录 | 打开预置的面试记录,查看演示内容 |
| 自己试用(默认) | 题库,包含子文件夹 | 试用记录 | 保存自己的新练习和面试记录 |
**建议先体验一条完整路线:**切换到「看示例」,打开一份真实面试记录并查看复盘;然后切回「自己试用」,选一道题完成作答和手动复盘。无需先配置 AI。
适合已经有个人笔记库,希望保留自己的文件结构的用户。
- 下载 interview-practice-0.6.29.zip 并解压,或者取得本次发布的
main.js、manifest.json、styles.css三个文件。 - 打开自己的 vault 文件夹,进入
.obsidian/plugins/。如果没有plugins,自行创建。 - 在其中创建
interview-practice文件夹,将三个文件直接放进去。最终结构必须是:
你的 vault/
└─ .obsidian/
└─ plugins/
└─ interview-practice/
├─ main.js
├─ manifest.json
└─ styles.css
- 关闭并重新打开 Obsidian,使插件列表重新加载,再到「设置 → 社区插件」启用 面试练习 Interview Practice。
- 打开命令面板,运行 打开模拟面试。在插件设置中只开启「题库练习」「真实面试记录」,再设置自己的题库与记录目录。
注意目录名是 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 设为题库来源,否则普通笔记也可能被当成问题。模板的题库位于子文件夹中,需要勾选「包含子文件夹」。
进入「题库练习」,确认题库目录、子文件夹和分类范围。每个 Markdown 或可提取文字的 PDF 文件对应一道题:文件名作为题目,正文可放参考答案、思路或资料。
例如:
题库/
├─ 行为面试/
│ └─ 遇到意见分歧时你如何推进合作.md
└─ RAG项目/
└─ 如何验证检索改动确实有效.md
当前有三种选题方式:
| 方式 | 使用方法 | 是否调用 AI |
|---|---|---|
| 手动选择 | 搜索、勾选本次想练的题目,按勾选顺序加入队列 | 否 |
| 随机抽题 | 设置题数,点击「随机抽取(替换本次选择)」 | 否 |
| 按需求 AI 选题 | 填写练习需求、设置题数,再点击「按需求 AI 选题(替换本次选择)」 | 是 |
先完成下文的 AI 配置,再在 我的练习需求 中写清这次要练什么。例如:
我准备 Agent / RAG 开发岗位的技术面,想练习检索评估、技术方案取舍和个人贡献表达。请从已选分类中选择 3 道最相关的问题,优先覆盖我容易只讲流程、讲不清验证方法的部分。
将「本次题数」设为 3,勾选相应分类,点击 按需求 AI 选题(替换本次选择)。插件会展示所选题目及理由,你可以检查、移除或重新手动选择,确认后再点击 开始所选题目练习。
AI 是从现有题库中挑选问题,不会在此步骤生成新题库,也不会自动开始练习。题数是上限,相关题不足时可能少选;单次最多评估 500 道候选题,请用分类缩小范围。AI 和随机选题都会替换当前队列。
选题时发送的是练习需求、候选题名和相对分类路径,不发送参考答案正文。题名和需求也可能包含个人信息,填写前请自行检查。
开始后按题作答,可以输入文字、保存代码,或录音回答。代码仅作为回答内容保存,不会执行。练习记录耗时,不要求为了倒计时提前结束表达。
录音保存在本地 vault 中。停止录音后确认已保存,再提交本题;也可以仅录音后提交,之后再转写和复盘。不需要每题回答完就调用 AI。
如果题目需要调整,可在尚未提交时使用「修改当前题目」。这只调整本次练习,保留旧草稿记录,不修改源题库文件;修改题目后不再沿用原题参考正文。
提交后展开题目,需要时先转写录音,再进入 校对 / 修订分析回答。检查识别错误,或整理一版更清楚的表达,点击 保存分析回答版本。
现场原答和事后修订会分别保留。你可以先存一份忠实校对版,再保存后续表达改进版;这些操作本身不调用 AI。
如果只录了音,先得到并确认文字版本,才能让 AI 分析回答内容。GPT 登录不会自动把音频转成文字。
点击 手动分析 / 复盘,选择要复盘的原答或修订版本,填写本次目标、表现、原因、改进表达和下次自测条件,并记录是否看过参考答案或使用过提示。点击 保存手动复盘,后续还可以继续补充。
配置 AI 后,可以选中已确认的回答版本,决定是否附带题目参考正文,再点击 AI 分析所选版本(使用 Codex) 或 AI 分析所选版本(调用 API)。结果可用于检查表达问题、阅读改写建议和准备下次自测。
AI 分析发送当前题目、所选文字版本,以及你勾选的参考正文;不会在这一步直接发送录音。建议需要自行核实,尤其是项目细节和数据。AI 改写不会成为你的现场原答,也不代表官方面试评价。
下一次从同一题库文件重新开始练习并提交,才是一条新的练习记录。事后修订答案、保存多次复盘都不会增加练习次数。
通过 查看题库问题的历次记录 打开题目历史,在 同题历次记录 / 两次对比 中选择两次练习,再分别选择原答或修订版本。可以回看文字、录音与复盘,填写自己的对比判断,并通过 保存对比笔记为 Markdown 留下结论。
例如:第一次只讲「用了混合检索」,第二次能说明「为什么改、怎样构造评估集、观察了哪些失败样例、还有什么限制」。判断进步时优先比较两次独立作答,事后润色的长度不等于现场能力提升。
模板已附带「如何验证检索改动确实有效」的两次虚构练习,可直接体验对比。只有一次实际练习时,可以看版本,但不能形成两次练习的比较。
这部分适合面试后还原过程,也可以在合适的场景中逐步记录。当前复盘以手动分析和表达更新为主,此入口不会自动调用 AI。
进入「真实面试记录」,填写公司、岗位、轮次、日期,并选择现场记录或事后回忆。也可以先选择 岗位文档:插件从所选 Markdown 或文本型 PDF 中尝试读取岗位信息,缺失部分可以手动补齐,不会修改原始 JD。
按主问题整理内容:
- 填写主问题和第一轮问答,尽可能保留当时说过的话。
- 同一个问题被继续追问时,点击 添加一轮问答,将追问和当时回答放在同一组中。
- 进入另一个话题时,点击 添加下一个问题。
- 需要时补充类别、估计耗时、追问深度、双方反应,并关联相关题库题目。面试官兴趣等字段是自己的观察,不能视为对方的真实评分。
- 已有音频时,可添加 vault 内的音频链接。此表单只关联文件,不自动复制、转写或分析音频。
点击 生成 Markdown 后,记录保存到当前记录目录下的 真实面试/。默认文件名为 {日期}_{公司}_{岗位}_{轮次}.md;如遇同名文件,需要调整信息,插件不会直接覆盖。
**请先生成一次文件再离开。**尚未生成 Markdown 的新建表单只在当前运行中保留,关闭或重新加载插件后可能丢失。
点击 打开已有记录继续复盘,选择记录,再选择要分析的问题。此入口查找的是当前记录保存位置下的 真实面试/。体验模板中的预置记录时,先将路径配置切到「看示例」。
复盘可以分几次完成,不要求面试结束当晚就写出最终答案:
| 部分 | 建议填写的内容 |
|---|---|
| 问题分析 | 面试官可能在考什么、为什么继续追问、问题属于什么类型 |
| 回答诊断 | 哪些地方讲清了、哪里卡住、原因是知识不足还是表达缺少结构 |
| 改进 | 更好的回答、改进说明、需要补的知识、需要准备的证据或案例 |
参考选项支持多选,也可以直接补充自己的判断。不要为了选一个标签而省略具体原因。
在「更好的回答」中写入新的表达,点击 保存复盘。之后重新打开同一份记录,继续修改和保存。改进表达发生变化时,会归档新的版本并保留之前的表达与时间,可以形成 V2、V3 等后续版本;内容未变时重复保存不会制造一个新答案版本。
例如可以分三次处理一道「为什么采用这个方案」的问题:
- 第一次复盘:还原现场原答,发现只讲了实现步骤,没有说明选择依据。
- 第二次复盘:更新改进表达,补上目标、备选方案和取舍逻辑。
- 第三次复盘:核查实际项目资料后,再补上自己确实做过的验证和限制,形成下一版表达。
改进历史包含「更好的回答、改进说明、需要补的知识、需要准备的证据/案例」,其中任何一项变化都可以形成新的改进版本;只修改问题分析或回答诊断不会新增改进版本。复盘也可以用来发现仍需补证据的地方,不应把未做过的工作写成经历。
现场原答默认保留。只有修正记忆或录入错误时才使用 修正现场记录;后来的理想回答应放入改进部分,便于区分「当时说了什么」和「现在会怎样表达」。
将反复出现的问题关联到题库。想验证改进后的表达是否真正掌握,可以在题库中重新独立作答,再回看两次练习。
真实面试记录以一份 Markdown 为正文来源,可以在 Obsidian 阅读。若直接编辑文件,请保留题号标题与 HTML 定位注释。插件检测到外部修改时会阻止覆盖;先复制尚未保存的复盘内容,再使用 重新读取 Markdown(放弃未保存复盘),核对后重新填写。
入口:设置 → 面试与复盘模型 → 连接方式。
| 方式 | 用途和前提 | 当前状态 |
|---|---|---|
| 本机 Codex(ChatGPT 登录) | 通过本机 Codex 运行时使用适用的 ChatGPT 账户与额度 | 当前可使用的 GPT 入口;需自行登录,必要时配置代理 |
| API(阿里云 / 硅基流动 / OpenAI 等) | 填写兼容接口地址、模型和自己的 API Key | 配置入口已保留,实际服务连通性与生成效果暂未确认 |
这两种方式用于题库中的 AI 选题和单题分析;不配置也能手动选题、作答和复盘。无需开启待完善的完整模拟模式,也无需打开面向新模拟面试的 AI 模式开关,才能使用题库 AI 按钮。
- 确认本机有兼容的 Codex 运行时。插件不会随模板分发整个运行时,也不包含账号。已有可用运行时时,「Codex 可执行文件」可留空自动查找;找不到时指定实际可执行文件,例如 Windows 的
codex.exe。 - 在连接方式中选择 本机 Codex(ChatGPT 登录)。
- 网络需要代理时,在 Codex 代理地址(可选) 填入本机代理软件实际监听的地址,然后点击 保存 Codex 代理。
- 点击 使用 ChatGPT 登录,在打开的授权页面中完成自己的账号登录。
- 点击 检查登录 / 刷新模型与额度(不生成),选择可用的 Codex 模型 和 推理强度。
- 点击 测试生成(消耗 Codex 额度),确认实际生成通过,再回到题库使用 AI 选题或分析。
能查到账号和模型列表,不等于当前网络与账户已能生成。ChatGPT 网页或桌面端可用,也不意味着插件启动的 Codex 进程有同样的网络环境。
代理地址不要填写订阅链接,不要在地址中附带账号密码、额外路径或查询参数。点击保存后,下次连接才会使用新配置;此配置作用于插件启动的 Codex 进程。留空时继承 Obsidian 启动时的环境,不会自动读取每个代理软件的设置,也不会替你配置转写服务。
更详细的步骤和排错见 AI 连接配置。
从 0.6.29 起,插件根据当前 vault 的实际目录使用独立 Codex 登录环境:
- 同一实际目录重新打开,可以沿用该目录自己的登录。
- 不同目录的 vault 各自登录;将模板解压或复制到新目录,不会自动继承另一个 vault 的账号。
- 移动或重命名 vault 后需要重新登录。指向同一真实目录的路径别名,以及在原路径重新放入的 vault,仍对应同一个本地登录环境。
- 退出当前 Vault 的登录 只退出当前目录对应的环境。
登录工作目录位于用户主目录的 .interview-practice/vaults/<vault-id>/codex/,凭据由该独立环境的 Codex 存储后端管理;不放在模板库中,也不在 data.json 中附带可复制的登录标识。本机连接仍然需要网络,不代表离线推理。
选择 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 等其他插件。
- 先阅读岗位与虚构项目,了解示例如何组织,不把示例项目直接当作个人经历。
- 在
题库/下按主题添加自己的文件,每个文件一道问题,正文放参考资料。文件名应写明问题,便于手动搜索和 AI 选题。 - 将自己的岗位资料与项目笔记放在专门目录中,按需要在真实面试记录里选择或关联。
- 保存一套个人路径配置。看演示时切到「看示例」,实际练习时切回自己的记录位置。
- 逐步形成「练习 → 复盘 → 整理知识或证据 → 重新作答」的循环。
同题历史按题库完整路径和实际题干关联,移动或改名问题后不会自动合并旧历史。尽量在开始长期练习前确定题库结构。
题库记录中的 会话状态.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 或招聘公司的官方产品。