Skip to content
AI 应用本地部署持续迭代

AI 面试助手

把简历分析、知识库问答与文本和语音模拟面试,整合成一套面试准备平台。

全栈 AI 面试准备平台简历分析 · RAG 问答 · 面试评估
界面示意
围绕岗位,练习与复盘

岗位描述 → 生成面试题

示例题:如何处理异步任务的失败与重试?

  1. 作答
  2. AI 评估
  3. 报告

逐题反馈 · 优势与改进建议

它解决什么问题

把分散的简历、学习资料和模拟面试放进同一条准备流程,用分析报告、知识检索和回答评估帮助定位改进方向。

适合谁使用

需要分析简历、整理岗位知识与练习回答的求职者,以及希望研究全栈 AI 应用实现的开发者。

它如何工作

分析简历

上传并解析简历,通过指纹识别重复内容,再由后台任务完成 AI 分析。报告覆盖内容、结构、技能匹配、专业表达与项目经验,分析完成后可导出。

输入
PDF、DOC 或 DOCX 简历
产出
五维评分与改进建议

使用方式 ​

AI 面试助手是一套在本地部署的面试准备平台。先配置数据库、Redis、对象存储与模型服务,启动 Spring Boot 后端和 React 前端,再从上传简历、建立知识库或创建模拟面试进入对应流程。

简历分析提供五维评分与改进建议;知识库集中管理岗位资料,通过检索增强生成(RAG)回答问题;模拟面试按岗位描述生成题目,结合可选简历和技能包进行练习。完成回答后,通过后台任务生成评估报告,并支持 TXT、PDF 和 Word 导出。

语音面试采用「上传音频 → 异步转写 → 面试评估」的方式。转写服务默认关闭,需要单独配置并启用;转写失败时保留失败状态,可用原音频重试。

AI 能力如何接入业务 ​

文档上传后先解析、分块和向量化,进入隔离的候选版本。只有该批文档全部处理成功,才能晋升为正式可检索版本。提问时,使用 pgvector 从正式版本中检索相关片段,再与问题一起交给模型生成回答,并保存检索上下文。

模型供应商由租户配置动态解析,实际调用使用所选端点、模型名和密钥。会话保留创建时的供应商快照,后续评估按会话信息恢复调用;密钥轮换读取当前配置。把模型选择放进业务流程,有助于理解模型调用、数据权限和会话生命周期之间的关系。

适合简历展示的工程实践 ​

  • RAG 与知识版本管理:结合文档解析、向量化和 pgvector 检索,区分候选与正式版本,避免未完成处理的文档进入问答上下文。
  • 异步任务与恢复:在数据库事务中记录业务变更和 Outbox 事件,再发布到 Redis Streams 执行简历分析、文档处理和面试评估;结合幂等控制、失败重试与死信处理,支持长任务排查和恢复。
  • 模型配置与权限边界:按租户选择供应商,保存会话快照,使用 AES-GCM 加密 API Key;通过角色权限、租户隔离与乐观锁管理访问和并发修改。
  • 测试与可观测性:项目包含单元测试、Testcontainers 验收测试和前端 Playwright 场景测试,并配置 Prometheus / Grafana 监控及独立压测脚本,用于检查接口、队列和 AI 调用。

这些内容可以围绕具体问题展开:为什么文档要先进入候选版本,为什么评估任务需要 Outbox,供应商修改后旧会话如何调用,以及模型失败时用户如何继续操作。

简历可用描述 ​

开发面向面试准备的全栈 AI 应用,基于 Spring Boot、Spring AI 与 React 实现简历分析、知识库 RAG 问答和文本/语音面试评估。使用 PostgreSQL/pgvector 管理文档向量与候选/正式版本,结合 Transactional Outbox、Redis Streams、幂等控制和失败重试处理异步任务;实现租户隔离、动态模型路由、评估报告导出及监控与测试配套。

演示时可以选择一条可复现的路径:上传资料并晋升知识版本,提出一个能够命中资料的问题,再创建面试、提交回答并查看评估报告。围绕这条路径介绍实现和异常处理,比单独罗列技术名称更容易说明项目能力。

当前范围 ​

目前展示的能力包括简历解析与分析、知识库版本管理和 RAG 问答、文本面试、上传音频式语音面试、面试日程、模型供应商配置,以及用户、角色和菜单权限管理。

实际 AI 结果依赖配置的模型与转写服务,评估报告用于辅助复盘。页面中的界面图为 HTML 示意,可用功能和运行方式以项目代码与配置为依据。

当前技术实现:Java 21 + Spring Boot 4.1 + Spring AI 2.0,React 18 + TypeScript + Ant Design,MyBatis XML + PostgreSQL/pgvector + Redis + MinIO。