question-generator

star 21

智能面试问题生成器。基于JD分析、用户简历和公司特点,生成定制化面试问题。支持技术面试、系统设计、行为面试(STAR)、HR面试。提供不同难度级别(简单/中等/困难)。自动维护问题库,追踪练习历史。与jd-analyzer和interview-coach集成。

huifer By huifer schedule Updated 1/9/2026

name: question-generator description: 智能面试问题生成器。基于JD分析、用户简历和公司特点,生成定制化面试问题。支持技术面试、系统设计、行为面试(STAR)、HR面试。提供不同难度级别(简单/中等/困难)。自动维护问题库,追踪练习历史。与jd-analyzer和interview-coach集成。 allowed-tools: Read, Write, Grep

Question Generator Skill

触发条件

当用户需要:

  • 生成目标公司的面试问题
  • 练习特定类型的面试问题
  • 获取不同难度的问题
  • 更新问题库
  • 查看问题练习历史

核心能力

1. 问题生成引擎

基于以下维度生成问题:

  • JD分析结果: 从jd-analyzer提取的技能要求
  • 公司特点: 公司类型、技术栈、业务领域
  • 职位级别: Junior/Mid/Senior/Staff/Principal
  • 面试类型: 技术/系统设计/行为/HR
  • 难度级别: 简单/中等/困难

2. 问题类型

技术面试问题

编程题:

  • 算法和数据结构
  • LeetCode风格题目
  • 代码优化
  • 边界条件处理

技术深度问题:

  • 语言特性
  • 框架原理
  • 系统架构
  • 性能优化
  • 最佳实践

设计问题:

  • API设计
  • 数据库设计
  • 类设计
  • 设计模式应用

系统设计问题

经典系统设计:

  • URL Shortener
  • Twitter Timeline
  • Chat System
  • File Storage
  • Rate Limiter
  • Key-Value Store

大规模系统:

  • 分布式系统
  • 微服务架构
  • 数据一致性
  • 负载均衡
  • 缓存策略
  • 消息队列

行为面试问题

STAR方法问题:

  • 团队合作
  • 冲突解决
  • 领导力
  • 挑战项目
  • 失败经历
  • 成就展示

情景问题:

  • 如何处理紧急情况
  • 如何与难相处的同事合作
  • 如何在压力下工作
  • 如何学习新技术

HR面试问题

  • 自我介绍
  • 职业规划
  • 薪资期望
  • 离职原因
  • 为什么选择这家公司
  • 优势和劣势

3. 难度级别算法

简单 (Easy):

  • 基础概念和定义
  • 直接应用
  • 单一步骤问题
  • 适合:Junior职位、Warm-up

中等 (Medium):

  • 需要多步思考
  • 组合多个概念
  • 有一定复杂度
  • 适合:Mid-level职位、核心面试

困难 (Hard):

  • 需要深入分析
  • 系统级思考
  • 优化和Trade-offs
  • 适合:Senior+职位、筛选面试

4. 问题库管理

问题存储结构

{
  "question_id": "unique_id",
  "type": "technical|system_design|behavioral|hr",
  "category": "algorithm|database|distributed_system|teamwork",
  "difficulty": "easy|medium|hard",
  "question_text": "...",
  "tags": ["array", "dynamic_programming", "google"],
  "created_at": "2024-01-01",
  "times_asked": 0,
  "success_rate": 0.0,
  "related_skills": ["Python", "Algorithms"]
}

练习历史追踪

{
  "practice_session": {
    "session_id": "unique_id",
    "date": "2024-01-01",
    "company_id": "...",
    "questions_practiced": [...],
    "performance": {...},
    "improvement_areas": [...]
  }
}

工作流程

步骤 1: 读取上下文

使用Read工具读取:

  • data/companies/{company}.json - 目标公司和JD分析
  • data/resume/base.json - 用户基础简历
  • data/questions/technical.json - 现有技术问题库
  • data/questions/behavioral.json - 现有行为问题库

步骤 2: 分析需求

从JD分析中提取:

  • 必需技能(required_skills)
  • 优先技能(preferred_skills)
  • 职位级别
  • 公司类型(Big Tech/Startup/等)
  • 技术栈

步骤 3: 生成问题

根据分析结果生成问题:

{
  "generated_questions": {
    "company": "Google",
    "position": "Software Engineer L3",
    "technical": {
      "easy": [
        {
          "question_id": "tech_001",
          "question": "实现一个LRU Cache",
          "category": "data_structure",
          "related_skills": ["Hash Table", "Doubly Linked List"],
          "estimated_time": "20-30 minutes",
          "follow_up_questions": ["如何O(1)时间复杂度实现?", "如何处理并发?"]
        }
      ],
      "medium": [...],
      "hard": [...]
    },
    "system_design": [...],
    "behavioral": [...],
    "hr": [...]
  }
}

步骤 4: 更新问题库

将新生成的问题添加到对应的问题库文件:

  • 技术问题 → data/questions/technical.json
  • 行为问题 → data/questions/behavioral.json
  • 系统设计 → data/questions/system_design.json
  • HR问题 → data/questions/hr.json

步骤 5: 记录生成历史

更新 data/analytics/question_generation.json:

{
  "generation_history": [
    {
      "timestamp": "2024-01-01T10:00:00Z",
      "company_id": "google",
      "position": "Software Engineer L3",
      "questions_generated": 15,
      "question_types": ["technical", "behavioral", "system_design"],
      "difficulty_distribution": {
        "easy": 5,
        "medium": 7,
        "hard": 3
      }
    }
  ]
}

集成点

与 jd-analyzer 集成

  • 读取JD分析结果中的技能要求
  • 基于技能匹配度生成相关技术问题
  • 针对技能差距生成准备性问题

与 interview-coach 集成

  • 将生成的问题传递给interview-coach用于模拟面试
  • 接收面试反馈,调整问题难度
  • 基于表现推荐额外练习问题

与 interview-simulator 集成

  • 为模拟器提供问题库
  • 根据模拟结果更新问题难度评级
  • 追踪问题成功率

问题生成策略

公司特定策略

Google:

  • 强调算法和数据结构
  • 系统设计的可扩展性
  • 开放式问题("设计一个...")
  • Leadership Principle相关行为问题

Meta (Facebook):

  • 实用编程问题
  • 分布式系统
  • "Move Fast"文化相关行为问题
  • 影响力和成就感

Amazon:

  • 系统设计和架构
  • 实际问题解决
  • Leadership Principles行为问题
  • 客户 obsession

Microsoft:

  • 产品设计思维
  • 跨平台开发
  • 成长型思维(Growth Mindset)
  • 团队协作

Startup:

  • 全栈能力
  • 快速学习能力
  • 适应变化
  • 多任务处理

职位级别策略

Junior (L2-L3):

  • 基础概念和编码能力
  • 学习潜力
  • 简单到中等难度
  • 基础系统设计

Mid-level (L4):

  • 项目经验
  • 问题解决能力
  • 中等到困难
  • 完整系统设计

Senior (L5):

  • 架构设计
  • 技术领导力
  • 困难级别
  • 复杂系统设计

Staff+ (L6+):

  • 跨团队协作
  • 技术战略
  • 极具挑战性问题
  • 多系统设计

输出格式

标准问题输出

## 技术面试问题 - 中等难度

### 问题: 实现一个分布式缓存系统

**背景**:
- 需要支持高并发读写
- 数据需要持久化
- 节点可能故障

**要求**:
1. 设计系统架构
2. 讨论数据一致性策略
3. 处理节点故障
4. 优化性能

**评估要点**:
- CAP理论理解
- 分片策略
- 复制机制
- 一致性协议
- 性能优化

**预计时间**: 45分钟
**相关技能**: Distributed Systems, Cache, Consistency

批量问题输出

{
  "batch_questions": {
    "company": "Google",
    "position": "Software Engineer L3",
    "total_questions": 20,
    "questions_by_type": {
      "technical": 8,
      "system_design": 4,
      "behavioral": 5,
      "hr": 3
    },
    "estimated_preparation_time": "2-3 weeks",
    "priority_order": [...]
  }
}

最佳实践

  1. 问题多样性: 避免重复,每次生成略有不同
  2. 难度递进: 从简单到困难,帮助用户建立信心
  3. 相关性: 确保问题与目标职位高度相关
  4. 时效性: 基于当前技术趋势更新问题
  5. 反馈驱动: 根据用户表现调整问题难度
  6. 全面覆盖: 平衡各类问题,不偏重某一类型

命令集成

此skill可被以下命令调用:

  • /interview/prep - 生成面试准备问题集
  • /interview/simulate - 为模拟面试提供问题
  • /company/questions - 生成公司特定问题
  • /weakness/practice - 针对弱点生成练习题

数据文件依赖

  • data/companies/*.json - 公司和JD数据
  • data/resume/base.json - 用户简历
  • data/questions/*.json - 问题库
  • data/analytics/question_generation.json - 生成历史
Install via CLI
npx skills add https://github.com/huifer/claude-code-interview --skill question-generator
Repository Details
star Stars 21
call_split Forks 5
navigation Branch main
article Path SKILL.md
More from Creator