feat(interview): 统一面试训练并完善资料与领域引导 - #36
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
该 PR 将原先分散的「简历面试 / JD 备面 / 题库」相关入口统一为更清晰的「面试训练」与「专项训练(训练领域)」信息架构,并在简历面试链路中补充「目标岗位 JD」上下文,从前后端到测试一起打通。
Changes:
- 新增「面试训练」工作台页(实时模拟 / 岗位备面)并对旧路由做重定向,统一页面结构与交互层级
- 「专项训练」页面升级与“训练领域(原题库)”管理入口强化,引导链路更完整
- 简历面试:前端支持填写岗位 JD;后端把 JD 注入图/Prompt、持久化到 session meta,并在恢复会话接口返回
Reviewed changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_regressions.py | 增加回归测试:校验 resume 模式启动时 job_description 的透传、持久化与 prompt 注入行为 |
| frontend/src/pages/TopicDrill.tsx | 新增 TS 版「专项训练」页,强化空态/加载态与“训练领域”管理入口 |
| frontend/src/pages/TopicDrill.jsx | 删除旧 JSX 版 TopicDrill 页面 |
| frontend/src/pages/ResumeInterview.tsx | 新增 TS 版「实时模拟」页:复用简历管理的 PDF、支持填写目标岗位与岗位 JD |
| frontend/src/pages/ResumeInterview.jsx | 删除旧 JSX 版 ResumeInterview 页面 |
| frontend/src/pages/MockInterview.tsx | 新增「面试训练」工作台:用 tab 在 实时模拟/岗位备面 两种模式间切换 |
| frontend/src/pages/JobPrep.tsx | 适配嵌入式展示与 TS 类型完善;文案与布局统一到新工作台体系 |
| frontend/src/main.tsx | 入口切换到 TSX,并调整 App 引入路径与 root 非空断言 |
| frontend/src/components/Sidebar.tsx | 侧边栏导航更新:面试训练入口替换旧简历面试/JD备面;“题库”更名为“训练领域” |
| frontend/src/App.tsx | 路由更新:新增 /mock-interview;旧 /job-prep、/resume-interview 重定向到新入口 |
| frontend/src/api/schema.d.ts | API schema 增补 job_description 字段 |
| frontend/src/api/interview.ts | startInterview 支持可选 jobDescription,并按后端字段名 job_description 发送 |
| frontend/index.html | 入口脚本从 main.jsx 切换为 main.tsx |
| backend/routers/interview.py | resume 模式启动:读取 job_description、传入图执行、写入 session meta,并在响应/恢复接口返回 |
| backend/prompts/interviewer.py | 简历面试系统 prompt 增加「目标岗位 JD」段落与相关约束说明 |
| backend/models.py | StartInterviewRequest 增加 job_description(max_length=12000);状态 TypedDict 增补 job_description |
| backend/graphs/resume_interview.py | 图节点将 job_description 注入 prompt,并在 state 中保留以供后续回合使用 |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
改动内容
用户影响
用户可以从简历管理复用面试简历,基于岗位和 JD 获得更有针对性的模拟;专项训练也能明确找到领域内容的维护入口。
验证
15 passednpm run typechecknpx eslint . --quietnpm run build