360 Secure SkillHub
360 安全技能中心

第三阶段:面试分析报告生成

读取候选人文件夹中的岗位JD、简历、简历分析报告、应聘登记表、面试记录等材料,对照岗位要求做匹配度、优势与不足、风险、薪酬与试用期建议等分析,按固定章节结构和排版规范生成DOCX面试分析报告,支持批量处理并标注缺失材料。

suql82
suql82
热度 32.75
最近更新 2026-05-11 17:45:58
分类:数据依赖:代码执行 / 读写文件 / 第三方 API应用场景:报告撰写 / 摘要总结 / 模板

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add suql-interview-report-generator
Metadata
name
interview-report-generator
description
面试分析报告生成 - 标准化批量生成面试分析报告,按固定11章结构输出DOCX格式
trigger
用户要求生成面试后综合评价、录用决策报告、背调清单、试用期建议、薪酬建议时使用本技能

面试分析报告生成 Skill

触发条件

当需要生成面试分析报告时调用此 Skill。适用于批量岗位面试后的候选人评估报告生成。

总体要求

面试分析报告是用于正式评估面试候选人的专业文档,必须遵循以下原则:

1. 专业性要求

  • 使用规范的职业用语,避免口语化表达
  • 分析视角基于岗位JD和行业标准,结合面试实际表现
  • 内容结构清晰,层次分明,逻辑严谨
  • 量化指标准确,引用数据有据可查

2. 客观性要求

  • 如实反映简历内容和面试表现,不夸大、不美化、不回避
  • 优势与不足并重,避免一味好评或全盘否定
  • 基于简历原文和面试记录进行分析,不添加未经证实的信息
  • 评价措辞适度,不过度使用极端赞美或负面词汇

3. 严谨性要求

  • 信息来源包括:简历、应聘登记表、面试记录等
  • 对于不确定的信息,应标注"需进一步核实"
  • 评估结论应有具体的面试证据作为支撑

4. 规范性要求

  • 严格按照固定章节结构组织内容
  • 格式排版统一,字体、字号、间距规范
  • 标题层级清晰,编号体系一致

5. 实用性要求

  • 报告应便于决策者快速把握候选人全貌
  • 分析应具有参考价值,能为录用决策提供依据
  • 建议应明确具体,具有可操作性

输入要求

必要信息

  • 候选人序号(用于文件命名)
  • 应聘岗位名称
  • 岗位信息(可选但推荐):包含岗位职责(Job Description)和任职要求(Requirements)

面试分析报告数据来源(5份必含材料)

生成面试分析报告需要以下五份材料,所有材料均为必含项,如某项缺失需在报告中标注"待补充"。

序号 材料名称 格式要求 说明 核心作用
1 岗位职责和任职要求 .docx/.pdf/.md/.txt 岗位JD文件 作为评估基准
2 简历 .docx/.pdf/.jpg/.png 候选人简历 提取基本信息
3 简历分析报告 .docx/.pdf 简历结构化分析(如有) 提取已有分析内容
4 应聘登记表 .docx/.pdf 个人信息、期望薪资 提取薪资期望
5 面试记录 .docx/.pdf/.jpg/.png 面试问答记录 提取面试表现

候选人资料文件夹标准结构

{姓名}/
├── 01_岗位要求.docx / .pdf / .md
├── 02_简历.docx / .pdf / .jpg
├── 03_简历分析报告.docx / .pdf(如有)
├── 04_应聘登记表.docx / .pdf(如有)
├── 05_面试记录.docx / .pdf / .jpg
└── 其他辅助材料(如有)

报告结构(12章)

题目(居中,黑体,2号)

{姓名}面试分析报告

一、基本信息(文字描述)

使用精炼的文字描述,便于快速掌握候选人概况:

候选人[姓名],[性别],[年龄]岁,[学校] [专业] [时间] [学位],工作年限[X]年,当前在[公司名称]担任[职位名称],期望薪资[XX]万元/年,应聘岗位为[岗位名称]。

示例:候选人王凯,男,35岁,北京交通大学计算机科学与技术专业本科(2011-2015)和计算机技术专业硕士(2011-2017),工作年限9年,当前在北京玄戒技术有限公司担任AI Compiler架构师兼技术负责人,期望薪资180万元/年,应聘岗位为GPGPU软件高级架构师。

二、岗位要求概述

本章节必须明确阐述岗位的核心职责和任职资格要求,作为后续评估的基准。

2.1 核心岗位职责(提炼自岗位JD,不超过50字)

[用简洁语言概括岗位JD的核心职责,控制在50字以内]。

2.2 任职资格要求(提炼自岗位JD,不超过50字)

[学历与经验要求],[专业技术要求],[加分项]。

三、学历背景分析(不超过100字)

[候选人姓名]的教育背景为[学校] [专业] [时间] [学位]。[第一句为总结性描述时用bold_first=True]该学历背景与岗位JD中"学历要求"[是否匹配],[具体分析,如:专业对口性、学校层次、学历层次是否符合岗位硬性要求等]。

四、工作经历分析(简历+面试综合)

每段工作经历为一个自然段,内部职责和成果用"负责……;主导……;参与……"的句式紧密串联。分析时必须对照岗位JD的职责要求。

候选人在[公司名称]任职[职位名称]期间([开始时间]至[结束时间]),主要职责包括[职责1]、[职责2]等,在[关键项目]中承担[角色]职责,取得的成果包括[量化指标]。[第一句为总结性描述时用bold_first=True]该段经历与应聘岗位的第X条核心职责"[对应岗位JD原文]"高度匹配,因为[对照分析]。综合分析来看,该候选人的工作经历与岗位要求[高度匹配/基本匹配/不太匹配]。

五、专业技能分析

每类技能为一个自然段。分析时必须对照岗位JD中的专业技能要求。

候选人在[技能类别1]方面具备[年限]年以上的实践经验,熟悉[具体技术栈]等核心工具,该技能直接对应岗位JD中要求的"[具体技术要求]"。在[技能类别2]方面,候选人掌握[具体技能],能够[应用场景],符合岗位要求的[具体能力]。

技能综合评价:[★★★★★~★☆☆☆☆]。

六、项目经验与面试表现综合分析

本章节的评估维度必须直接对应岗位JD的核心职责要求,每个评估维度需明确说明对应岗位JD中的哪条要求。

6.1 [评估维度名称](对应岗位JD第X条职责"[职责原文]"):[证据引用],候选人对此的回答[表现描述],面试官评价[评价内容]。

6.2 [评估维度名称](对应岗位JD第X条职责"[职责原文]"):[证据引用],候选人对此的回答[表现描述],面试官评价[评价内容]。

6.3 [评估维度名称](对应岗位JD第X条职责"[职责原文]"):[证据引用],候选人对此的回答[表现描述],面试官评价[评价内容]。

综合评价:[整体表现概述]。

七、优势分析

每条优势为一个独立自然段,各段落之间紧密衔接。每个要点对照岗位JD具体要求,语言流畅专业。

优势一:[具体说明,结合面试证据],该优势直接满足岗位JD第X条职责"[职责原文]"的要求。

优势二:[具体说明,结合面试证据],该优势对应岗位JD第X条"[具体要求]"。

优势三:[具体说明,结合面试证据],该优势符合岗位JD第X条"[具体要求]"。

优势四:[具体说明,结合面试证据],该优势匹配岗位JD的加分项"[加分项原文]"。

八、不足与风险

每个风险为一个独立自然段,各段落之间紧密衔接。分析不足时必须对照岗位JD的任职要求,语言专业客观。

风险一:[具体说明,结合面试表现],该风险可能导致无法完全满足岗位JD第X条"[具体要求]"。

风险二:[具体说明,结合面试表现],对应岗位JD第X条"[硬性要求]"存在差距。

风险三:[具体说明,结合面试表现],可能影响岗位要求的[特定场景/经验]能力。

九、综合评价

四个评价维度各为一个独立自然段,段落之间紧密衔接。评价基于岗位JD的任职要求,用词专业严谨。

综合能力:[★★★★★~★☆☆☆☆],候选人在[领域]展现出[强/较强/一般]的综合实力。

岗位匹配度:[★★★★★~★☆☆☆☆],与岗位核心需求的匹配程度为[高/中/低],候选人能够胜任岗位JD中的核心职责包括[职责1]、[职责2]等,但在[特定要求]方面[匹配/存在差距]。

稳定性:[★★★★★~★☆☆☆☆],候选人的离职意愿和职业稳定性[高/中/低],需关注[潜在风险]。

性价比:[★★★★★~★☆☆☆☆](如适用),[具体说明]。

综合结论与建议:[结论与具体建议]。

十、背景调查关注要点

每个调查维度为一个独立自然段,建议明确具体,具有可操作性。

工作经历真实性方面,需核实候选人在[公司名称]的任职时间、职位名称和离职原因是否与简历一致。

业绩核实方面,建议联系[证明人],核实关键项目中的实际参与程度、贡献和成果量化指标。

关系人评价方面,可向前同事或上级了解候选人的团队协作表现和职业素养。

风险核实方面,了解离职原因、是否存在竞业限制或保密协议。

十一、专业面试综合评估(评估表格)

根据岗位要求建立多维度评估体系,必须包含评估表格。

评估维度 权重 对应岗位要求 评分 评估要点
专业技能深度 25% 对应JD"[具体要求]" ★★★★★ 评估结论(20字以内)
项目经验与成果 25% 对应JD"[具体要求]" ★★★★☆ 评估结论(20字以内)
软硬件协同能力 20% 对应JD"[具体要求]" ★★★★☆ 评估结论(20字以内)
架构设计能力 15% 对应JD"[具体要求]" ★★★★☆ 评估结论(20字以内)
性能优化能力 10% 对应JD"[具体要求]" ★★★☆☆ 评估结论(20字以内)
团队领导力 5% 对应JD"[具体要求]" ★★★☆☆ 评估结论(20字以内)

评估表格填充规则:

  1. 评估维度列:从岗位JD的核心职责中精准提炼
  2. 权重列:根据岗位侧重点合理分配,权重总和100%
  3. 对应岗位要求列:直接引用岗位JD原文
  4. 评分等级列:根据面试表现综合评定,使用★★★★★到★☆☆☆☆
  5. 评估要点列:基于面试实际表现精炼描述,每条控制在20字以内

十二、薪酬与试用期建议

本章节以文字描述形式呈现薪酬建议和试用期建议,便于决策者快速把握关键信息。

12.1 薪酬建议

候选人期望薪资:XX万元/年

市场薪酬定位:根据候选人能力评估和市场行情,建议薪酬定位为市场中位至中高位(50-75分位)。

薪酬方案建议:

  • 目标薪资:XX万元/年(基本薪资XX万×12月 + 年终奖XX月)
  • 备选方案:XX万元/年(基本薪资XX万×12月 + 年终奖XX月)
  • 谈判底线:XX万元/年

说明:[候选人期望与市场行情的对比分析,候选人能力与薪酬的匹配度,谈判空间等]

12.2 试用期建议

试用期时长:建议3-6个月,具体根据岗位级别和候选人情况确定。

试用期核心目标:

  1. 融入目标(第1个月):完成团队融入,了解业务和团队架构
  2. 工作目标(第2-3个月):承担核心模块开发或架构设计工作
  3. 产出目标(第3-6个月):完成试用期产出目标,达到岗位预期

转正标准:

  • 试用期目标达成情况
  • 直属上级评价"良好"及以上
  • 无重大违规行为

风险关注:[候选人试用期可能存在的风险点,如稳定性风险、技能匹配风险等]


排版格式规范

标题格式

项目 要求
题目 字体:黑体;字号:2号;段后间距:2行;对齐:居中
一级标题(一~十二) 字体:黑体;三号;左对齐
二级标题(X.1/X.2/X.3) 字体:黑体;三号;左对齐
正文 字体:方正仿宋_GB2312;三号;左对齐

正文格式

项目 要求
字体 方正仿宋_GB2312
字号 三号(16pt)
页边距 上下2.54cm、左右3.18cm
行距 固定值30磅行距(line_spacing=Pt(30))
首行缩进 正文段落首行必须缩进2字符(0.85cm)
段落间距 段前间距0行,段后间距0行
表格 所有单元格垂直居中和水平居中

分段原则

  • 应该分段:不同主题、不同维度必须分段表述
  • 可以合并:同一主题下紧密关联的内容可合并为一个自然段,用";"串联
  • 禁止条目列表:不使用"1. 2. 3."或"• "等列表格式
  • 禁止机械连接词:不用"因此、所以、首先、其次、最后、综上所述"
  • 首行缩进强制要求:每个正文段落的首行必须设置缩进

Word文档生成代码规范

from docx.shared import Pt, Cm
from docx.enum.text import WD_LINE_SPACING, WD_ALIGN_PARAGRAPH

def add_body_para(doc, text, bold_first=False):
    """添加正文段落,如果bold_first为True,则第一句加粗"""
    p = doc.add_paragraph()
    
    if bold_first and '。' in text:
        # 找到第一个句号的位置,分割第一句和后续内容
        first_period_idx = text.find('。')
        first_sentence = text[:first_period_idx + 1]
        rest_text = text[first_period_idx + 1:]
        
        # 第一句加粗
        run1 = p.add_run(first_sentence)
        run1.font.name = '方正仿宋_GB2312'
        run1.font.size = Pt(16)
        run1.font.bold = True
        run1._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312')
        
        # 后续内容不加粗
        if rest_text:
            run2 = p.add_run(rest_text)
            run2.font.name = '方正仿宋_GB2312'
            run2.font.size = Pt(16)
            run2.font.bold = False
            run2._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312')
    else:
        run = p.add_run(text)
        run.font.name = '方正仿宋_GB2312'
        run.font.size = Pt(16)
        run.font.bold = False
        run._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312')
    
    p.paragraph_format.line_spacing = Pt(30)
    p.paragraph_format.space_before = Pt(0)
    p.paragraph_format.space_after = Pt(0)
    p.paragraph_format.first_line_indent = Cm(0.85)
    return p

def add_section_heading(doc, text):
    """添加章节标题"""
    p = doc.add_paragraph()
    run = p.add_run(text)
    run.font.name = '黑体'
    run.font.size = Pt(16)
    run.font.bold = True
    run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
    p.paragraph_format.line_spacing = Pt(30)
    p.paragraph_format.space_before = Pt(12)
    p.paragraph_format.space_after = Pt(6)
    return p

def add_sub_heading(doc, text):
    """添加二级标题"""
    p = doc.add_paragraph()
    run = p.add_run(text)
    run.font.name = '黑体'
    run.font.size = Pt(16)
    run.font.bold = True
    run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
    p.paragraph_format.line_spacing = Pt(30)
    p.paragraph_format.space_before = Pt(6)
    p.paragraph_format.space_after = Pt(3)
    return p

def add_title(doc, text):
    """添加文档标题"""
    p = doc.add_paragraph()
    run = p.add_run(text)
    run.font.name = '黑体'
    run.font.size = Pt(22)
    run.font.bold = True
    run._element.rPr.rFonts.set(qn('w:eastAsia'), '黑体')
    p.alignment = WD_ALIGN_PARAGRAPH.CENTER
    p.paragraph_format.line_spacing = Pt(30)
    p.paragraph_format.space_after = Pt(24)
    return p

def set_table_cell_center(cell, font_size=12):
    """设置表格单元格垂直居中和水平居中"""
    for para in cell.paragraphs:
        para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        para.paragraph_format.line_spacing = Pt(18)
        for run in para.runs:
            run.font.name = '方正仿宋_GB2312'
            run.font.size = Pt(font_size)
            run._element.rPr.rFonts.set(qn('w:eastAsia'), '方正仿宋_GB2312')

智能加粗逻辑说明:

  • 当段落第一句为全段总结性描述时,使用 bold_first=True 参数
  • 例如:add_body_para(doc, "候选人具备9年AI芯片编译器领域的持续深耕经历。", bold_first=True)
  • 效果:第一句"候选人具备9年AI芯片编译器领域的持续深耕经历"加粗,后续内容不加粗
  • 判断标准:第一句是否包含全段核心观点(关键结论、核心能力、核心风险等)

去AI化要求

  • 去掉所有 \、*、# 等体现AI生成的字符
  • 文字内容要去AI化处理
  • 表述自然流畅,避免机械化连接词
  • 使用自然的段落叙述而非条目列表堆砌

语言评价标准

主语统一要求

全文统一使用"候选人"作为主语,禁止使用"本人"、"该候选人"等其他主语表述。

人力资源管理视角

  • 科学性:基于人才测评理论进行结构化评估
  • 客观性:优势与不足并重,引用具体事实和数据支撑
  • 专业性:使用规范的HR术语

业务专业视角

  • 专业性:使用领域内权威术语和技术概念
  • 权威性:引用具体项目证据、量化成果来支撑评价
  • 精准性:对技术方案的描述要具体到核心挑战和解决方案

生成流程

第一步:扫描候选人文件夹,识别5份必含材料

第二步:读取材料内容

文件格式 解析方式
.docx python-docx库
.pdf pdfplumber/pdftotext/PyMuPDF
.jpg/.png等图片 pytesseract OCR或云端OCR API
.md/.txt 直接读取文本

第三步:提取和整理信息

  • 核心职责列表、硬性任职资格、加分项(从JD)
  • 基本信息、教育背景、工作经历,专业技能、项目经验(从简历)
  • 期望薪资、当前薪资(从应聘登记表)
  • 面试评分、关键问答,综合评价、录用建议(从面试记录)

第四步:建立评估框架

根据岗位JD建立11章结构的面试分析报告,评估维度直接对应岗位JD的核心能力要求。

第五步:综合分析

  1. 简历与岗位匹配度分析
  2. 面试表现分析
  3. 证据关联验证
  4. 风险识别
  5. 优势提炼

第六步:生成报告

按11章结构生成报告,以段落叙述为主,关键信息适当使用表格展示。

第七步:应用格式

  • 字体:方正仿宋_GB2312(正文)、黑体(标题)
  • 字号:三号(16pt)
  • 页边距:上下2.54cm、左右3.18cm
  • 行距:固定值30磅
  • 首行缩进:0.85cm

第八步:保存文件

  • 命名:{序号}_{姓名}-面试分析报告.docx

输出文件

  • 格式:DOCX(Word文档)
  • 命名:{序号}_{姓名}-面试分析报告.docx
  • 章节数:12章

注意事项

  1. 材料完整性:五份材料均为必含项,如某项缺失需标注"【待补充】"
  2. 内容真实性:所有分析必须基于简历原文和面试记录
  3. 量化指标:尽量提取和呈现可量化的成果
  4. 客观评价:优势与不足并重
  5. 证据支撑:每个评估结论都有具体面试证据支撑
  6. 建议具体:录用建议明确具体,具有可操作性
  7. 突出重点:关键信息(核心优势、关键风险、量化指标)必须标粗
  8. 岗位JD对照:所有分析章节必须对照岗位JD的具体要求进行评估

常见错误排查

问题 原因 解决方案
每页只有一行 line_spacing 使用了数值而非 Pt() 包装 必须使用 p.paragraph_format.line_spacing = Pt(30)
段落间距过大 space_before 或 space_after 设置了非零值 正文段落必须设置 space_before = Pt(0) 和 space_after = Pt(0)
首行缩进不生效 使用了Twips或其他单位 必须使用 Cm(0.85)
表格单元格未居中 未单独设置单元格对齐方式 必须对每个单元格调用 set_table_cell_center()

快速调用

当用户提供候选人文件夹路径和应聘岗位时,直接执行完整生成流程。