AI PLAY玩法更新持续收录
← 回到更新流

2026-09-22 · 原文发布日

技术面试题自动生成复习卡

受 Basic Auth 保护的 n8n Form 收集面试题、目标岗位和可选草稿答案,校验长度后调用 OpenAI Chat Completions 要求只回 JSON。结果解析为 topic、难度、参考答案、关键概念、常见错误、追问和草稿反馈,拼成 Sheets 行并设置三天后 review_on,再把摘要经 Gmail 发给收件人。作者提示 AI 解释可能有误,且未在真实 n8n 与凭证环境端到端测过。

原文要点

免费 n8n 模板:受 Basic Auth 保护的 n8n Form 收集面试题、目标岗位和可选草稿答案,校验必填与长度后调 OpenAI Chat Completions 并要求只回 JSON。解析出 topic、难度、参考答案、关键概念、常见错误、追问、草稿反馈,拼成 Sheets 行并把 review_on 设为三天后,再用 Gmail 发摘要。作者明确说明:仅用 mock 数据检查过结构,未在真实 n8n 与凭证环境端到端测过;AI 解释可能有误;Gmail 失败时只重试该步,否则 Sheets 会重复追加。表头固定为 created_at 到 status 共 13 列。

这次做成什么

复刻一条“面试题→AI 结构化复习卡→落表→邮件摘要”的练习流程,并用三道合成题验证 JSON 解析、三天复习日期与失败重试边界。

准备什么

  • 一个可创建 n8n Form 触发器的 n8n 实例
  • OpenAI API 密钥及支持 JSON 输出的聊天模型(如账号可用的 gpt-4o-mini)
  • 一个测试 Google 账号及 Sheets、Gmail OAuth 凭据(练习可先发到自己邮箱)
  • 用于 Form Basic Auth 的一对测试账号密码,不要用真实常用密码

具体怎么做

  1. 建表与配置项

    在测试 Sheets 第一行精确写入表头:created_at、question、target_role、draft_answer、topic、difficulty、reference_answer、key_concepts、common_mistakes、follow_up_questions、draft_feedback、review_on、status。在 n8n 用一个 Set 节点放配置:spreadsheet_id、worksheet 名、收件邮箱、模型名,后续节点全部引用此处,便于改一处全局生效。

  2. 建表单与校验

    添加 n8n Form 触发器,字段:question(必填)、target_role(必填)、draft_answer(可选)。开启 Basic Auth 并新建一对测试凭据。接 IF 节点校验:question 去除空白后不少于 10 字符、target_role 非空;不满足直接以表单错误页返回提示,不调 AI、不写表,避免浪费额度。

  3. 调 AI 并解析 JSON

    接 OpenAI Chat Completions 请求,system 与 user 消息用下方提示词,response_format 设为 JSON 对象模式。接到响应后用 Code 节点 JSON.parse 内容,并校验七个字段(topic、difficulty、reference_answer、key_concepts、common_mistakes、follow_up_questions、draft_feedback)都存在;解析失败走错误分支写日志而不是写表。

  4. 算复习日期并写表

    在 Code 节点取当前时间加 72 小时得到 review_on(仅作建议日期,模板不会自动提醒),按表头顺序拼一行:created_at 用当前 ISO 时间,status 填 new,数组字段用顿号连接成字符串。用 Google Sheets Append 追加。随后把摘要拼成纯文本邮件,用 Gmail 节点发给配置中的收件人(练习发自己)。

  5. 验证失败重试边界

    故意把 Gmail 节点指向无效凭据跑一次,确认 Sheets 已追加而邮件失败;然后只手动重试 Gmail 节点,不要整条工作流重跑,否则会按作者提醒出现重复行。测试结束恢复凭据并删除测试行。

可直接复制的材料

复习卡生成提示词

本站独立编写;变量名对应表单字段。AI 内容未经专业核验,用于自学参考。

你是资深技术面试官。用户会给出一道面试题、目标岗位和一段可选的草稿答案。只输出一个 JSON 对象,不要输出任何其他文字或代码块标记。
字段:
- topic:题目所属技术主题,2 到 6 个字
- difficulty:easy、medium、hard 之一
- reference_answer:300 字以内中文参考回答,结构清晰
- key_concepts:数组,3 到 5 个必须答到的概念
- common_mistakes:数组,2 到 3 个常见错误答法
- follow_up_questions:数组,恰好 2 个面试官可能追问的问题
- draft_feedback:若给了草稿答案,指出一处优点和一处不足;没给就填"未提供草稿"
面试题:{{$json.question}}
目标岗位:{{$json.target_role}}
草稿答案:{{$json.draft_answer}}

表单测试数据(合成)

本站虚构练习题,可直接粘贴到表单测试 URL;草稿故意写得简略以触发反馈字段。

{
  "question": "HTTPS 握手过程中证书是如何被验证的?如果中间人换掉证书会怎样?",
  "target_role": "后端开发工程师",
  "draft_answer": "客户端会检查证书是否由受信任的 CA 签发,中间人换证书后浏览器会报警告。"
}

输入与输出示例

本站虚构演示,字段对应关系供核对,非真实 AI 调用结果;具体措辞每次不同。

输入

表单提交:question 为上方 HTTPS 证书题,target_role 为后端开发工程师,draft_answer 为一句话草稿;提交时间为 2026-10-12T09:00:00+08:00。

对应输出

Sheets 追加一行:created_at=2026-10-12T09:00:00+08:00,topic=网络安全,difficulty=medium,reference_answer 约 250 字涵盖证书链与域名校验,key_concepts="证书链、CA 信任库、域名匹配、吊销检查",common_mistakes="只说加密不说身份验证、忽略域名匹配",follow_up_questions="HSTS 解决什么问题?、证书 pinning 的利弊?",draft_feedback="优点:提到信任链与警告;不足:未说明域名匹配与握手失败后的行为",review_on=2026-10-15T09:00:00+08:00,status=new;邮件正文为同内容纯文本摘要。

做完检查这些

  • 少于 10 字符的 question 被表单直接拒绝,AI 调用次数与 Sheets 行数都不变
  • 每次成功提交后 Sheets 恰好多一行,且 review_on 正好是 created_at 加 72 小时
  • AI 返回非 JSON 时进入错误分支,不写表、不发邮件
  • Gmail 失败后单独重试邮件节点,Sheets 不出现第二行相同记录

容易卡住的地方

  • 作者明确说明该工作流未在真实 n8n 与凭证环境端到端测过,界面与字段需在你的实例里逐项核对
  • AI 生成的参考答案可能有技术错误,只能当复习草稿,重要面试前需对照官方文档核验
  • review_on 只是记录的建议日期,模板本身不会到点提醒,需要提醒得另加定时流程
  • 不要把公司保密面试题或未授权题目提交给 OpenAI 与 Google
  • 模型名必须是你账号实际可用的,照抄模板示例名可能报模型不存在

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Create technical interview study guides with OpenAI, Google Sheets, and Gmail
原作者
SkillCopilotAI
原始发布日期
2026-09-22T03:48:12.172Z
来源
https://n8n.io/workflows/19806