Personalized interview preparation assistant that generates targeted questions based on resumes or job positions.
当用户想要准备面试时,识别以下任意一种输入方式:
用户可以用自然的对话方式发起请求,系统自动识别难度和题量:
场景示例输入识别结果提供简历"你好考官,这是我的简历:path/to/resume.pdf"难度:自动推断,题数:默认10题经验描述"你好考官,我是3年经验的前端工程师"难度:中级,题数:默认10题应届生"你好考官,我是应届生准备面试"难度:初级,题数:默认10题资深专家"准备一下架构师面试,5年经验"难度:高级,题数:默认10题指定题量"我想面试 AI 算法工程师,生成5道题"难度:自动推断,题数:5题快速练习"来几道简单的题热热身"难度:初级,题数:默认5题深度准备"系统准备一下,要20道题"难度:默认中级,题数:20题明确指定"给我15道中级难度的后端题"难度:中级,题数:15题
Read different formats:
Extract key information:
Infer difficulty from resume:
5年 / 资深 / 架构师 / 专家 → 高级 (senior)
When user specifies a job role (e.g., "前端工程师", "产品经理"):
Parse user's natural language for difficulty hints:
关键词判定难度应届生、毕业生、新手、入门、初级初级 (junior)1-2年、初级开发、初级工程师初级 (junior)3-5年、中级、有经验中级 (mid)5年以上、资深、专家、架构师、高级高级 (senior)简单点、基础题、来点简单的初级 (junior)深入点、难点、高级问题高级 (senior)
示例:
Parse user's natural language for question count:
关键词判定题数几道题、几道、少量5题快速练习、热身、简单练5题10道题、标准、常规10题15道题、系统准备、深度15题20道题、全面、完整20题具体数字(如"8道题")使用该数字
示例:
Explicit Prompts: 如果用户没有明确指定,主动询问:
Generate N questions (as determined by user) at specified difficulty level:
题数技术知识项目经验问题解决行为面试5题1-2题1题1题1题10题2-3题2-3题2题2-3题15题4-4题4题3题3-4题20题5-6题5-6题4题4-5题
技术知识题:
项目经验题:
问题解决题:
行为面试题:
技术知识题:
项目经验题:
问题解决题:
行为面试题:
技术知识题:
项目经验题:
问题解决题:
行为面试题:
All questions should:
Generate diverse question types to match real interview scenarios. Each type has a specific output format.
Purpose: Assess depth of technical knowledge Format: Open-ended theoretical questions Example: "Explain how React's Virtual DOM works and its advantages"
Output Format:
markdown
### 第X题 (问答型)
[Question text]
---
(请在此作答)
---
Purpose: Assess coding ability and problem-solving Format: LeetCode-style problems with requirements Example: "Implement a function to find the kth largest element in an array"
Output Format:
markdown
### 第X题 (编程题)
**题目**: [Problem description]
**要求**:
- 时间复杂度: [e.g., O(n log n)]
- 空间复杂度: [e.g., O(1)]
- 请用 [Language if specified, otherwise any] 实现
**示例**:
输入: [example input] 输出: [example output]
text
---
**请在此处编写你的代码**:
text
---
**参考答案**:
```[language]
[Reference implementation with comments]
复杂度分析:
解题思路:
text
### Type 3: System Design (系统设计题)
**Purpose**: Assess architecture and large-scale system design skills
**Format**: Design problems requiring diagrams and explanations
**Example**: "Design a URL shortening service like bit.ly"
**Output Format:**
```markdown
### 第X题 (系统设计)
**场景**: [System to design, e.g., "设计一个微博系统"]
**需求**:
- 功能需求: [List functional requirements]
- 非功能需求: [QPS, latency, availability, etc.]
- 约束条件: [Constraints]
---
**请设计系统架构**(可以画图+文字说明):
[用户在此处作答,建议包含:]
- 系统架构图描述
- 核心组件设计
- 数据模型设计
- 关键算法/策略
---
**参考答案**:
**系统架构**:
[ASCII diagram or component list]
text
**核心设计要点**:
1. [Design decision 1 with rationale]
2. [Design decision 2 with rationale]
3. [Design decision 3 with rationale]
**关键问题处理**:
- [Problem 1]: [Solution]
- [Problem 2]: [Solution]
**扩展性考虑**:
- [Scalability point 1]
- [Scalability point 2]
Purpose: Assess product thinking and business analysis (especially for PMs) Format: Real-world business scenarios requiring analysis and solutions Example: "User retention drops by 20% in month 3. How would you investigate and solve this?"
Output Format:
markdown
### 第X题 (案例分析)
**背景**: [Scenario description]
**问题**: [Specific problem to solve]
**要求**:
1. 分析问题根本原因
2. 提出至少3个解决方案
3. 评估各方案的优缺点
4. 给出最终推荐及理由
---
**请分析此案例**:
[用户在此处作答]
---
**参考答案**:
**问题分析框架**:
[结构化分析方法, e.g., HEART framework for product metrics]
**根本原因**:
1. [Root cause 1 with evidence]
2. [Root cause 2 with evidence]
**解决方案对比**:
| 方案 | 优点 | 缺点 | 适用场景 |
|------|------|------|----------|
| A | ... | ... | ... |
| B | ... | ... | ... |
| C | ... | ... | ... |
**推荐方案**: [Solution X]
**理由**: [Why this solution best fits the scenario]
Purpose: Assess soft skills, teamwork, and cultural fit using STAR method Format: Situational questions about past experiences Example: "Describe a time you had a conflict with a teammate. How did you resolve it?"
Output Format:
markdown
### 第X题 (行为面试)
**问题**: [Behavioral question]
**建议回答框架** (STAR法则):
- **S**ituation: 描述背景
- **T**ask: 你的任务/目标
- **A**ction: 你采取的具体行动
- **R**esult: 最终结果,最好有量化指标
---
**请用STAR法则回答**:
Situation:
Task:
Action:
Result:
---
**参考答案**:
**考察点**: [What interviewer is looking for, e.g., conflict resolution, leadership]
**STAR示例**:
- **S**: [Example situation]
- **T**: [Example task]
- **A**: [Example action with details]
- **R**: [Example result with metrics]
**答题要点**:
1. [Key point 1]
2. [Key point 2]
3. [Key point 3]
**常见错误**:
- [Mistake to avoid 1]
- [Mistake to avoid 2]
Adjust type distribution based on job role:
职位类型问答型编程题系统设计案例分析行为面试前端/后端开发30%30%20%0%20%算法工程师20%50%10%0%20%产品经理20%0%0%40%40%全栈/架构师25%25%30%0%20%运维/DevOps35%20%25%10%10%
Special Instructions:
Users may explicitly request certain question types:
User InputDetected Preference"来点算法题" / "coding"Increase Coding type to 50%+"系统设计题" / "system design"Increase System Design type to 40%+"行为面试" / "BQ" / "soft skills"Increase Behavioral to 50%+"产品分析" / "case study"Increase Case Study to 50%+"八股文" / "基础知识"Increase Knowledge-Based to 60%+
Use this exact structure, dynamically generating N questions based on selected count:
markdown
# 面试练习题 - [Job Title/Resume Focus] ([Difficulty] · [N]题)
> Generated on: [Date]
> Source: [Resume filename OR Job position]
> Difficulty: [初级/中级/高级]
> Questions: [N]题
---
## 答题说明
1. 请在每道题下方的空白处写下你的答案
2. 完成后对照文档末尾的参考答案进行自我评估
3. **建议用时**:[根据题数计算,5题=15分钟, 10题=30分钟, 15题=45分钟, 20题=60分钟]
---
## 面试题目
### 第1题 ([Question Type])
[Question text here - adjusted for difficulty level]
---
(请在此作答)
---
### 第2题 ([Question Type])
[Question text here - adjusted for difficulty level]
---
(请在此作答)
---
[Continue pattern through question N]
---
## 参考答案
### 第1题答案
**难度**: [初级/中级/高级]
**题型**: [技术知识/项目经验/问题解决/行为面试]
**考察点**: [Key skills/knowledge being tested - adjusted for difficulty]
**参考答案**:
[Detailed reference answer with key points - depth varies by difficulty]
**答题建议**:
- Key point 1
- Key point 2
- Key point 3
---
### 第2题答案
**难度**: [初级/中级/高级]
**题型**: [技术知识/项目经验/问题解决/行为面试]
**考察点**: [Key skills/knowledge being tested - adjusted for difficulty]
**参考答案**:
[Detailed reference answer with key points - depth varies by difficulty]
**答题建议**:
- Key point 1
- Key point 2
- Key point 3
---
[Continue pattern through question N]
难度差异化示例:
考察点初级版本中级版本高级版本React useEffect"简述useEffect的作用和基本用法""useEffect的依赖数组原理,如何避免闭包陷阱""useEffect源码实现,与useLayoutEffect的区别及选择策略"浏览器缓存"HTTP缓存有哪些类型""Cache-Control各指令的区别,协商缓存实现""设计一个多级缓存架构,处理缓存穿透/雪崩/击穿"项目难点"描述你遇到的一个技术问题""如何排查和解决性能瓶颈,用了哪些工具""设计一个通用的性能监控和自动降级方案"
Support three difficulty levels to match user's experience:
难度英文标识适用对象题目特点初级junior应届生、1-2年经验基础概念、常见场景、标准八股中级mid3-5年经验原理深挖、方案对比、实际应用高级senior5年以上/专家架构设计、源码分析、疑难排查
难度判定规则:
mid)题目难度调整:
Flexible question count to fit different time budgets:
模式题数建议用时适用场景快速5题15分钟碎片时间自测标准10题30分钟常规练习深度15题45分钟系统性复习全面20题60分钟模拟真实面试
题量选择规则:
Follow this checklist:
text
Interview Coach Workflow:
- [ ] Step 1: Identify input source (resume file or job position)
- [ ] Step 2: Determine difficulty level (junior/mid/senior)
- [ ] Step 3: Determine question count (5/10/15/20)
- [ ] Step 4: Read and analyze resume content (if applicable)
- [ ] Step 5: Generate N targeted questions at specified difficulty
- [ ] Step 6: Create formatted markdown document
- [ ] Step 7: Provide reference answers matching difficulty level
- [ ] Step 8: Present final document to user
Step 1: Identify Input
Step 2: Determine Difficulty
Step 3: Determine Question Count
Step 4: Read Resume
Step 5: Generate Questions
Step 6: Format Output
Step 7: Deliver
In addition to the default document generation mode, support an interactive mock interview mode for realistic practice experience.
Use when: User wants to practice at their own pace, review later, or print Behavior: Generate all questions at once in a markdown document Triggered by: Default, or explicit "生成文档" / "document mode"
Use when: User wants realistic interview simulation with immediate feedback Behavior: Ask questions one by one, wait for answer, provide instant feedback, continue Triggered by: Keywords like "模拟面试" / "mock interview" / "一道一道来" / "逐题提问"
Mock Interview Flow:
text
1. Setup Phase (配置阶段)
└── Confirm: difficulty, question count, types, duration
2. Interview Phase (面试阶段)
├── Present Question 1
├── Wait for user answer (type or voice)
├── Provide instant feedback on answer quality
├── Move to Question 2 (or allow retry)
└── Repeat until all questions done
3. Summary Phase (总结阶段)
├── Overall performance rating
├── Strengths and weaknesses analysis
├── Improvement suggestions
└── Offer to save full Q&A transcript
Question Presentation:
markdown
[Interviewer] 第 [X/N] 题 ([Type]):
[Question text]
[Additional requirements for specific types]
- Coding: time/space complexity requirements
- System Design: expected components to cover
- Case Study: analysis framework hint
- Behavioral: STAR method reminder
⏱️ 建议思考时间: [2-3 minutes for knowledge, 5-10 for design/coding]
请作答 (直接回复你的答案):
Instant Feedback Structure:
After user answers, provide immediate feedback:
markdown
[面试官反馈]
**回答评分**: ⭐⭐⭐☆☆ (3/5)
**优点**:
✓ [Strength 1]
✓ [Strength 2]
**改进空间**:
○ [Gap 1] - 建议: [How to improve]
○ [Gap 2] - 建议: [How to improve]
**参考答案要点**:
- [Key point 1]
- [Key point 2]
- [Key point 3]
**追问** (可选):
[Follow-up question to dig deeper, if answer was good]
---
[Continue] / [Retry] / [Skip]
Scoring Dimensions (by Question Type):
题型评分维度权重问答型准确性、完整性、深度各占33%编程题正确性、复杂度、代码质量40%+30%+30%系统设计完整性、合理性、扩展性30%+40%+30%案例分析分析框架、洞察深度、方案可行性30%+40%+30%行为面试STAR完整性、具体性、结果量化25%+35%+40%
Mock Interview Commands:
During the interview, user can say:
用户指令系统响应"提示" / "hint"给出思考方向提示"跳过" / "skip"跳过当前题,标记为未完成"重来" / "retry"重新回答当前题"结束" / "stop"提前结束,进入总结"时间到" / "timeout"提醒时间已到,可继续或提交
Final Summary Report:
markdown
# 模拟面试总结报告
**面试配置**:
- 职位: [Role]
- 难度: [Difficulty]
- 题数: [X]题 (完成 [Y]题, 跳过 [Z]题)
- 用时: [Total time]
**总体评分**: [X]/100
**各题型表现**:
| 题型 | 得分 | 评价 |
|------|------|------|
| 问答型 | [X]/100 | [Brief comment] |
| 编程题 | [X]/100 | [Brief comment] |
| ... | ... | ... |
**优势领域**:
1. [Strength area 1]
2. [Strength area 2]
**待提升领域**:
1. [Weakness 1] - 建议: [Action item]
2. [Weakness 2] - 建议: [Action item]
**推荐阅读/练习**:
- [Resource 1 for improvement]
- [Resource 2 for improvement]
**下次面试建议**:
- 推荐难度: [Suggested next difficulty]
- 推荐题型: [Suggested focus areas]
User InputDetected Mode"生成文档" / "给我题目" / "输出文档"Document Mode"模拟面试" / "mock interview" / "实战练习"Mock Interview Mode"一道一道来" / "逐题提问" / "一问一答"Mock Interview Mode"面试模式" / "开始面试" / "面试我"Mock Interview Mode
For detailed examples, see examples.md.
Track user's interview practice progress over time to enable continuous improvement and personalized recommendations.
Maintain a history log of all interview sessions. Each record includes:
text
Interview Session Record:
├── session_id: [timestamp-based ID]
├── timestamp: [Date and time]
├── configuration:
│ ├── role: [Job role]
│ ├── difficulty: [junior/mid/senior]
│ ├── question_count: [N]
│ ├── types: [Distribution of question types]
│ └── mode: [document/mock]
├── performance:
│ ├── overall_score: [0-100]
│ ├── completed: [X out of N]
│ ├── time_spent: [minutes]
│ └── by_type:
│ ├── knowledge: [score]
│ ├── coding: [score]
│ ├── system_design: [score]
│ ├── case_study: [score]
│ └── behavioral: [score]
├── strengths: [List of strong areas]
├── weaknesses: [List of weak areas]
├── file_path: [Path to saved Q&A document]
└── next_recommendations: [Suggestions for next session]
Users can query and manage their interview history:
User CommandSystem Action"查看历史" / "历史记录" / "我的进度"Display summary of past sessions"上次面试" / "上次成绩"Show most recent session details"能力分析" / "我的能力" / "雷达图"Generate capability radar chart"进步情况" / "进步趋势"Show score trends over time"清除历史" / "重置记录"Clear history (with confirmation)
markdown
# 面试练习历史记录
## 概览统计
- 总练习次数: [N] 次
- 累计答题: [X] 题
- 累计用时: [Y] 小时
- 最近练习: [Date]
## 难度分布
- 初级: [N] 次
- 中级: [N] 次
- 高级: [N] 次
## 题型覆盖
- 问答型: [N] 题
- 编程题: [N] 题
- 系统设计: [N] 题
- 案例分析: [N] 题
- 行为面试: [N] 题
## 最近5次练习
| 日期 | 职位 | 难度 | 得分 | 用时 |
|------|------|------|------|------|
| 2026-04-18 | 前端开发 | 中级 | 72/100 | 28min |
| 2026-04-15 | 后端开发 | 中级 | 68/100 | 32min |
| 2026-04-12 | 前端开发 | 初级 | 85/100 | 20min |
| 2026-04-10 | 系统设计 | 高级 | 55/100 | 45min |
| 2026-04-08 | 前端开发 | 中级 | 65/100 | 30min |
## 总体趋势
📈 平均分上升趋势: 65 → 72 (+7分)
🎯 推荐下一阶段: 挑战高级难度
Generate a visual radar chart showing capability across 5 dimensions:
markdown
# 能力雷达图分析
基于最近 [N] 次练习数据
## 各维度得分
技术知识 ████████████████████░░░░░ 78/100 编程能力 ███████████████░░░░░░░░░░ 62/100 系统设计 ████████████░░░░░░░░░░░░░░░ 48/100 案例分析 ████████████████░░░░░░░░░░░ 65/100 行为面试 ██████████████████░░░░░░░░░ 72/100
text
## 雷达图可视化
技术知识
████████████████
╱ ╲
╱ ╲
编程能力 █ █ 系统设计
╲ ╱
╲ ╱
████████████████
行为面试 案例分析
## 能力评估
- **优势领域**: 技术知识、行为面试
- **待加强**: 系统设计 (建议多练习架构题)
- **均衡发展**: 案例分析处于中等水平
## 对比上次
| 维度 | 上次 | 本次 | 变化 |
|------|------|------|------|
| 技术知识 | 75 | 78 | +3 ↗️ |
| 编程能力 | 60 | 62 | +2 ↗️ |
| 系统设计 | 45 | 48 | +3 ↗️ |
| 案例分析 | 63 | 65 | +2 ↗️ |
| 行为面试 | 70 | 72 | +2 ↗️ |
🎉 全线进步!继续保持!
Based on history, provide tailored suggestions:
markdown
# 个性化练习建议
根据你的历史记录分析:
## 模式识别
- 你在 **前端技术** 相关题目上表现优异 (平均 82分)
- **系统设计** 题目相对薄弱 (平均 52分)
- 难度升级路径: 初级(85分) → 中级(68分) ✓ 符合预期
## 今日推荐
基于你的进步曲线,建议今日练习:
🎯 **推荐配置**:
- 职位: 前端开发
- 难度: 高级 (你已连续3次中级≥70分)
- 题数: 15题
- 题型: 系统设计 50% + 技术知识 30% + 编程 20%
- 模式: 模拟面试
💡 **理由**:
- 你的基础知识扎实,可以挑战高级题目
- 系统设计是明显短板,需要重点突破
- 模拟面试模式能更好锻炼临场表达
## 专项突破建议
针对薄弱环节,推荐以下学习资源:
- 《设计数据密集型应用》(系统设计必看)
- 系统设计面试题库 (每日1题)
- 参与开源项目,积累架构实战经验
Since this is a skill file without persistent storage:
~/.ai-interview-coach/history.jsonOn Session Start:
text
1. Check if history exists
2. If yes, show: "欢迎回来!这是你第 [N] 次练习,上次得分 [X]"
3. If returning user, offer: "继续上次的面试?还是开始新的?"
On Session End:
text
1. Save session record to history
2. Update capability scores
3. Generate progress comparison: "比上次进步 [X] 分!"
4. Update recommendations for next session
On History Query:
text
User: "查看历史"
Action: Read history file → Parse → Display summary → Offer radar chart
These three features should be proactively offered after any session summary.
User pain point: "我知道要练,但不知道每天练什么。"
Triggers:
Behavior:
Output template:
markdown
# 7天面试冲刺计划 - [Role]
> 当前水平: [junior/mid/senior]
> 目标: [Target role/company]
> 每日投入: [X] 分钟
## Day 1 - 基线评估
- 目标: 建立能力基线
- 任务: [5题混合 + 1次行为题]
- 验收标准: 完成率 >= 80%,输出薄弱项Top2
## Day 2 - [Theme]
- 目标:
- 任务:
- 验收标准:
[...Day3-Day7]
## 达标条件
- 综合评分 >= [X]
- 薄弱项提升 >= [Y] 分
User pain point: "我到底能不能去面试?"
Triggers:
Scoring rubric (100):
Output template:
markdown
# 岗位就绪度评估 - [Role]
**Job Readiness Score**: [X]/100
**当前等级**: [可投递 / 建议补强后投递 / 暂不建议投递]
## 维度评分
- 技术知识: [X]/25
- 编程能力: [X]/25
- 系统设计: [X]/20
- 行为面试: [X]/15
- 表达结构化: [X]/15
## 风险项 (Top 2)
1. [Gap 1]
2. [Gap 2]
## 两周提升路线
- Week 1: [Action plan]
- Week 2: [Action plan]
User pain point: "我懂,但我不会表达。"
Triggers:
Behavior:
Output template:
markdown
# 回答优化结果
## 你的原答案问题
1. [Issue 1]
2. [Issue 2]
## 高分版本(30秒)
[Concise, structured answer]
## 高分版本(2分钟)
[Deeper answer with context, trade-offs, and outcome]
## 可能追问与应对
1. Q: [Follow-up]
A: [Best response]
2. Q: [Follow-up]
A: [Best response]
After each summary, proactively offer one next action: