关于 interview-simulator
interview-simulator 是面向求职者的模拟面试练习指导,也描述自动化模拟平台的设计。内容涵盖自适应练习、进度评估、语音、白板和监考。
主要功能
- 01自适应选择轮次与难度
- 02语音练习和故事演练
- 03白板与视线追踪设计
- 04单场评分和进度仪表板
- 05间隔重复练习流程
适用场景
- 01规划每日及每周面试练习
- 02设计真实条件下的模拟面试
- 03跟踪多场练习中的薄弱项
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ curiositech/ some_claude_skills --skill interview-simulator安装后在 Claude Code 中输入/interview-simulator确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.claude-plugin/plugin.jsonreferences/mobile-app-architecture.mdproctor-engine-setup.mdsession-orchestration.mdvoice-engine-setup.mdwhiteboard-engine-setup.md详细介绍
面试模拟器
用于进行逼真模拟面试练习的平台架构与辅导系统。这项技能有两个用途:(1)指导候选人如何安排有效的练习场次;(2)规定构建自动化面试模拟平台所需的全栈架构,涵盖语音 AI、协作白板、视线追踪监考和移动端伴侣应用。
其他 7 项面试技能定义了练习什么。这项技能定义了如何练习——通过逼真的条件、自适应难度和可衡量的进步。
适用场景
适用于:
- 设计或构建模拟面试平台
- 配置包含语音、白板和监考功能的逼真练习场次
- 实现自动针对薄弱环节的自适应难度
- 构建评分与复盘系统,跟踪跨场次的进步
- 设置概念复习和故事演练的间隔重复
- 建立每日/每周练习方案
- 分析并优化练习基础设施的成本
不适用于:
- 单独练习某一种特定轮次类型(请使用对应轮次的技能)
- 制定备考时间线或学习计划(请使用
interview-loop-strategist) - 简历或职业叙事相关工作(请使用
cv-creator或career-biographer) - 薪资谈判或 Offer 评估
- 会议演讲准备(评估标准不同)
系统架构
graph TB
subgraph Client["Client Layer"]
MOBILE["Mobile App<br/>React Native + Expo<br/>Flash cards, voice drills,<br/>progress dashboard"]
DESKTOP["Desktop Web<br/>Next.js<br/>Full sessions, whiteboard,<br/>proctoring"]
end
subgraph Engines["Engine Layer"]
VOICE["Voice Engine<br/>Hume AI EVI<br/>Emotion-sensitive<br/>interviewer voice"]
BOARD["Whiteboard Engine<br/>tldraw + Claude Vision<br/>Diagram evaluation<br/>and scoring"]
PROCTOR["Proctor Engine<br/>MediaPipe Face Mesh<br/>Gaze tracking,<br/>attention monitoring"]
end
subgraph Orchestrator["Session Orchestrator — Node.js"]
ROUND["Round Selector<br/>Weakness-weighted<br/>random selection"]
ADAPT["Adaptive Difficulty<br/>Performance-based<br/>question scaling"]
DEBRIEF["Debrief Generator<br/>Transcript + emotion +<br/>proctor + whiteboard<br/>scored rubric"]
SM2["SM-2 Scheduler<br/>Spaced repetition<br/>for concepts and stories"]
end
subgraph Data["Data Layer — Supabase"]
SESSIONS[("sessions<br/>recordings, transcripts")]
SCORES[("scores<br/>per-dimension breakdowns")]
STORIES[("story_bank<br/>STAR-L entries")]
CARDS[("flash_cards<br/>SM-2 intervals")]
end
MOBILE --> Orchestrator
DESKTOP --> Orchestrator
Orchestrator --> VOICE
Orchestrator --> BOARD
Orchestrator --> PROCTOR
Orchestrator --> Data
VOICE --> DEBRIEF
BOARD --> DEBRIEF
PROCTOR --> DEBRIEF
组件选择理由
flowchart TD
V{Voice AI?}
V -->|"Emotion detection needed"| HUME["Hume AI EVI<br/>Emotion callbacks,<br/>adaptive persona,<br/>WebSocket streaming"]
V -->|"Voice only, no emotion"| ELEVEN["ElevenLabs<br/>Fallback: high-quality<br/>TTS, no affect reading"]
V -->|"Cost-constrained"| OPENAI_RT["OpenAI Realtime API<br/>Cheaper per minute,<br/>no emotion detection"]
W{Whiteboard?}
W -->|"React ecosystem, extensible"| TLDRAW["tldraw<br/>MIT license, React native,<br/>rich API, snapshot export"]
W -->|"Simpler, self-hosted"| EXCALI["Excalidraw<br/>Good but harder to<br/>integrate programmatic<br/>screenshot capture"]
P{Proctoring?}
P -->|"Privacy-first, free"| MEDIAPIPE["MediaPipe Face Mesh<br/>Browser-based, 468 landmarks,<br/>iris tracking, no cloud"]
P -->|"Commercial accuracy"| COMMERCIAL["Commercial proctoring<br/>Expensive, privacy concerns,<br/>overkill for self-practice"]
style HUME fill:#2d5016,stroke:#333,color:#fff
style TLDRAW fill:#2d5016,stroke:#333,color:#fff
style MEDIAPIPE fill:#2d5016,stroke:#333,color:#fff
**为何选择 Hume 而不是 OpenAI Realtime API:**Hume 的 EVI 提供情绪回调(紧张、自信、犹豫),可用于调整面试官的行为。OpenAI Realtime API 仅支持语音,没有情感检测功能。对于面试模拟而言,情绪感知是关键差异——真正的面试官会根据你的情绪状态进行调整。
**为何选择 tldraw 而不是 Excalidraw:**tldraw 是一个 React 组件,提供丰富的编程接口。你可以调用 editor.getSnapshot() 捕获画布状态、导出图像,并发送给 Claude Vision 进行评估。Excalidraw 的编程接口在交互方面较为有限。
**为何选择 MediaPipe 而不是商业监考工具:**这是个人练习,而不是考试监考。MediaPipe 完全在浏览器中运行(不使用云服务),可处理 468 个面部关键点(包括用于估算视线的虹膜位置),且无需付费。商业监考工具(ProctorU、ExamSoft)是为带有对抗性质的考试场景设计的,其隐私权衡对于个人练习毫无意义。
场次流程
sequenceDiagram
participant U as User
participant O as Orchestrator
participant V as Voice Engine
participant W as Whiteboard
participant P as Proctor
participant D as Debrief
U->>O: Start session
O->>O: Select round type<br/>(weakness-weighted)
O->>U: Confirm: ML Design, Difficulty 3/5,<br/>Persona: Collaborative
U->>O: Accept / override
O->>V: Initialize interviewer persona
O->>P: Activate gaze tracking
alt Design or Coding Round
O->>W: Open whiteboard
end
loop During Session (30-45 min)
V->>U: Ask question / follow-up
U->>V: Respond (voice)
V->>O: Emotion data (confidence, hesitation)
O->>V: Adjust difficulty / tone
P->>O: Gaze flags (second monitor, notes)
alt Design Round
W-->>O: Periodic screenshot (every 30s active)
O-->>W: Evaluate diagram (Claude Vision)
end
end
U->>O: End session
O->>D: Compile transcript + emotion<br/>timeline + proctor flags +<br/>whiteboard evaluations
D->>U: Scored debrief with<br/>strengths, weaknesses,<br/>specific improvement actions
O->>O: Update weakness tracker,<br/>adjust next session focus
场次配置选项
| 参数 | 选项 | 默认值 |
|---|---|---|
| 轮次类型 | 编码、ML 设计、行为面试、技术演讲、招聘经理面试、技术深挖 | 自动(按薄弱环节加权) |
| 难度 | 1(热身)至 5(对抗性) | 3 |
| 面试官角色 | 友好、中立、对抗性、苏格拉底式 | 中立 |
| 监考严格程度 | 关闭、训练(宽松)、模拟(严格) | 训练 |
| 场次时长 | 15/30/45/60 分钟 | 45 分钟 |
| 白板 | 开/关 | 自动(设计轮次时开启) |
| 录制 | 仅音频/音频 + 视频/关闭 | 仅音频 |
每日练习方案
早间移动端练习(10 分钟)
07:00 Open mobile app
07:00 3 flash cards — spaced repetition surfaces weakest concepts
(ML concepts, system design patterns, Anthropic-specific topics)
07:05 1 behavioral story rehearsal — voice, 3 minutes max
App plays the prompt, you respond aloud, app records duration
07:08 Quick self-check — rate confidence 1-5 on today's cards
07:10 Done — push notification schedules evening session
晚间桌面端练习(30-60 分钟,每周 3-4 次)
19:00 Open desktop app, orchestrator selects round type
19:02 Configure: confirm round, set proctor to Training mode
19:05 Session begins — voice AI drives conversation
Whiteboard opens for design rounds
Proctor tracks gaze, flags second monitor use
19:35 Session ends (30 min) or 19:50 (45 min)
19:35 Debrief displays: scored rubric, emotion timeline,
proctor flags, whiteboard evaluation (if applicable)
19:45 Review debrief — spend 1/3 of practice time here
19:55 Update story bank with any new insights
20:00 Done — weakness tracker updated automatically
周末完整面试循环模拟(2 小时,每周 1 次)
10:00 Full loop: 2-3 back-to-back rounds (different types)
5-minute breaks between rounds (no phone, no notes)
Proctor set to Simulation (strict) mode
11:30 Energy management practice — track cognitive fatigue
11:45 Cross-round story coherence review
Did you tell the same project consistently across rounds?
12:00 Comprehensive weekly debrief — pattern analysis across sessions
评分与进度跟踪
单次训练评分维度
| 维度 | 权重 | 衡量来源 |
|---|---|---|
| 技术准确性 | 25% | Debrief AI 对转录文本的评估 |
| 沟通清晰度 | 20% | 情绪数据(犹豫率、填充词) |
| 时间管理 | 15% | 各环节用时与目标时长的对比 |
| 结构化思维 | 15% | 白板评估(设计轮次)或口头表达结构 |
| 压力下的沉着表现 | 10% | 情绪时间线稳定性、失误后的恢复能力 |
| 问题应对 | 10% | 追问深度(价值观行为题的 1–6 级) |
| 监考规范遵守情况 | 5% | 标记次数(视线偏移、查看笔记) |
进度可视化
在仪表板上追踪以下指标:
- 综合评分:每次训练的评分(0–100)及趋势线
- 维度雷达图:显示优势和不足
- 连续训练追踪器:连续至少进行一次练习活动的天数
- 弱项热力图:显示哪些轮次类型和维度表现较弱
- 故事准备度仪表:素材库中每个故事的准备程度(已准备的追问层级数)
- 间隔重复覆盖率:达到“成熟”间隔的闪卡占比
设置指南
前置条件
| 组件 | 所需内容 | 获取方式 |
|---|---|---|
| Hume AI API 密钥 | 用于语音和情绪的 EVI 访问权限 | https://hume.ai — 申请开发者访问权限 |
| Anthropic API 密钥 | 用于复盘和白板评估的 Claude | https://console.anthropic.com |
| Supabase 项目 | 数据库 + 身份验证 + 存储 | https://supabase.com — 初期可使用免费套餐 |
| Node.js 20+ | 训练协调器运行时 | https://nodejs.org |
| React Native + Expo | 移动端配套应用 | npx create-expo-app |
首次运行体验
# 1. Clone the simulator repo
git clone <your-simulator-repo>
cd interview-simulator
# 2. Install dependencies
npm install
# 3. Configure environment
cp .env.example .env.local
# Edit .env.local with your API keys:
# HUME_API_KEY=...
# HUME_SECRET_KEY=...
# ANTHROPIC_API_KEY=...
# NEXT_PUBLIC_SUPABASE_URL=...
# SUPABASE_SERVICE_KEY=...
# 4. Initialize database
npx supabase db push
# 5. Run first calibration session
npm run dev
# Navigate to localhost:3000/calibrate
# 10-minute session to establish baseline scores
校准训练
首次训练是一次校准轮次:时长 10 分钟,包含所有轮次类型的混合问题,不进行监考,采用友好的角色设定。此环节会为各个维度建立基线评分,以便自适应难度有一个起点。若未进行校准,系统会将所有维度的难度默认设为 3。
成本分析
| 组件 | 每月用量 | 单位成本 | 每月总计 |
|---|---|---|---|
| Hume AI EVI | 20 次晚间训练 x 35 分钟 + 30 次晨间练习 x 3 分钟 | ~$0.07/分钟 | $60-80 |
| Claude(复盘) | 20 次训练 x 1 次复盘 | ~$0.15/次复盘 | $3 |
| Claude Vision(白板) | 10 次设计训练 x 5 次评估 | ~$0.03/次评估 | $1.50 |
| Supabase | 免费套餐(< 500MB,< 50K 次身份验证) | $0 免费 / $25 专业版 | $0-25 |
| MediaPipe | 所有训练,均在本地运行 | $0 | $0 |
| ElevenLabs(移动端备用方案) | 30 次晨间语音练习 x 3 分钟 | ~$0.05/分钟 | $4.50 |
| 总计 | $70-115/月 |
成本优化策略
- 训练时长上限:在配置的时长到达时强制停止,避免语音成本失控
- 白板评估批处理:绘图期间每 30 秒评估一次,讨论期间每 2 分钟评估一次(而非持续评估)
- 复盘缓存:如果问题类型相同且转录文本相似,则复用评分标准结构,仅替换具体细节
- 移动端语音:晨间练习无需情绪检测时,使用更便宜的 ElevenLabs
- Supabase 免费套餐:足以满足单用户练习需求;仅在多用户使用或录音存储量较大时升级
反模式
不使用监考练习
新手:练习时在第二台显示器上打开笔记,浏览器标签页里显示着答案,手里拿着手机随时查找信息。在外部资源掩盖知识盲区的练习中建立虚假的自信。真正面试时失去这些辅助,表现会下降 30-40%。
专家:从第一次练习开始就启用监考,即使是在 Training(宽松)模式下。把每次练习都当作对真实条件的近似模拟。清理桌面,关闭无关标签页,将手机屏幕朝下放好。周末进行循环模拟时使用严格的 Simulation 模式。明白被监考带来的不适本身就是训练。
检测方法:所有练习的会话历史中都没有监考标记(干净得不合常理),或者监考始终设为“Off”。将自我报告的信心与实际复盘评分进行比较——差距较大说明练习条件过于宽松。
在舒适区内循环练习
新手:反复手动选择相同的轮次类型——总是行为面试(因为故事打磨得很完善)、总是编码(因为感觉很有成效),或者总是自己已经擅长的轮次。因为白板评估很严苛而回避设计轮次,因为深入追问令人不适而回避价值观轮次。
专家:让编排器根据弱项分析选择轮次。相信 SM-2 算法会以最佳间隔呈现那些令人不适的话题。手动选择时,会刻意挑选得分最低的轮次类型。在进度仪表板中跟踪各轮次类型的分布;如果任何一种类型占会话总数的比例超过 40%,就重新平衡。
检测方法:会话历史显示 >50% 的练习属于同一种轮次类型。弱项热力图中存在持续未改善的冷区。闪卡复习跳过了整个类别。
忽视反馈
新手:连续进行练习,却不查看复盘。把模拟面试当作需要完成的练习次数,而不是学习机会。会话次数很多,但评分停滞不前。复盘标签页的阅读率 <50%。从复盘中得出的改进措施从未尝试过。
专家:将总练习时间的三分之一用于复盘。每次练习后,完整阅读评分量表,标出一项具体的改进措施,并在下一次练习中加以实践。每周查看模式分析,找出跨会话的趋势。每次复盘后都更新“经验总结”文档。
检测方法:复盘阅读率低于 50%(通过页面停留时间跟踪)。连续 3+ 次练习的复盘都指出相同的弱项,却没有改善。没有记录任何改进措施。
与各轮次专属技能的集成
模拟器不包含轮次类型相关内容。它会委派给 7 个专门技能,由它们提供问题、评分量表和评估标准。
| 轮次类型 | 内容技能 | 模拟器获取的内容 |
|---|---|---|
| 编码 | senior-coding-interview | 问题原型、追问阶梯、高级能力信号检查清单 |
| ML 系统设计 | ml-system-design-interview | 7 阶段框架、典型问题、白板策略 |
| 行为面试 / 价值观 | values-behavioral-interview | 追问阶梯深度、STAR-L 格式、负面表述模式 |
| 技术演讲 | tech-presentation-interview | 叙事弧线、深度校准、问答压力测试问题 |
| 招聘经理面试 | hiring-manager-deep-dive | 影响范围评估、领导力信号评分量表 |
| Anthropic 技术深度面试 | anthropic-technical-deep-dive | 主题领域、观点评估标准、安全深度 |
| 全流程面试 | interview-loop-strategist | 轮次排序、精力管理、故事连贯性矩阵 |
参考文件
| 文件 | 查阅时机 |
|---|---|
references/voice-engine-setup.md | 集成 Hume AI EVI、配置面试官角色、情绪自适应逻辑、设置 WebSocket 连接、配置 ElevenLabs 备用方案 |
references/whiteboard-engine-setup.md | 设置 tldraw 以评估图表、编写 Claude Vision 评分提示词、制定定期截图策略、了解每次评估的成本 |
references/proctor-engine-setup.md | 设置 MediaPipe Face Mesh、计算注视向量、设置可疑行为阈值、配置隐私选项、将标记集成到复盘中 |
references/mobile-app-architecture.md | 了解 React Native + Expo 技术栈、SM-2 间隔重复实现、推送通知、离线模式、数据同步策略 |
references/session-orchestration.md | 了解轮次选择算法、自适应难度、表现跟踪架构、SM-2 详情、复盘生成提示词、弱点检测 |