面试押题
面试押题页面用于管理每个岗位的面试题目,支持创建、编辑、删除题目,以及同步到向量数据库。拥有 License 的用户可以使用预置题库功能,为岗位同步内置的高质量面试题目。页面采用左右布局,左侧是岗位列表,右侧是题目卡片网格。
1. 浏览题目
1.1 进入面试押题页面
点击顶部菜单中的"面试押题",进入题目管理页面。
1.2 选择岗位
左侧侧边栏显示所有岗位及题目数量,点击岗位查看其题目。
说明:每个岗位后面显示括号,标注该岗位的题目数量。选中的岗位会高亮显示,右侧显示该岗位的所有题目。

1.3 题目列表
右侧以卡片网格形式显示题目,桌面端每行 3 个卡片。
题目卡片内容:
- 左上角序号:蓝色圆形徽章,显示题目编号
- 标题和标签:题目标题加蓝色标签
- 描述内容:最多显示 4 行,超出用省略号
- 创建时间:题目创建日期
- 同步状态:绿色(已同步)或琥珀色(未同步)
- 操作按钮:编辑(铅笔图标)和删除(垃圾桶图标)
2. 筛选题目
2.1 按标签筛选
在标签下拉选择器中选择标签,筛选包含该标签的题目。
TIP
标签的作用:
- 分类管理:按技术栈、难度、类型等分类题目
- 快速定位:快速找到特定类别的题目
- 批量操作:可以基于标签批量处理题目
标签示例:Java、SpringBoot、Redis、MySQL、算法、系统设计等

3. 创建题目
3.1 打开创建抽屉
点击"创建新题目"按钮,右侧弹出抽屉。
3.2 填写题目信息
在抽屉中填写题目的标题、标签和描述。
题目标题:
- 简洁明确的问题陈述
- 例如:"解释 React 的 useEffect 钩子"
题目标签:
- 从下拉列表选择已有标签
- 或输入新标签并创建
- 可以选择多个标签
题目描述:
- 详细的问题内容和参考答案
- 建议包含:
- 问题背景和上下文
- 核心回答要点
- 扩展知识和深入讨论
- 常见追问和变体
参考答案结构示例:
标签:React
问题:解释 React 的 useEffect 钩子
核心答案:
useEffect 是 React 的副作用钩子,用于处理组件中的副作用操作,如数据获取、订阅、DOM 操作等。
详细说明:
1. 基本用法:useEffect(callback, dependencies)
2. 依赖数组的作用:控制 effect 的执行时机
3. 清理函数:返回函数用于清理副作用
常见追问:
- useEffect 和 useLayoutEffect 的区别
- 如何避免无限循环
- 闭包陷阱的解决方法
3.3 保存题目
填写完信息后,点击"创建"按钮保存题目。
创建流程:
- 验证必填字段(标题和描述)
- 保存题目到数据库
- 设置
vector_status为 1(未同步) - 关闭抽屉,刷新题目列表
WARNING
重要提示:新创建的题目需要手动同步到向量数据库,否则面试训练时无法检索到。

4. 编辑题目
4.1 打开编辑抽屉
点击题目卡片右下角的编辑按钮,弹出编辑抽屉。

4.2 修改题目内容
在抽屉中修改题目的标题、标签或描述。
修改场景:
- 优化题目描述,补充遗漏的要点
- 更新参考答案,加入最新的技术实践
- 修改标签,重新分类题目
- 添加常见追问和变体
注意:修改后需要点击"保存"按钮才会生效,修改后题目的 vector_status 会变为 1(未同步)。

4.3 保存修改
点击"保存"按钮,更新题目信息。
保存后:
- 题目卡片的同步状态指示器变为琥珀色
- 需要重新同步到向量数据库才能在面试训练中使用最新内容
5. 删除题目
5.1 删除单个题目
点击题目卡片右下角的删除按钮,弹出确认对话框。
WARNING
删除影响:
- 永久删除题目的标题、描述、标签
- 删除向量数据库中的对应数据
- 删除不可恢复
删除确认:点击删除按钮后,会弹出确认对话框。确认后才会执行删除操作。

5.2 删除全部题目
点击"删除全部题目"按钮,删除当前岗位的所有题目。
WARNING
删除全部影响:
- 删除该岗位的所有题目内容
- 删除向量数据库中的所有相关数据
- 删除题目标签关联
使用场景:
- 重新整理题库,清空旧题目
- 切换岗位方向,删除不相关的题目
安全提示:删除前会弹出详细的确认对话框,列出将要删除的内容。

6. 标签管理
6.1 打开标签管理抽屉
点击"管理标签"按钮,右侧弹出标签管理抽屉。

6.2 查看和删除标签
抽屉中显示所有已创建的标签,每个标签有删除按钮。
NOTE
删除标签影响:
- 删除标签本身
- 移除题目中对该标签的引用
- 不影响题目内容

6.3 添加新标签
在"添加新标签"输入框中输入标签名称,点击"添加"按钮。
标签命名建议:
- 使用技术栈名称:Java、SpringBoot、Redis、MySQL
- 使用题目类型:算法、系统设计、项目经验
- 使用难度标签:简单、中等、困难
- 使用频率标签:高频、必问、常见

7. 同步向量库
7.1 打开同步抽屉
点击"同步到向量库"按钮,右侧弹出同步抽屉。

7.2 查看同步统计
抽屉中显示题目的同步状态统计。
统计信息:
- 总题目数:该岗位的题目总数
- 已同步题目数:已存储在向量数据库中的题目数量
- 未同步题目数:仅存储在 SQLite 数据库中的题目数量
IMPORTANT
同步状态说明:
- 已同步:题目内容已存储在 ChromaDB 向量数据库中,面试训练时可以检索到
- 未同步:题目内容仅存储在 SQLite 数据库中,面试训练时无法检索到

7.3 开始同步
点击"批量同步当前岗位的押题到向量库"按钮,将未同步的题目同步到向量数据库。
同步流程:
- 查询当前岗位所有题目
- 调用 RAG Service API,将题目内容向量化
- 存储到 ChromaDB 向量数据库
- 更新题目的同步状态
- 显示同步进度和结果
同步时间:取决于未同步题目的数量,通常每个题目需要 0.1-0.5 秒。
7.4 查看同步结果
同步完成后,进度条自动更新为最新状态,显示已同步和未同步题目数量。
最佳实践
题目组织
按技术栈分类:
- 为题目添加技术栈标签(React、Node.js、MySQL 等)
- 使用标签筛选,快速找到特定技术的题目
按难度分类:
- 使用"简单"、"中等"、"困难"标签
- 面试前重点复习中等和困难题目
按频率分类:
- 标记"高频"、"必问"题目
- 优先准备高频题目
参考答案编写
结构化答案:
- 核心答案:1-2 句话概括
- 详细说明:分点展开
- 示例代码:必要时提供
- 常见追问:列出可能的追问
实战导向:
- 结合项目经历,给出具体例子
- 说明技术选型的原因和权衡
- 提及踩过的坑和解决方案
持续更新:
- 定期更新参考答案,加入最新实践
- 补充遗漏的知识点
- 删除过时的内容
同步时机
创建题目后立即同步:
- 确保面试训练时能检索到
- 避免遗忘同步导致题目不可用
修改题目后立即同步:
- 更新向量库中的内容
- 确保检索结果是最新的
面试前确认同步状态:
- 查看同步统计,确保所有题目已同步
- 检查题目卡片的状态指示器
