Skip to content

如何编写题目

本题库采用“一题一文件”的知识图谱结构。所有题目统一存放在 docs/questions/,技术领域通过标签表达,深入过程通过题目关系表达。

必须遵守的规则

  • 一道题对应一个 Markdown 文件。
  • 文件名使用稳定的英文短名称,例如 stategraph-agent-runtime.md
  • 文件名与 id 必须一致,创建后不要修改 id(构建会检查)。
  • 不按前端、后端、算法建立题目子目录。
  • 题目之间的关系必须通过 relations 显式声明。
  • 简短回答应控制在面试时 30~60 秒可以讲完的长度。

题目模板

复制下面的内容,在 docs/questions/ 中创建文件:

md
---
id: stategraph-agent-runtime
title: 请用 30 秒说明 StateGraph Agent Runtime 的执行流程
aliases:
  - Spring AI Alibaba Graph
  - StateGraph
  - Agent Runtime
tags:
  - 30秒基础
  - Agent
  - StateGraph
relations:
  - target: agent-state-checkpoint
    type: followup
    label: Agent State 和 Checkpoint 怎么设计?
  - target: ai-runtime-module-boundaries
    type: related
---

# 请用 30 秒说明 StateGraph Agent Runtime 的执行流程

## 30 秒回答

用 2~3 句话写出面试时可以直接口述的答案。

## 详细解释

补充原理、执行顺序和适用场景。

## 示例

```js
const answer = '示例代码或伪代码'
```

## 易错点

- 记录容易混淆或表述错误的地方。

字段说明

字段说明
id题目的稳定唯一标识,必须与文件名一致
title面试官可能直接问出的完整问题
aliases英文名称、简称或其他常见说法,用于搜索
tags恰好一个题型标签,加上 2~4 个技术主题标签
relations与其他题目的显式关系

字段集合是封闭的。写入表格之外的字段(例如曾经存在的 difficultystatus)会让构建失败:

  • difficulty 已删除 —— 它曾经 100% 由题型标签决定,且没有任何页面渲染它。
  • status 已移到浏览器 localStorage,在题库列表里点击状态按钮切换,不再写进 Markdown。

题型标签

每道题必须且只能包含以下之一,侧边栏和星图分组都依赖这些精确值:

30秒基础追问深入调优问题排查

关系类型

  • followup:面试官可能继续追问。
  • prerequisite:回答当前题目前应该掌握,仅用于跨五级链的真实前置。
  • related:横向相关知识。
  • contrast:经常放在一起比较。

只声明一个方向

反向关系由渲染层推导,不要在两侧都写

  • 你把 B 声明为 followup,B 的页面会自动把你显示为「前置知识」。
  • relatedcontrast 语义对称,声明一侧即可,两侧都会显示。

构建会拒绝互为镜像的 followup / prerequisite,以及双向声明的 related / contrast。重复声明会让同一个邻居在题目页的「知识关系」列表里出现两次。

如果目标题目尚未创建,可以先不添加关系,等目标文件存在后再补充,避免产生失效链接。

编写建议

  • 标题使用完整问题,例如“数据库索引为什么能提高查询速度?”。
  • aliases 同时记录中文简称和英文术语,提高搜索命中率。
  • 正文主要包含面试回答、详细解释、示例和易错点。
  • 常见追问如果值得独立回答,应创建为新题目并用 followup 连接,不要全部堆在当前文件中。

最后更新于: