Skip to content

面试押题

面试押题页面用于管理每个岗位的面试题目,支持创建、编辑、删除题目,以及同步到向量数据库。拥有 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 保存题目

填写完信息后,点击"创建"按钮保存题目。

创建流程

  1. 验证必填字段(标题和描述)
  2. 保存题目到数据库
  3. 设置 vector_status 为 1(未同步)
  4. 关闭抽屉,刷新题目列表

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 开始同步

点击"批量同步当前岗位的押题到向量库"按钮,将未同步的题目同步到向量数据库。

同步流程

  1. 查询当前岗位所有题目
  2. 调用 RAG Service API,将题目内容向量化
  3. 存储到 ChromaDB 向量数据库
  4. 更新题目的同步状态
  5. 显示同步进度和结果

同步时间:取决于未同步题目的数量,通常每个题目需要 0.1-0.5 秒。

7.4 查看同步结果

同步完成后,进度条自动更新为最新状态,显示已同步和未同步题目数量。

最佳实践

题目组织

按技术栈分类

  • 为题目添加技术栈标签(React、Node.js、MySQL 等)
  • 使用标签筛选,快速找到特定技术的题目

按难度分类

  • 使用"简单"、"中等"、"困难"标签
  • 面试前重点复习中等和困难题目

按频率分类

  • 标记"高频"、"必问"题目
  • 优先准备高频题目

参考答案编写

结构化答案

  • 核心答案:1-2 句话概括
  • 详细说明:分点展开
  • 示例代码:必要时提供
  • 常见追问:列出可能的追问

实战导向

  • 结合项目经历,给出具体例子
  • 说明技术选型的原因和权衡
  • 提及踩过的坑和解决方案

持续更新

  • 定期更新参考答案,加入最新实践
  • 补充遗漏的知识点
  • 删除过时的内容

同步时机

创建题目后立即同步

  • 确保面试训练时能检索到
  • 避免遗忘同步导致题目不可用

修改题目后立即同步

  • 更新向量库中的内容
  • 确保检索结果是最新的

面试前确认同步状态

  • 查看同步统计,确保所有题目已同步
  • 检查题目卡片的状态指示器

相关页面

Released under the GPL-3.0 License.