Skip to content

巩固题的质量评估方法论

考研群里经常有人说:「408 真题刷三遍就够了,巩固题没必要做。」 真题当然是最高权威,必须吃透。 但「刷真题」给你的练习量,分到每个考点上是极度不均的——有的考点 18 年考了二十几次,有的 18 年只考过一次。 我们把四科 846 道真题按考点摊开数了一遍,又用语义距离量了自己出的 1644 道巩固题跟真题的关系。下面用数据讲清楚,为什么「只刷真题」会让你在一部分考点上练习量畸形,以及巩固题到底补的是什么。


1. 起因:真题不够刷了

「真题为王」没错,真题是命题方亲自定的难度和口径。但把它当成唯一的练习来源,有个隐藏问题:真题是按"每年一套卷"产生的,命题方每年从几十个考点里挑十来个考。18 年下来,热门考点被反复考,冷门考点可能一次都没轮到。

如果只刷真题,你在某个考点上的练习量,不是由"这个考点有多重要"决定的,而是由"过去 18 年它恰好被抽中过几次"决定的。这两件事并不总是一致。

能不能把这件事量出来?能。我们手上正好有两份结构化数据:四科 2009–2026 的全部真题,和我们自己出的全部巩固题,每道都挂到了同一套 408 知识点(下文简称 KP)字典上。


2. 真题对考点的练习量,有多不均

最直接的一张图:把每个考点在 18 年真题里被考过几次数出来,从多到少排个序。

四科:每个考点的真题题量,按多到少排序

四科是同一个形状——陡峭的头 + 长长的尾。少数热门考点霸占了大量真题,而右半边的长尾,每个考点 18 年只摊到一两道。具体数字:

科目真题考过的考点数每个考点真题数·中位每个考点真题数·最多18 年只考过 ≤1 次的考点占比
计组 CO29102510%
数据结构 DS5752112%
操作系统 OS4062718%
计算机网络 CN3952118%

一半的考点,18 年真题里只够练 5–10 道;而 OS、CN 里有近 1/5 的考点,18 年总共只被考过 0–1 次。只刷真题,这些考点你几乎没有任何反复——不是因为它们不重要,而是因为它们近年恰好没被抽中。

这张图和这张表,是纯计数得来的,跟任何模型、任何算法都没关系。


3. 巩固题做的事:把曲线摊平

巩固题(drill)就是冲着这个不均去的。我们给每个考点出题时,目标不是"模仿真题",而是让每个考点都有足够、均匀的反复。同样按考点数一遍我们的巩固题:

科目巩固题覆盖的考点数每个考点巩固题数·中位
CO2510
DS588
OS3210
CN439

把"真题题量"和"巩固题题量"放到同一张图上,每个点是一个考点(横轴=真题题量,纵轴=巩固题题量):

四科:每个考点的巩固题题量 vs 真题题量

真题(横轴)从 0 拉到 27,分布很散;巩固题(纵轴)则集中在 5–15 这条带上,不管这个考点真题考过几次,我们都给了它一打左右的反复。换句话说,巩固题在做的是把真题那条陡峭的曲线,往均匀里拉平

图里红色的点,是真题里只考过 ≤1 次、但我们给了 ≥3 道巩固题的考点——也就是"真题几乎没碰、我们补上反复"的地方:

科目补的真题薄弱考点(真题≤1 且 巩固题≥3)真题完全没考过、巩固题覆盖
CO11
DS125
OS20
CN94

DS、CN 补得最多——像 DS 的红黑树、Floyd、并查集、十字链表,CN 的 IPv6、PPP、MAC 信道划分,这些都是大纲里的考点,但近年真题考得很少甚至没考,光刷真题几乎练不到。CO、OS 补得少,是因为这两科真题本身考点覆盖更密、我们自己的题库也更饱和——这点下面"诚实边界"还会再说。


4. 那这些巩固题,会不会跑题 / 超纲

会有人担心:你补的这些"真题没怎么考"的考点,会不会借机塞进一些偏题、超纲题,假装在补缺口?这正是一个题库最该自证的地方。我们用语义距离量了两个东西。

4.1 巩固题确实锁定在本科考纲里

把每道巩固题,分别去跟本科真题其他三科真题比,找最像的那一道,记下相似度。如果我们的题是"在考同一门",它就该明显更贴近本科真题。

巩固题对本科真题 vs 跨科真题的贴近度

四科全部如此:巩固题对本科真题的贴近度(红柱)系统性高于对其他科真题(灰柱),净差 +0.08~0.15,而且 88%–99% 的巩固题都明确偏向本科。我们的题牢牢落在本科的考纲语义空间里,不是离题噪音。 更要紧的是,前面那批"补真题薄弱考点"的巩固题,它们对真题的贴近度仍然有 0.69–0.75,和全体一个水平——补的是考纲内被真题冷落的点,不是借机超纲的偏题。

4.2 但也不是真题的复制

反过来也得证:补反复不等于把真题抄一遍换个数字。把每道巩固题"对本科真题的最高相似度"画成分布:

巩固题→最像真题 的相似度分布

四科都是一座中间高、两边低的山,峰值在 0.72–0.76。我们划两条线:低于 0.62 基本是"沾点边",高于 0.85 才算"高度近似、疑似换数字的同模板题"。结果 87%–93% 的巩固题落在 0.62–0.85 这个"同考点、但不是复制"的甜区,真正 ≥0.85 的只有 2%–10%。

一句话:巩固题站在真题旁边,不是站在真题身上。


5. 巩固题的能力边界

数据要是只往爽的方向解读,就没有可信度了。

第一,最像真题的那一小撮,确实是"同模板换数字"。 ≥0.85 的那 2%–10%,我们逐个看了最高的几道——比如一道 DS 复杂度题,和某年真题是几乎一样的双重循环、只换了变量名;一道 CO 磁盘平均存取时间题,和真题同一个模板、只换了转速和扇区数。这是故意的:参数化操练就是要你拿真题同款套路、用新数字再练一遍。但它属于"真题同款技能的反复",不是"覆盖了真题没碰的新角落"——这两件事我们没混着吹。

第二,"补缺口"是有限的,不是包打天下。 CO、OS 补的薄弱考点很少(各 1–2 个),因为这两科真题考点覆盖本来就密。巩固题在这两科的价值更多是"把中位练习量从 6 道提到 10 道"的均匀反复,而不是"补真题空白"。

第三,没做到"全覆盖"。 OS 真题考过 40 个考点,我们只有 32 个有独立的巩固题集——有几个真题考过的 OS 考点还没补上。这是没做完的事,不打算说成"全覆盖"。


6. 所以,真题和巩固题怎么配

落到复习上:

  1. 真题永远是第一优先级。 这篇没有任何"用巩固题替代真题"的意思。真题的难度、口径、命题思路无可替代,刷、复盘、二刷都不能省。

  2. 但别让"刷过的真题数"骗了你。 你在某个考点上刷了几道真题,反映的是"这考点近年被抽中几次",不是"你练够了没"。遇到真题里只有一两道、甚至没考过的大纲考点,那正是你练习量的盲区——这种地方靠巩固题补反复,比再刷一遍热门考点划算。

  3. 把巩固题当"配重",不是当"模拟题"。 它的作用是把你那条畸形的练习量曲线拉平,让冷门考点也有手感。哪些考点该补、补到几道,可以直接在题库里按考点看:四科真题 + 巩固题库


7. 方法与数据:给想复核的人

前面看结论不需要懂这一节。但想较真的人能照着复核——数据口径、模型、核心算法都在下面。

7.1 用了什么数据

  • 真题侧:四科 846 道真题(2009–2026),每道只取题干 + 选项的命题方原文,剔除 codebrick 自己写的解析。
  • 巩固题侧:四科 1644 道我们自己命制的巩固题,同样只取题干 + 选项。
  • 两侧每道题都挂到同一套 408 知识点(KP)字典——第 2、3 节的所有计数都基于这个标签。

7.2 计数维度(指标 C,本文头条)

每个考点的真题题量、巩固题题量,就是按 KP 标签直接计数。"真题薄弱考点"定义为:被真题考过但 ≤1 次、且我们给了 ≥3 道巩固题。这一层完全不依赖任何模型,纯属数数。

7.3 距离维度(指标 A / B)

一段文字经嵌入模型 f 映射成单位向量:

v=f(text)f(text),v=1

两段文字的"像不像"用余弦相似度,归一化后即点积:

sim(q,p)=qp[1,1]

对一道巩固题 q,在真题集合 E(本科或他科)里取最像的那一道,作为它对这批真题的贴近度(最近邻 top-1):

SE(q)=maxpE sim(q,p)

指标 A(同域对齐)= 对本科真题的贴近度 对他科真题的贴近度;指标 B(非克隆)= 对本科真题贴近度的分布。

7.4 核心代码

去掉读写和画图,算法核心就这几行:

python
# 每道巩固题、每道真题 → 单位向量
D = model.encode(drill_texts, normalize_embeddings=True)   # (Nd, dim)
E = model.encode(exam_texts,  normalize_embeddings=True)   # (Ne, dim)

own  = (D @ E_same.T).max(axis=1)    # 每道巩固题 → 本科真题 最近邻相似度
floor= (D @ E_other.T).max(axis=1)   # → 其他三科真题 最近邻(对照地板)
align = own - floor                  # >0 即锁定本科考纲
# B:own 落在 [0.62, 0.85) 的比例 = 同考点但不克隆

用的嵌入模型是智源 bge-m3——也是我们另一篇"真题更像哪本教材"里做过双模型交叉验证的那个。本文的头条结论(指标 C)是纯计数、与模型无关;指标 A/B 是粗粒度的分布判断("偏向本科""落在某个相似度带"),也不依赖小数点后的精确值。全部在一块 RTX 3060 上跑完,没调参。

7.5 方法的边界

  • "语义相似"不等于"命题同源":相似度高,多数时候只是在讲同一个考点,不代表谁抄谁。
  • 这是整体规律,不是对单道题的判定:个别巩固题更贴近、更不贴近,都正常。
  • 相似度的阈值(0.62 / 0.85)是人为划的带,用来描述分布形状,不是非黑即白的判决线。

把 846 道真题逐道挂到考点、按章节和年份拆开看,可以在这里:四科真题库。这篇讲的是"练习量该怎么配",更细的"每个考点该练几道、怎么定档",我们用同一套数据方法算过——那是另一篇了。

最后更新:

一句数据说不清楚的事,我们用代码 + 公式 + 截图说清楚