mcpField
I
interview-simulator

interview-simulator

github.com/curiositech生产力257156 次安装2 天前更新
代码仓库

关于 interview-simulator

interview-simulator 是面向求职者的模拟面试练习指导,也描述自动化模拟平台的设计。内容涵盖自适应练习、进度评估、语音、白板和监考。

主要功能

  1. 01自适应选择轮次与难度
  2. 02语音练习和故事演练
  3. 03白板与视线追踪设计
  4. 04单场评分和进度仪表板
  5. 05间隔重复练习流程

适用场景

  1. 01规划每日及每周面试练习
  2. 02设计真实条件下的模拟面试
  3. 03跟踪多场练习中的薄弱项

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/curiositech/some_claude_skills --skill interview-simulator

安装后在 Claude Code 中输入/interview-simulator确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.claude-plugin/
plugin.json
references/
mobile-app-architecture.md
proctor-engine-setup.md
session-orchestration.md
voice-engine-setup.md
whiteboard-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 密钥用于复盘和白板评估的 Claudehttps://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 EVI20 次晚间训练 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/月
成本优化策略
  1. 训练时长上限:在配置的时长到达时强制停止,避免语音成本失控
  2. 白板评估批处理:绘图期间每 30 秒评估一次,讨论期间每 2 分钟评估一次(而非持续评估)
  3. 复盘缓存:如果问题类型相同且转录文本相似,则复用评分标准结构,仅替换具体细节
  4. 移动端语音:晨间练习无需情绪检测时,使用更便宜的 ElevenLabs
  5. Supabase 免费套餐:足以满足单用户练习需求;仅在多用户使用或录音存储量较大时升级

反模式

不使用监考练习

新手:练习时在第二台显示器上打开笔记,浏览器标签页里显示着答案,手里拿着手机随时查找信息。在外部资源掩盖知识盲区的练习中建立虚假的自信。真正面试时失去这些辅助,表现会下降 30-40%。

专家:从第一次练习开始就启用监考,即使是在 Training(宽松)模式下。把每次练习都当作对真实条件的近似模拟。清理桌面,关闭无关标签页,将手机屏幕朝下放好。周末进行循环模拟时使用严格的 Simulation 模式。明白被监考带来的不适本身就是训练。

检测方法:所有练习的会话历史中都没有监考标记(干净得不合常理),或者监考始终设为“Off”。将自我报告的信心与实际复盘评分进行比较——差距较大说明练习条件过于宽松。

在舒适区内循环练习

新手:反复手动选择相同的轮次类型——总是行为面试(因为故事打磨得很完善)、总是编码(因为感觉很有成效),或者总是自己已经擅长的轮次。因为白板评估很严苛而回避设计轮次,因为深入追问令人不适而回避价值观轮次。

专家:让编排器根据弱项分析选择轮次。相信 SM-2 算法会以最佳间隔呈现那些令人不适的话题。手动选择时,会刻意挑选得分最低的轮次类型。在进度仪表板中跟踪各轮次类型的分布;如果任何一种类型占会话总数的比例超过 40%,就重新平衡。

检测方法:会话历史显示 >50% 的练习属于同一种轮次类型。弱项热力图中存在持续未改善的冷区。闪卡复习跳过了整个类别。

忽视反馈

新手:连续进行练习,却不查看复盘。把模拟面试当作需要完成的练习次数,而不是学习机会。会话次数很多,但评分停滞不前。复盘标签页的阅读率 <50%。从复盘中得出的改进措施从未尝试过。

专家:将总练习时间的三分之一用于复盘。每次练习后,完整阅读评分量表,标出一项具体的改进措施,并在下一次练习中加以实践。每周查看模式分析,找出跨会话的趋势。每次复盘后都更新“经验总结”文档。

检测方法:复盘阅读率低于 50%(通过页面停留时间跟踪)。连续 3+ 次练习的复盘都指出相同的弱项,却没有改善。没有记录任何改进措施。


与各轮次专属技能的集成

模拟器不包含轮次类型相关内容。它会委派给 7 个专门技能,由它们提供问题、评分量表和评估标准。

轮次类型内容技能模拟器获取的内容
编码senior-coding-interview问题原型、追问阶梯、高级能力信号检查清单
ML 系统设计ml-system-design-interview7 阶段框架、典型问题、白板策略
行为面试 / 价值观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 详情、复盘生成提示词、弱点检测

评论

支持 Markdown