系统设计模拟面试Skill mock-interview

这个技能用于运行交互式系统设计模拟面试,模拟真实面试体验,包括问题选择、时间控制、后续提问和结构化反馈,帮助用户提升系统设计能力、面试技巧和准备工作。关键词:模拟面试,系统设计,面试准备,反馈,培训,架构设计,机器学习,数据工程。

教学实施 0 次安装 1 次浏览 更新于 3/11/2026

name: mock-interview description: 运行交互式系统设计模拟面试 - 模拟真实面试,包括问题陈述、后续问题和结构化反馈 allowed-tools: Read, Glob, Grep, Task, AskUserQuestion argument-hint: “<type: general|ml|data|staff> [problem-hint]”

模拟面试命令

此命令运行完整的交互式系统设计模拟面试,模拟真实面试体验,包括问题呈现、后续问题和结构化反馈。

目的

提供现实的面试练习,包括:

  1. 基于类型和级别的问题选择
  2. 计时面试模拟
  3. 现实的后续问题和反驳
  4. 结构化性能反馈
  5. 具体的改进建议

面试类型

类型 重点 面试官代理
general 经典系统设计(URL缩短器、Twitter等) architecture-critic
ml ML系统(推荐、搜索、欺诈检测) ml-interviewer
data 数据系统(管道、仓库、流式处理) data-architect
staff 高级别,带有强烈反驳 senior-staff-interviewer

工作流程

阶段 1: 面试设置

解析参数:

  • 确定面试类型(默认:general)
  • 提取任何问题提示或偏好
  • 根据类型设置难度级别

如果需要,询问偏好:

面试设置:

1. 面试类型:
   - 通用系统设计(经典问题)
   - ML系统设计(推荐、搜索等)
   - 数据工程(管道、仓库)
   - 高级别(严格,反驳强烈)

2. 时间限制:
   - 30分钟(专注)
   - 45分钟(标准)
   - 60分钟(全面)

3. 问题偏好:
   - 给我惊喜(推荐)
   - 特定领域:[电子商务、社交、金融科技等]

阶段 2: 问题呈现

根据类型选择和呈现问题:

对于 general

问题示例:
- 设计一个像bit.ly的URL缩短服务
- 为API设计一个速率限制器
- 设计一个分布式缓存系统
- 设计一个通知服务
- 设计一个像Dropbox的文件共享服务

对于 ml

问题示例:
- 设计一个内容推荐系统
- 设计一个搜索排名系统
- 设计一个欺诈检测系统
- 设计一个基于RAG的聊天机器人
- 设计一个LLM服务基础设施

对于 data

问题示例:
- 设计一个实时分析管道
- 为电子商务公司设计一个数据仓库
- 设计一个事件溯源系统
- 设计一个变更数据捕获系统
- 设计一个特征存储

对于 staff

问题示例:
- 设计一个支付处理系统($1000亿规模)
- 设计一个全球社交媒体Feed
- 设计一个多区域数据库系统
- 设计一个实时竞价系统
- 设计一个分布式事务协调器

呈现问题:

═══════════════════════════════════════════════════════════════
                    系统设计面试
═══════════════════════════════════════════════════════════════

问题:[问题陈述]

[1-2段带有要求和上下文]

约束:
- [关键约束1]
- [关键约束2]
- [如果适用,规模指示]

您有[X]分钟。您可以问澄清问题。
准备好后,通过收集需求开始。

═══════════════════════════════════════════════════════════════

阶段 3: 生成面试官代理

基于面试类型,生成适当的代理:

  • general → 在面试官模式下生成 architecture-critic 代理
  • ml → 生成 ml-interviewer 代理
  • data → 在面试官模式下生成 data-architect 代理
  • staff → 生成 senior-staff-interviewer 代理

代理指令:

为以下问题进行系统设计面试:

[问题陈述]

面试参数:
- 时长:[X]分钟
- 级别:[类型/级别]
- 模式:交互式面试

面试阶段:
1. 需求(5分钟) - 让候选人问澄清问题
2. 高级设计(10分钟) - 评估系统组件
3. 深度探讨(15分钟) - 深入探讨2-3个组件
4. 权衡(5分钟) - 讨论替代方案和演进

面试期间:
- 对表面答案进行反驳
- 问后续问题
- 模拟现实时间压力
- 注意优点和改进领域

最后,提供结构化反馈。

阶段 4: 面试执行

面试官代理进行面试:

整个面试期间:

  • 当候选人驱动时,呈现澄清问题
  • 最初提供不完整信息
  • 在有趣领域深入探讨
  • 挑战假设
  • 跟踪时间并给出更新
  • 记录关键决策和推理

示例交互:

面试官:“关于需求,您有什么问题?”

[澄清问题后]

面试官:“好问题。让我们从您的高级设计开始。
您将如何着手这个系统?”

[高级设计后]

面试官:“有趣的选择,使用[组件]。让我们深入探讨。
您将如何处理[特定场景]?”

[探讨]

面试官:“当[故障场景]发生时,会发生什么?”
面试官:“这如何扩展到10倍负载?”
面试官:“为什么选择X而不是Y?”

阶段 5: 反馈交付

面试后,提供结构化反馈:

═══════════════════════════════════════════════════════════════
                    面试反馈
═══════════════════════════════════════════════════════════════

## 总体评估

评级:[强烈推荐雇佣 / 推荐雇佣 / 倾向雇佣 / 不推荐雇佣]
级别:[适合:初级 / 中级 / 高级 / 高级别]

## 优点

1. [优点1,带有具体示例]
2. [优点2,带有具体示例]
3. [优点3,带有具体示例]

## 改进领域

1. [领域1,带有具体建议]
2. [领域2,带有具体建议]
3. [领域3,带有具体建议]

## 组件覆盖

| 组件 | 覆盖 | 深度 |
|-----------|----------|-------|
| [组件1] | [好/部分/缺失] | [浅/适当/深] |
| [组件2] | [好/部分/缺失] | [浅/适当/深] |

## 关键时刻

✓ 好:[积极时刻]
✓ 好:[积极时刻]
✗ 错过:[错失机会]
✗ 错过:[错失机会]

## 练习建议

1. [具体学习主题]
2. [需要发展的技能]
3. [练习的模式]

## 资源

- [相关技能加载]
- [相关练习问题]

═══════════════════════════════════════════════════════════════

使用示例

# 通用系统设计面试
/sd:mock-interview general

# ML重点面试
/sd:mock-interview ml

# 数据工程面试
/sd:mock-interview data

# 高级别严格面试
/sd:mock-interview staff

# 特定领域偏好
/sd:mock-interview general e-commerce

# ML面试,带有特定焦点
/sd:mock-interview ml "推荐系统"

面试最佳实践(对于候选人)

命令将在开始时分享这些:

面试提示:

1. 以澄清问题开始
   - 不要跳转到解决方案
   - 理解要求和约束

2. 结构化您的方法
   - 从高级开始,然后深入
   - 使用图表(清晰描述它们)

3. 大声思考
   - 分享您的推理
   - 边走边讨论权衡

4. 管理时间
   - 不要在一个区域花费太长时间
   - 在深度之前覆盖广度

5. 承认不确定性
   - 说“我需要研究X”是可以的
   - 比错误猜测更好

输出

命令产生:

  1. 交互式面试 - 现实面试模拟
  2. 结构化反馈 - 详细性能评估
  3. 练习建议 - 具体后续步骤

相关技能

此命令利用:

  • design-interview-methodology - 面试框架
  • estimation-techniques - 容量计算
  • quality-attributes-taxonomy - NFR覆盖

相关代理

基于面试类型生成:

  • architecture-critic - 通用系统设计
  • ml-interviewer - ML系统
  • data-architect - 数据工程
  • senior-staff-interviewer - 高级别