Trigger Conditions
When the user needs to:
- Generate interview questions for a target company
- Practice specific types of interview questions
- Get questions of different difficulty levels
- Update the question bank
- View question practice history
Core Capabilities
1. Question Generation Engine
Generate questions based on the following dimensions:
- JD analysis results: Skill requirements extracted from jd-analyzer
- Company characteristics: Company type, tech stack, business domain
- Job level: Junior/Mid/Senior/Staff/Principal
- Interview type: Technical/System Design/Behavioral/HR
- Difficulty level: Easy/Medium/Hard
2. Question Types
Technical Interview Questions
Programming Problems:
- Algorithms and data structures
- LeetCode-style problems
- Code optimization
- Edge case handling
Technical Depth Questions:
- Language features
- Framework principles
- System architecture
- Performance optimization
- Best practices
Design Questions:
- API design
- Database design
- Class design
- Design pattern application
System Design Questions
Classic system design:
- URL Shortener
- Twitter Timeline
- Chat System
- File Storage
- Rate Limiter
- Key-Value Store
Large-scale systems:
- Distributed systems
- Microservice architecture
- Data consistency
- Load balancing
- Caching strategies
- Message queues
Behavioral Interview Questions
STAR method questions:
- Teamwork
- Conflict resolution
- Leadership
- Challenging projects
- Failure experiences
- Showcasing achievements
Situational Questions:
- How to handle emergencies
- How to work with difficult colleagues
- How to work under pressure
- How to learn new technologies
HR Interview Questions
- Self-introduction
- Career planning
- Salary expectations
- Reason for leaving
- Why choose this company
- Strengths and weaknesses
3. Difficulty Level Algorithm
Easy:
- Basic concepts and definitions
- Direct application
- Single-step problems
- Suitable for: Junior positions, Warm-up
Medium:
- Requires multi-step thinking
- Combines multiple concepts
- Moderately complex
- Suitable for: Mid-level positions, Core interviews
Hard:
- Requires in-depth analysis
- System-level thinking
- Optimization and Trade-offs
- Suitable for: Senior+ positions, Screening interviews
4. Question Bank Management
Question Storage Structure
{
"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 history tracking
{
"practice_session": {
"session_id": "unique_id",
"date": "2024-01-01",
"company_id": "...",
"questions_practiced": [...],
"performance": {...},
"improvement_areas": [...]
}
}
Workflow
Step 1: Read context
Use the Read tool to read:
data/companies/{company}.json- Target company and JD analysisdata/resume/base.json- User's base resumedata/questions/technical.json- Existing technical question bankdata/questions/behavioral.json- Existing behavioral question bank
Step 2: Analyze requirements
Extract from the JD analysis:
- Required skills (required_skills)
- Preferred skills (preferred_skills)
- Job level
- Company type (Big Tech/Startup/etc.)
- Tech stack
Step 3: Generate questions
Generate questions based on the analysis results:
{
"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": [...]
}
}
Step 4: Update question banks
Add the newly generated questions to the corresponding question bank files:
- Technical questions →
data/questions/technical.json - Behavioral questions →
data/questions/behavioral.json - System design →
data/questions/system_design.json - HR questions →
data/questions/hr.json
Step 5: Record generation history
Update 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
}
}
]
}
Integration points
Integration with jd-analyzer
- Read skill requirements from the JD analysis results
- Generate relevant technical questions based on skill match
- Generate preparation-oriented questions targeting skill gaps
Integration with interview-coach
- Pass the generated questions to interview-coach for mock interviews
- Receive interview feedback and adjust question difficulty
- Recommend additional practice questions based on performance
Integration with interview-simulator
- Provide the question bank to the simulator
- Update question difficulty ratings based on simulation results
- Track question success rates
Question generation strategy
Company-specific strategy
Google:
- Emphasize algorithms and data structures
- Scalability of system design
- Open-ended questions ("Design a...")
- Leadership Principle-related behavioral questions
Meta (Facebook):
- Practical programming questions
- Distributed systems
- "Move Fast" culture-related behavioral questions
- Impact and sense of achievement
Amazon:
- System design and architecture
- Practical problem solving
- Leadership Principles behavioral questions
- Customer obsession
Microsoft:
- Product design thinking
- Cross-platform development
- Growth Mindset
- Team collaboration
Startup:
- Full-stack capability
- Fast learning ability
- Adapting to change
- Multitasking
Job level strategy
Junior (L2-L3):
- Fundamental concepts and coding ability
- Learning potential
- Easy to medium difficulty
- Basic system design
Mid-level (L4):
- Project experience
- Problem-solving ability
- Medium to hard
- Complete system design
Senior (L5):
- Architecture design
- Technical leadership
- Hard level
- Complex system design
Staff+ (L6+):
- Cross-team collaboration
- Technical strategy
- Highly challenging questions
- Multi-system design
Output format
Standard question output
## 技术面试问题 - 中等难度
### 问题: 实现一个分布式缓存系统
**背景**:
- 需要支持高并发读写
- 数据需要持久化
- 节点可能故障
**要求**:
1. 设计系统架构
2. 讨论数据一致性策略
3. 处理节点故障
4. 优化性能
**评估要点**:
- CAP理论理解
- 分片策略
- 复制机制
- 一致性协议
- 性能优化
**预计时间**: 45分钟
**相关技能**: Distributed Systems, Cache, Consistency
Batch question output
{
"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": [...]
}
}
Best practices
- Question diversity: Avoid repetition, make each generation slightly different
- Progressive difficulty: From easy to difficult, help users build confidence
- Relevance: Ensure questions are highly relevant to the target position
- Timeliness: Update questions based on current technology trends
- Feedback-driven: Adjust question difficulty based on user performance
- Comprehensive coverage: Balance various types of questions, without favoring any particular type
Command integration
This skill can be invoked by the following commands:
/interview/prep- Generate interview preparation question sets/interview/simulate- Provide questions for mock interviews/company/questions- Generate company-specific questions/weakness/practice- Generate practice questions targeting weaknesses
Data file dependencies
data/companies/*.json- Company and JD datadata/resume/base.json- User resumedata/questions/*.json- Question bankdata/analytics/question_generation.json- Generation history