Resume Interview Analyzer — 简历分析与面试出题专家
Overview
针对候选人简历,生成全方位的岗位匹配评估与循序渐进面试问答手册。覆盖风险分析、能力评分、工作经验迁移性评估、技术栈全景总结,以及从项目经验出发逐层深入直到触及技术天花板的面试题库。支持金融/银行、互联网/电商、政务/国企等多种行业方向。
Quick Start
用户说:"帮我分析这份简历,我们是银行金融系统,做Java后端开发"
→ 1. 读取PDF简历(自动调用extract_pdf.py)
→ 2. 识别目标行业方向 → 加载 references/financial-domain.md
→ 3. 按10步Workflow生成完整面试手册
→ 4. 输出 {姓名}-金融系统Java后端面试手册.md
行业方向识别与适配
根据用户描述的目标岗位,自动识别行业方向并加载对应参考:
| 用户关键词 | 行业方向 | 加载参考文件 | 必考重点 |
|---|---|---|---|
| 银行/金融/支付/清算 | 金融 | references/financial-domain.md |
分布式事务、支付幂等、消息可靠性、国密SM4、对账、数据权限 |
| 电商/互联网/高并发 | 互联网 | references/interview-design-framework.md §2.2 |
高并发架构、缓存穿透/击穿/雪崩、分布式锁、分库分表 |
| 政务/国企/信创/等保 | 政务 | references/interview-design-framework.md §2.3 |
国产化信创、数据权限、安全合规、工作流 |
| 未指定 | 通用 | references/interview-design-framework.md §2.1 |
Java基础+SpringCloud+中间件 |
若用户未指定行业方向,主动询问。
Workflow
Step 1: 简历文本提取
- 若简历为 PDF 文件,使用
scripts/extract_pdf.py提取纯文本 - 若为纯文本/Markdown/Word,直接读取
- 解析结构化字段:姓名、年龄、学历、工作年限、期望城市、技能列表、项目经历
# PDF 提取命令
# Windows(使用隔离venv):
"C:/Users/ck/.workbuddy/binaries/python/envs/default/Scripts/python.exe" scripts/extract_pdf.py <pdf_path>
# macOS/Linux:
python3 scripts/extract_pdf.py <pdf_path>
依赖安装(首次使用):
pip install pdfplumber
> 若PDF提取文本为空或含大量水印噪声,尝试用Read工具直接读取PDF(支持视觉识别)。
Step 2: 简历概览生成
输出以下结构化表格:
| 字段 | 内容 |
|---|---|
| 姓名/年龄 | — |
| 学历/专业 | — |
| 工作年限 | — |
| 期望城市 | — |
| 工作履历 | 按时间列表,含公司名和时长 |
项目经历梳理表:
| 项目 | 时间 | 核心技术 | 业务领域 | 角色 |
Step 3: 技术栈全景总结
- 构建技术栈矩阵(分类 × 技术名 × 熟练度评估 × 目标岗位匹配度)
- 熟练度使用 ⭐1-5星标注,匹配度使用 ✅高 / ⚠️中 / ❌低
- 生成目标岗位关键能力匹配表(对照行业方向必考项)
- 绘制文字版雷达图
技术栈分类参考:
- 核心框架(Spring/SpringBoot/MyBatis)
- 微服务(SpringCloud/Nacos/Gateway/OpenFeign/Hystrix/Sentinel)
- 消息队列(RocketMQ/Kafka/RabbitMQ)
- 缓存(Redis/Memcached/Ehcache)
- 数据库(MySQL/PostgreSQL/Oracle/国产化)
- 大数据(Hadoop/Spark/Flink/ClickHouse/MaxCompute)
- 安全(Spring Security/Shiro/国密SM系列/OAuth2/JWT)
- 部署(Docker/K8s/Nginx/Linux)
- 异步(CompletableFuture/WebFlux/Reactor/Netty)
- 其他(XXL-Job/MinIO/Zipkin/SkyWalking)
Step 4: 风险分析(三级分类)
按严重程度分类,每条风险给出具体说明和影响:
- 🔴 高风险:致命缺陷
- 零目标行业经验(如金融岗但无金融项目)
- 核心技术完全空白(如金融岗但无分布式事务经验)
- 跳槽频繁(如4年3家以上)
- 简历造假嫌疑(如项目时间严重重叠、技术栈矛盾)
- 🟡 中风险:需验证项
- 技术深度存疑(用了但原理不清)
- 项目时间部分重叠
- 缺少行业关键中间件经验(如金融缺RocketMQ)
- 描述模糊("参与"vs"负责"区分不清)
- 🟢 低风险/加分项:亮点与可迁移能力
- 直接匹配目标行业的技能(如金融岗的SM4国密经验)
- 跨行业可迁移能力
- 团队管理/代码Review经验
Step 5: 能力分析
- 综合能力评分(5分制):至少覆盖 8 个维度
- 微服务架构、数据库、安全合规、消息中间件、分布式事务、高并发、架构设计、代码质量
- 每个维度给出具体评分理由 - 岗位适配度评估:百分比 + 文字说明 + 需要补充的差距清单
- 核心差距清单:
| 差距项 | 差距程度 | 补齐难度 | 优先级 |
|---|---|---|---|
| [具体能力] | 极大/大/中 | 高/中/低 | P0/P1/P2 |
- 适配度可视化(文字框):
┌──────────────────────────────────┐
│ {姓名} · {行业}适配度评估 │
├──────────────────────────────────┤
│ 核心匹配项: │
│ ├── XXX ████████░░ XX% │
│ └── XXX ██████░░░░ XX% │
│ 需补充项: │
│ ├── XXX ███░░░░░░░ XX% │
│ └── XXX █░░░░░░░░░ XX% │
│ 综合适配度:XX% │
└──────────────────────────────────┘
Step 6: 工作经验分析
- 每段工作经历逐段分析:
- 时间、公司、项目
- 角色定位(初级/核心/主导)
- 技术成长点
- 离职时间与合理性 - 工作经验特征总结(5个维度):
- 行业聚焦、项目规模、角色演进、技术广度、稳定性 - 工作经验与目标岗位的迁移性评估:
| 经验项 | 迁移性 | 说明 |
|---|---|---|
Step 7: 面试题设计(核心输出)
遵循 "项目出发 → 逐层深入 → 触及天花板" 原则。
出题框架(5-8轮)
| 轮次 | 定位 | 题数 | 说明 |
|---|---|---|---|
| 第1轮 | 项目概览与基础验证 | 2-3题 | 从简历项目切入,验证项目理解与角色定位 |
| 第2轮 | 核心技术深入 | 3-4题 | 针对简历中标注的技术栈深入原理层 |
| 第3轮 | 行业专项深入 | 2-3题 | 转向目标行业的关键技术点 |
| 第4轮 | 中间件/数据库深入 | 2-3题 | 消息队列、缓存、数据库优化等 |
| 第5轮 | Java 基础题 | 4-6题 | 集合/锁/JVM/线程池/事务/并发 |
| 第6轮+ | 架构设计压轴 | 1-2题 | 给出真实业务场景,要求设计方案 |
> 行业专项轮的必考项根据 Step 识别的行业方向确定。金融方向参考 references/financial-domain.md。
每题格式
**Q{n}:[问题内容]**
> **考察点**:[具体考察什么能力]
**参考答案要点**:
- [结构化答案,3-8个要点,用表格/列表增强可读性]
**追问判断**:[什么答案说明能力不足,面试官据此判断是否继续深入]
关键规则
- 每轮中标注
(深入追问)的是上一题的延伸,用于探测技术天花板 - 题目必须从简历中的真实项目经历出发,不能凭空设计无关题目
- 行业专项轮必须覆盖目标行业的核心硬伤(对照风险分析中的🔴项)
- Java 基础题参考
references/java-basics-bank.md选题,优先选择与候选人薄弱项相关的题目 - 压轴题参考
references/interview-design-framework.md中的场景模板 - 每道面试题的参考答案需足够详细,面试官可直接使用
- 追问判断标准需明确,帮助面试官快速决策是否继续深入
题目数量建议
| 候选人经验 | 总题数 | 说明 |
|---|---|---|
| 1-3年 | 15-18题 | 基础验证占比更高 |
| 3-5年 | 18-22题 | 行业专项+架构设计占比提升 |
| 5年+ | 22-28题 | 架构设计和行业深度占比最高 |
Step 8: 多人对比(如有多个候选人)
当分析多份简历时,输出横向对比表:
| 维度 | 候选人A | 候选人B | ... |
|---|---|---|---|
对比维度(根据行业方向调整):
- 通用:工作年限、微服务深度、Java基础、稳定性
- 金融方向:分布式事务、消息队列、安全合规、国密、支付经验、金融匹配度
- 互联网方向:高并发、缓存设计、分布式锁、分库分表
- 政务方向:国产化、数据权限、安全合规、工作流
Step 9: 面试评估表
输出结构化评分卡:
| 评估维度 | 权重 | 评分(1-5) | 说明 |
权重分配参考 references/interview-design-framework.md §4.1,按行业方向调整。
录用建议参考线:
| 总分区间 | 建议 |
|---|---|
| 4.0-5.0 | 强烈推荐,可直接承担核心开发 |
| 3.0-3.9 | 推荐入职,需3个月专项培养期 |
| 2.0-2.9 | 有条件推荐,需6个月以上培养,安排简单模块 |
| 2.0以下 | 不推荐,核心能力差距过大 |
Step 10: 输出到文件
- 文件名格式:
{姓名}-{行业方向}Java后端面试手册.md - 使用 Markdown 格式,包含完整表格和结构化内容
- 调用
present_files展示最终文件
Output Quality Checklist
生成面试手册前,逐项自检:
- [ ] 技术栈矩阵是否覆盖了候选人简历中提及的所有技术?
- [ ] 风险分析是否区分了高/中/低三级,且有具体说明?
- [ ] 行业方向是否已识别?行业必考项是否已覆盖?
- [ ] 面试题是否从候选人真实项目经历出发?
- [ ] 面试题是否覆盖了目标岗位的核心硬伤(对照风险🔴项)?
- [ ] 每题是否都有参考答案要点和追问判断标准?
- [ ] Java 基础题是否选取了与候选人薄弱项相关的题目?
- [ ] 压轴架构题是否给出了足够复杂的真实业务场景?
- [ ] 多候选人对比是否客观公正?
- [ ] 评估表权重是否合理,建议参考线是否清晰?
- [ ] 文件名是否符合
{姓名}-{方向}面试手册.md格式?
Resources
scripts/
extract_pdf.py— PDF 文本提取脚本,基于 pdfplumber,支持多页提取。依赖:pip install pdfplumber
references/
java-basics-bank.md— Java 后端面试基础题库(集合/锁/JVM/Spring/数据库/网络),按分类组织,供选题参考interview-design-framework.md— 面试题设计方法论与场景模板,覆盖金融/互联网/政务方向,含评分卡模板和压轴题模板financial-domain.md— 金融系统核心知识参考,包含分布式事务/支付幂等/消息可靠性/国密/对账等必考知识点与评分标准