news 2026/9/27 13:37:49

ChatGPT 总说 “Great!”,但我什么都没记住——用 Claude Code 搭了一个真正的面试老师

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ChatGPT 总说 “Great!”,但我什么都没记住——用 Claude Code 搭了一个真正的面试老师

1. 为什么 ChatGPT 的 “Great!” 让我越练越虚

用 ChatGPT 刷 C++ 面试题,最典型的场景是这样的:你写了一段关于虚函数表的解释,其实漏掉了 vptr 在构造顺序里的初始化时机,它回你一句 “Great answer! 你理解得很到位”,然后直接跳到下一题。你关掉窗口,脑子里什么都没留下。第二天开新对话,它连你昨天练过什么都不知道,你得重新自我介绍一遍“我在准备 C++ 后端实习”。

问题不在于模型笨,而在于它的默认目标是“让对话舒服”,不是“让你学会”。它没有跨会话记忆,没有错题追踪,也没有强制的讲解—验证闭环。你答错了它不敢较真,你答对了它也不确认你到底懂没懂。

我想要的其实是一个严格的面试老师:答错必须讲透、出验证题、通过了才放行;隔几天还得按遗忘曲线把旧知识点翻出来重问。这套流程用 Claude Code 的 CLI 加上CLAUDE.md规则文件能搭出来,因为它的规则文件每次会话都会自动加载,等于给 AI 写死了行为约束。下面我把这套 C++ 面试训练流程拆成可复制的配置,顺带说明怎么用 TaoToken 统一 Key 和 API 通道接进去。

2. TaoToken 前置:把 Key 和 API 通道先理清

Claude Code 本身是个 CLI 工具,它需要模型服务来驱动。我这边习惯用 TaoToken 做统一的 Key 和 API 通道管理,好处是模型对话、编码计划、控制台这些入口的凭证不用到处散落。官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 基址是 https://taotoken.net/api 。

你需要先拿到一个可用的 Key。进控制台创建:https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,然后在 API Keys 页面生成:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。生成后复制那串sk-开头的字符串,后面写进环境变量。

注意:Key 只显示一次,生成后立刻存到本地密码管理器或环境变量里,别直接写进会提交到 Git 的配置文件。

如果你只是想先验证模型通不通,可以用模型对话页面直接试:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。确认能正常返回后,再往下配 Claude Code。接入细节可以对照文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。

3. 可复制配置:CLAUDE.md 骨架 + settings.json

3.1 目录结构先定好

我在项目根目录建了这么一套结构,规则和知识库分离,方便你换成 Java 或 Go:

ai-interview-engine/ ├── CLAUDE.md ├── .claude/ │ └── settings.json ├── rules/ │ └── interview.md └── knowledge/ ├── interview_tracker.md └── TEMPLATE.md

CLAUDE.md是入口规则,rules/interview.md放详细流程,knowledge/interview_tracker.md存知识点和复习状态。

3.2 CLAUDE.md 骨架

这个文件每次会话自动加载,所以写的是“总纲”,告诉 Claude 这是个面试训练场景:

# 面试训练引擎 你是一个严格的 C++ 面试官,不是陪聊。你的目标是让用户真正学会,而不是让对话舒服。 ## 加载规则 每次会话开始,先读取 rules/interview.md 和 knowledge/interview_tracker.md。 ## 核心原则 1. 禁止只说 "Great" 就跳题。答对要简要确认并关联知识点,答错必须走讲解流程。 2. 每次会话开始,检查 interview_tracker.md 里哪些知识点到了复习时间(D+1/D+2/D+4/D+7/D+15),优先出复习题。 3. 出题要混合 3-4 个模块,不要只问一个方向。 4. 用户说"今天就到这"时,触发收尾流程:给大纲 → 用户复述 → 你判断是否真懂 → 更新 tracker。 ## 出题来源 优先从用户项目代码出发追问,而不是空背八股。

3.3 rules/interview.md 详细流程

这是真正约束行为的地方,把“答错→讲解→验证”写死:

# 面试流程规则 ## 单题流程 1. 出题(混合模块,标注知识点标签) 2. 用户回答 3. 判断: - 答对 → 简要确认 + 关联 1 个延伸知识点 → 下一题 - 答错 → 必须讲解(含参考资料 URL)→ 出验证题 → 通过才出新题 4. 禁止跳步骤。不能答完直接出下一题。 ## 复习调度 - 知识点首次学习记为 D0 - 复习节点:D+1, D+2, D+4, D+7, D+15 - 每次会话开始扫描 tracker,到期的优先出题 - 连续两次答对标记"已掌握",答错标记"薄弱" ## 收尾流程 用户说"今天就到这": 1. 给出今日学习大纲 2. 用户根据大纲复述理解 3. 判断是真懂还是背答案 4. 更新 interview_tracker.md

3.4 knowledge/interview_tracker.md 知识点表

用表格记状态,Claude 每次会话读它:

# 知识点追踪 | 知识点 | 首次学习 | D+1 | D+2 | D+4 | D+7 | D+15 | 状态 | |--------|---------|-----|-----|-----|-----|------|------| | 智能指针 | 05-29 | | | | | | 已掌握 | | 虚函数表 | 05-29 | | | | | | 薄弱 | | condition_variable | 05-29 | | | | | | 待复习 |

3.5 settings.json 配置片段

.claude/settings.json里配环境变量和权限,把 API 通道指向 TaoToken:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的Key" }, "permissions": { "allow": [ "Read", "Write", "Bash(git:*)" ] } }

注意:ANTHROPIC_BASE_URL填 https://taotoken.net/api ,不要带 UTM 参数,那是给网页链接用的,API 调用不需要。

4. 验证请求:跑一次模拟面试

配置写完,进项目目录启动:

cd ai-interview-engine claude

第一句话直接说需求:

我要准备 C++ 后端开发面试,目标是大厂实习。开始复习。

正常的话,Claude 会先读rules/interview.md和knowledge/interview_tracker.md,然后检查哪些知识点到期。因为 tracker 里虚函数表标了薄弱、condition_variable待复习,它应该优先出这两块的题,而不是随便问一个。

我实测下来,它会问类似这样的问题:

你的 BoundedQueue 用了两个 condition_variable(not_full_ 和 not_empty_), 用一个行不行?说说为什么。

这就是从项目代码出发的追问,比“请解释 condition_variable”有用得多。你答错时,它必须走讲解流程,给参考资料,再出验证题,通过了才放行。

想单独验证模型通道通不通,可以先在模型对话页面发一条测试:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。如果那边正常、CLI 报错,问题多半在settings.json的 Key 或 base URL。

5. 本篇常见错排查

5.1 Claude 还是只说 “Great” 就跳题

大概率是CLAUDE.md没被加载。检查两点:文件是否在项目根目录、文件名是否严格是CLAUDE.md(大小写敏感)。另外确认rules/interview.md路径写对了,Claude 读不到规则就会退回默认的“陪聊”行为。

5.2 会话开始不检查复习调度

knowledge/interview_tracker.md里的日期格式要统一,我用的是MM-DD。如果格式混乱,Claude 算不出 D+1、D+2 这些节点,就不会触发复习。表格列名也别改,规则文件里是按列名读的。

5.3 API 报 401 或连接失败

先看settings.json里ANTHROPIC_API_KEY是不是完整的sk-字符串,有没有多余空格。再看ANTHROPIC_BASE_URL是不是 https://taotoken.net/api ,末尾不要加斜杠。如果还不行,去 API Keys 页面重新生成一个:https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。

5.4 出题只问一个模块

规则里写了“混合 3-4 个模块”,但如果interview_tracker.md里知识点太少,Claude 没得混。至少填 8-10 个知识点,覆盖内存管理、并发、STL、网络几个方向,它才有得选。

5.5 收尾流程不触发

触发词是“今天就到这”,规则文件里写死的。如果你说的是“结束吧”“不练了”,它可能不认。要么按触发词说,要么在rules/interview.md里把触发词补全。

6. 长期编码和 Agent 场景怎么接

这套引擎跑通后,如果你打算长期用它练 C++、甚至扩展到 Java/Go 面试,或者把它当成日常编码的 Agent 底座,可以走 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。它适合需要持续调用、多轮会话的场景,比单次对话更省心。

Claude Code 的 CLI 接入细节,包括环境变量和权限配置,文档里写得更全:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。如果你用的是 Claude Code 的 Anthropic 兼容通道,参考这个页面:https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 。

我自己的用法是:平时练面试走模型对话快速验证,正式训练开 Claude Code 跑规则文件,长期挂着就用 Coding Plan。三条通道共用一个 Key,管理起来不乱。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 13:37:36

Linux PCIe驱动开发实战:设备匹配、probe、BAR映射与避坑指南

上一篇我们把 PCI 总线的初始化流程、设备枚举和总线的底层数据结构捋了一遍,算是把“硬件怎么变成软件眼中的 pci_dev”这件事讲清楚了。这一篇我们把视角转到驱动侧,聚焦在 Linux 内核里 PCI 驱动的标准框架上:一个 PCI 驱动注册时会发生什…

作者头像 李华
网站建设 2026/9/27 13:35:04

基于SpringBoot残障人士就业帮扶系统-附源码

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

作者头像 李华
网站建设 2026/9/27 13:25:17

普林斯顿 OpenClaw 科学代理生态:Claw4Science 数据集与平台配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/27 13:23:12

告别论文焦虑:TaoToken 统一 Key 接入 6 款 2026 优质 AI 论文网站横评

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/27 13:14:25

LLM编程框架有哪些?TaoToken统一Key接入Cline与CC Switch的配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华