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": [...]
}
}
最佳实践
- 问题多样性: 避免重复,每次生成略有不同
- 难度递进: 从简单到困难,帮助用户建立信心
- 相关性: 确保问题与目标职位高度相关
- 时效性: 基于当前技术趋势更新问题
- 反馈驱动: 根据用户表现调整问题难度
- 全面覆盖: 平衡各类问题,不偏重某一类型
命令集成
此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- 生成历史