Vibe Engines 是免费的交互式 AI 工程与系统设计课程——可直接在浏览器中运行。选择学习路径 →
FDE 面试准备/ OpenAI
OpenAI 的 FDE 面试
OpenAI 的 FDE 职位要求你负责从需求探索到生产上线的完整部署,而一位具名候选人所描述的面试流程正是为此设计的。核心环节是一份分量很重的带回家作业,随后你必须当着镜头为其答辩。构建只是基本门槛;答辩才是真正的面试。
这个职位在这里意味着什么
OpenAI 的 FDE 职位描述写道,FDE 要“与我们最重要的战略客户一起,主导前沿模型在生产环境中的复杂端到端部署”:包括需求探索、技术范围界定、系统设计、构建和生产上线。成功与否通过生产环境采用率、工作流影响以及“能够改变产品和模型路线图的评测驱动反馈”来衡量,出差比例最高可达 50%。first-party71
截至撰写本文时,OpenAI 自己的招聘板上在前沿部署工程团队下列出了 31 个职位,涵盖医疗健康、金融服务和法律等垂直领域,地区从纽约到东京。first-party79
对候选人的实际启示:这是研究型公司中的一个应用型职位。筛选的并不是深厚的模型专业知识。真正考察的是,你能否拿着一个 API、一个混乱的企业问题和一个持怀疑态度的利益相关者,做出真正可用并被实际使用的东西。
FDE、前沿部署软件工程师,还是架构师?
OpenAI 招聘多个名称相似的面向客户的技术职位。各职位描述对它们的区分很明确;请确保你面试的是自己想要的那个。
| 职位 | 职位描述中说明的职责 | 谁负责生产环境 |
|---|---|---|
| 前沿部署工程师 | 负责各部署项目的技术交付,从首个原型到稳定的生产环境;构建全栈系统;界定工作范围并安排工作顺序。71 | 你,直到上线完成。 |
| 前沿部署软件工程师 | 基于 OpenAI 的 API 构建定制软件,与客户团队并肩编码,并设计能加速每一次 FDE 项目的抽象层。要求 7 年以上全栈工作经验。72 | 负责构建;与 FDE 协作。 |
| 应用 AI 工程师,企业级 | 设计、构建和部署 AI 系统,包括动手编写代码、构建评测框架和推动生产上线。74 | 与客户团队共同负责。 |
| 应用 AI 架构师 | “你所负责客户组合的 CTO”:从售前需求探索到落地采用的技术客户方案,并调动交付专家资源。“一旦启动,交付团队负责实施执行。”73 | 负责结果,而非实施。 |
这与 FDE vs solutions engineer 中的核心问题相呼应:系统上线运行后,谁为之负责?我在 OpenAI 的招聘板上没有找到通用的 Solutions Engineer 职位——仅有 Ads Solutions 相关的岗位——因此解决方案架构师是最接近“售前到落地采用”的对应角色。可以预期这个环节更侧重设计和客户策略,而 FDE 环节则包含更多编码。
流程概览
基于一位具名候选人的第一手经历;OpenAI 不公开各阶段细节,且流程可能变动。请与你的招聘人员核实。
招聘人员初筛
约 30 分钟,考察你为何特别想做面向客户的技术工作,以及你是否在生产环境中部署过 AI 并处理过各种混乱局面。具名第一手21
准备: 准备一个两分钟的故事,讲述你端到端交付过的某个东西,包括它带来的关键指标变化以及你当时做错的地方。
带回家作业——约五小时,基于 OpenAI 的 API 构建
一个基于 API 的实质性项目,需附带录制的视频演示。具名第一手21 该候选人强调生产环境考量:错误处理、优雅降级、日志记录。
准备: 练习限时范围界定。交付一个更小但完整、经过测试且可解释的作品,而不是一个更大但半成品的东西。
针对你提交作品的技术面试
一场 60 分钟的面试,围绕你的带回家作业展开:为什么采用这种分块策略,为什么不用其他检索方法,数据量扩大 100 倍时会有什么变化。随后涉及限流、重试、提示词稳健性、超越“看起来对不对”的质量评测,以及推理管道中的延迟诊断。具名第一手21
虚拟现场面试:三场 60 分钟的环节
一场与招聘经理的对话,围绕面向客户的经验;一场解决方案设计环节,基于一个开放式的客户场景——面试官曾打断候选人,因为对方在还没询问客户需要回答哪些问题之前就跳到了架构设计;还有一场技术深挖,涉及 RAG、微调权衡、防护栏和评估。具名第一手21 同一位候选人表示整个流程大约持续三周。
准备: 客户角色扮演模拟器 涵盖了客户场景的各种类型。
大多数工程面试流程把带回家作业当作筛选,把现场面试当作决策环节。而在这里,带回家作业是后续环节深入盘问的对象。请相应分配你的精力:一个范围明确、四小时完成且答辩出色的作品,胜过一个八小时完成却无法自圆其说的作品。
练习用带回家作业,附评分标准
一份仿照所报道的带回家作业风格(而非 OpenAI 的)编写的任务说明。限时五小时完成,录制演示视频,然后给自己打分。
某制造商有 400 份供应商合同,均为 PDF。采购部门想知道每份合同的供应商、续约日期、通知期以及是否自动续约,并希望用自然语言提出后续问题。有些合同是扫描件,有些是对早期合同的修订,而且没有人说明准确率要求是多少。你手上有 OpenAI API 和十个标注样本。交付一份采购部门周一就能试用的东西,外加一段五分钟的视频。
陷阱所在
- 十个标注样本不构成评测集。你会指出来并扩充它吗?
- 修订合同中的“续约日期”会覆盖原始合同。你能注意到吗?
- 缺失字段是正常情况,不是错误。
- API 会在处理 400 个文件的中途对你进行限流。
- 准确率没有定义。你能提出一个目标值,并明确由谁来签字确认吗?
一份优秀的提交作品
- 范围备忘录,包括你没有构建的内容(无 UI、不做 OCR 调优)。
- 带可空字段的类型化抽取,并为低置信度结果提供人工审核通道。
- 支持重试、可断点续跑的批量运行,以及逐文件的错误日志。
- 一次留出集检验,注明所用指标并列出失败案例。
- 一段运行手册说明和一节“再多两天”的内容。
| 评分标准(分值) | 满分表现 | 常见失分 |
|---|---|---|
| 范围界定(4) | 在编码前写好;明确列出裁剪项及理由。 | README 只描述做了什么,而不是拒绝了什么。 |
| 一条完整路径(4) | PDF 输入,输出经过校验的记录,错误有处理通道。 | 只有正常路径;一个坏文件就导致整批失败。 |
| 验证(4) | 有指标、目标值、标注的失败案例,并对 n=10 的情况如实说明。 | “在我的样本上能跑通。” |
| API 熟练度(3) | 结构化输出、带退避的重试、合理的状态处理。 | 对自由文本用正则;没有限流处理。 |
| 可运维性(2) | 如何运行、最先坏掉的是什么、要记录什么日志。 | 没有任何说明。 |
| 讲解演示(3) | 五分钟内讲清问题、决策与权衡;展示一个失败案例。 | 逐行念代码。 |
满分 20 分;低于 14 分在竞争性筛选流程中无法晋级。关于计时方法和第二份规格说明,参见带回家作业指南。
2026 年值得了解的 OpenAI API 要点
已于 2026 年 10 月对照 OpenAI 官方文档核实。值得注意的是哪些内容正在被淘汰:一个基于即将停用的 API 来构建的候选人,说明他们没有持续关注文档。
import json from typing import Optional from openai import OpenAI from pydantic import BaseModel client = OpenAI() # 1. 结构化输出:schema 就是契约。严格模式要求每个字段都必填, # 所以“可选”要用可空(nullable)来表达。 class Renewal(BaseModel): supplier: str renewal_date: Optional[str] notice_days: Optional[int] auto_renews: bool r = client.responses.parse(model=MODEL, input=contract_text, text_format=Renewal) renewal = r.output_parsed # 在信任结果之前先检查是否有拒绝(refusal);如有则转给人工处理 # 2. 工具调用往返:每个 function_call 都由一个 function_call_output 回应,call_id 相同。 r = client.responses.create(model=MODEL, input=items, tools=TOOLS) items += r.output for item in r.output: if item.type == "function_call": result = run_tool(item.name, json.loads(item.arguments)) items.append({"type": "function_call_output", "call_id": item.call_id, "output": json.dumps(result)}) r = client.responses.create(model=MODEL, input=items, tools=TOOLS) # 3. 状态保存在服务端,而不是每一轮都重发整个对话记录。 r = client.responses.create(model=MODEL, previous_response_id=r.id, input="And the notice period?")
| 要点 | 需要能说清楚什么 |
|---|---|
| Responses API | 当前的接口。工具调用以 function_call 项的形式到达,你用一个携带相同 call_id 的 function_call_output 来回应;previous_response_id 把状态保存在服务端。75 |
| 结构化输出 | 模型必须遵循的严格 JSON Schema;在 Python SDK 中通过 text_format 配合 Pydantic 模型使用。严格模式要求每个字段都必填,所以可选意味着可空(nullable),并且拒绝(refusal)可以通过程序检测。76 |
| Agents SDK | Agent、工具、交接(handoff)、护栏、会话和追踪;Runner.run_sync(agent, input) 返回 final_output。要了解它隐藏了什么,就像 Sierra 的 take-home 那样。78 |
| 评测 | OpenAI 已宣布 Evals 平台将于 2026 年 10 月 31 日变为只读,并于 2026 年 11 月 30 日关闭,并指出现已并入 OpenAI 的 Promptfoo 作为迁移路径。请把你的黄金数据集和评分器保存在自己的代码仓库中。77 |
| 已退役或即将退役 | Assistants API 原定于 2026 年 8 月 26 日关闭,由 Responses 和 Conversations API 取代;Agent Builder 定于 2026 年 11 月 30 日关闭。77 |
平台在客户使用期间被弃用,是 FDE 的常见事故。资深的回答是:数据集、评分标准和通过标准归客户所有,并纳入版本控制,这样即使运行器更换,度量标准也不会改变。用于客户工作的评测 →
如何赢下 take-home
考核看重的是判断力而非数量。以下六个习惯就是它的具体体现。
| 习惯 | 实际要做什么 |
|---|---|
| 先写范围说明 | 在 README 中写一节:你构建了什么、刻意没做什么、为什么。在写代码之前先写好,之后保持如实更新。 |
| 把一件事做完整 | 一条端到端跑通的窄路径——输入、处理、输出、错误处理——胜过三个半成品功能。 |
| 显式处理那些难看的场景 | 限流、超时、格式错误的响应、部分失败。这正是这个岗位存在的企业现实。 |
| 展示你如何证明它有效 | 测试、评测,或可复现的验证。没有证据的“它能用”是 FDE 面试流程中最弱的信号。 |
| 留下一份操作手册 | 如何运行、最先坏掉的是什么、你会监控什么。两段话即可。几乎没人这么做,而这会显得你很资深。 |
| 说出权衡取舍 | 三个决策,附上你否决的替代方案及原因。这些会成为你的答辩脚本。 |
带回家作业加答辩,作为一次演练
一份限时规格说明、一份评分标准和一份答辩清单——与传闻中的面试流程相同的结构。
客户场景环节
在传闻中的流程里,这些环节安排在现场面试中,而工程师对此的准备普遍严重不足。
它们是什么样的
- “客户想要一个你知道无法解决他们问题的功能。你会怎么做?”
- “你的部署因等待数据访问权限已停滞三周。带我走一遍接下来的两周。”
- “演示在客户 CTO 面前当场失败了。带我走一遍接下来的六十秒。”
- “你会如何衡量这次部署是否成功?”
什么样的表现得分高
- 在设计任何东西之前,先问清客户真正想达成什么。
- 诚实地指出约束,然后给出一条路径——而不是一个承诺。
- 对每个问题都准备好衡量方案。评测是 FDE 的母语。
- 展示你在被阻塞时仍会保持推进,而不是干等。
衡量这一点在 OpenAI 尤其重要:FDE 招聘启事本身就将以评测驱动的反馈列为成功衡量标准。71 把模糊的客户目标转化为黄金数据集、校准过的评判器和一道门槛,正是区分出色回答与看似合理回答的技能。客户工作的评测 →
全景图:一份交付物,两次被审视
实例演示:按评分标准为两份提交打分
针对上述供应商合同任务的两份示例提交。A 做了一个聊天界面,调优了 OCR,并能对全部 400 份合同回答问题。B 则遵循了“强提交”清单。以下是两者在该页面 20 分评分标准上的得分。
| 评分标准(分值) | A:大而全的构建 | B:范围受限的构建 |
|---|---|---|
| 范围界定(4) | 1:README 罗列功能,没有取舍 | 4:先写备忘录;砍掉 UI 和 OCR 调优,并说明理由 |
| 一条完整路径(4) | 2:只有正常路径;一张坏扫描件就中断整批处理 | 4:PDF 进,校验后的记录出,失败项转入人工审核 |
| 验证(4) | 0:“在我的样本上能跑” | 3:10 个对 9 个,列出漏掉的那个,标注 n=10;未扩大样本集 |
| API 熟练度(3) | 1:对自由文本用正则 | 3:结构化输出、可空字段、带退避的重试 |
| 可操作性 (2) | 0:无说明 | 2:如何运行、最先坏掉的是什么、要记录什么日志 |
| 演示讲解 (3) | 1:逐行阅读代码 | 2:展示一次故障;运行时间超过五分钟 |
| 总分(满分:14) | 5 | 18 |
A 做了更多工作却得了 5 分。B 做得更少却得了 18 分。看看验证那一行。十个标签对了九个听起来像 90%,但只有十个标签时,诚实的区间是很宽的:10 个中 9 个的 95% Wilson 区间大约从 60% 到 98%。B 得分的原因是把这一点明说出来,并提议扩充标签集,同时由采购方确认目标。B 仍因没有实际扩充标签集而丢了一分,而这一分是剩下最便宜的改进项。
成本与权衡:如何花掉这五个小时
这里 Time 是五个小时的大致占比(仅为示意),Space 是这项工作能拿到的评分点,Why 是做它或砍掉它的理由。
| 案例 | Time | Space | Why |
|---|---|---|---|
| 范围备忘录 | 约 15 分钟 | 范围界定 (4) | 评分标准上最便宜的分数,也是你答辩的开端。 |
| 带类型的提取、可空字段 | 约 1 小时 | 单一路径、API 熟练度 | Schema 就是契约。缺失的字段应变为 null,而不是报错。 |
| 带重试与断点续跑的批处理 | 约 1 小时 | 单一路径、API 熟练度 | 你会在处理 400 个文件的中途被限流。这正是测试的一部分。 |
| 扩充标签、留出集校验 | 约 1 小时 | 验证 (4) | 把“能跑通”变成一个带区间的数字。 |
| 运行手册和视频 | 约 45 分钟 | 可操作性 (2)、演示讲解 (3) | 几乎没人去拿的容易分。 |
| 聊天界面或 OCR 调优 | 不设上限 | 无直接得分 | 明确把它列为砍掉项。把它做出来正是拖垮 A 的原因。 |
保留的行加起来大约 4 小时,剩下 1 小时留给各种意外。这个缓冲就是本页所说“一个范围界定良好的四小时构建胜过八小时构建”的含义。
自我检测
你的批处理在第 230 个文件(共 400 个)时遇到限流。代码应该已经具备什么能力?
用指数退避重试该调用,并记录每个文件的状态,使重启后从第 230 个文件继续,而不是从第 1 个文件重来。仍然失败的文件进入错误日志,而不是导致崩溃。评分标准在“单条完整路径”下检查这一点,而且任务简报已经预示了它,所以不处理它会被解读为没有读过简报。
一份合同中没有任何通知期的条款。你的提取器返回什么?
null
for
notice_days
。严格的结构化输出要求每个字段都必填,所以“可选”就是一个可空类型。字段缺失是正常情况,不是错误。不要猜测一个默认值,那会被采购方当成真实答案。如果该字段对这类合同很重要,就把它路由到人工审核。
一份修订案更改了续约日期。你的记录中保存的是哪个日期?
修订案的问题。要把每份供应商合同及其修订案放在一起处理,按日期顺序应用,并记录每个字段来自哪份文件。单独阅读每份 PDF 会得到两条相互冲突的记录,而这正是题目埋下的陷阱。
在技术面试中,你被问到提取器的准确率如何。你的标签中 10 个对了 9 个。你会怎么回答?
“在十个标签上,大约在 60% 到 98% 之间,所以我还不知道。”这就是 10 个中 9 个的 95% Wilson 区间。然后说明你会如何收窄区间:标注更多合同,包括扫描件和修订案,并与采购部门中负责该结果的人商定目标。回答“90%”会显得你不明白十个标签能告诉你什么。
快速问答
OpenAI 前沿部署工程师的面试流程是什么?
一份具名的第一手经历描述了以下流程:招聘人员初筛、一个约五小时的家庭作业(基于 OpenAI 的 API 构建,并附上录制的视频讲解)、一次 60 分钟针对你提交作品的技术面试,以及一次线上 onsite,包含三场 60 分钟的环节:招聘经理面试、方案设计和技术深挖。整个流程历时约三周。OpenAI 不公布各阶段细节,请与你的招聘人员核实。
OpenAI FDE 的家庭作业需要多长时间?
据报道约需五小时工作量,用 OpenAI 的 API 构建某个东西,并附上视频讲解提交。同一份经历提到,讲解应聚焦于决策和权衡,而不是逐行讲解代码,并且错误处理、优雅降级和日志记录等生产环境问题也很重要。一个范围明确、能有力答辩的小型作品,胜过一个你无法自圆其说的大型作品。
OpenAI FDE 和应用 AI 架构师有什么区别?
OpenAI 的职位描述将 FDE 描述为负责从首个原型到稳定生产的技术交付、编写生产代码,而应用 AI 架构师是客户组合的技术负责人,从售前到落地全程塑造策略,并依靠交付团队进行实施。另一个独立的前沿部署软件工程师职位则专注于基于 API 构建定制软件。
为 FDE 面试,我应该了解哪些 OpenAI API?
带函数调用和结构化输出的 Responses API、Agents SDK,以及评估自己系统的方法。要知道哪些正在被淘汰:OpenAI 的弃用页面安排 Assistants API 于 2026 年 8 月 26 日停用,Evals 平台和 Agent Builder 于 2026 年 11 月 30 日停用。把评测数据集和评分器保存在你自己的代码库中,这样它们才能在平台变更后继续可用。
我该如何准备 OpenAI FDE 的 onsite?
演练客户场景:现场演示失败、部署停滞、客户要求错误的功能,以及一个你应当拒绝的请求。每次都要从关于客户目标的问题开始,而不是从架构开始,并准备好一个衡量答案:黄金集、校准过的评判器和一道门禁。准备好深入讨论 RAG、微调权衡、防护栏和评测。
来源
本页上的每个数字都可追溯到以下来源之一。如果某个数字是自报或众包而非第一方数据,会在行内标注。
本页引用的来源
- Gaijineer — OpenAI 前沿部署工程师面试流程 — 第一手候选人叙述。 gaijineer.co/openai-forward-deployed-engineer-interview-process
- OpenAI — 前沿部署工程师(FDE),旧金山(职位发布,第一方) — 从探索到生产上线;以评测驱动的反馈;出差最多 50%。 jobs.ashbyhq.com/openai/967f94aa-1706-4dba-ac89-bfbc2c38b688
- OpenAI — 前沿部署软件工程师,旧金山(职位发布,第一方) — jobs.ashbyhq.com/openai/00207abc-49b7-465c-a219-f7c1140f8047
- OpenAI — 应用 AI 架构师,企业(职位发布,第一方) — “你客户群的 CTO”;交付团队负责实施。 jobs.ashbyhq.com/openai/1953efa7-5c1f-4878-b4cb-926cd35aafdb
- OpenAI — 应用 AI 工程师,企业(职位发布,第一方) — jobs.ashbyhq.com/openai/01091aed-427d-4e10-8cdb-fb500cf55bb9
- OpenAI API 文档 — 函数调用 — developers.openai.com/api/docs/guides/function-calling
- OpenAI API 文档 — 结构化模型输出 — developers.openai.com/api/docs/guides/structured-outputs
- OpenAI API 文档 — 弃用 — Assistants API、Evals 平台和 Agent Builder 的时间表。 developers.openai.com/api/docs/deprecations
- OpenAI — Python 版 Agents SDK(README) — github.com/openai/openai-agents-python
- OpenAI — 招聘看板(2026 年 10 月 22 日统计) — 前沿部署工程团队有 31 个职位发布。 jobs.ashbyhq.com/openai
下一篇:Anthropic 应用 AI / FDE 面试 →“如何受聘为 FDE”阶梯的下一篇 · 第 7 级,共 9 级
探索该主题
将本页与同一主题的所有其他内容放在一起查看——手册、系统设计、挑战和工具,尽在一处。
更多手册
- Agentic AI 面试手册每个资深 AI 工程师都应能现场推理的 20 个主题——从评测流水线到生成式系统的可靠性模式。阅读 →
- 资深 AI 工程师面试手册涵盖架构、生产事故、Agentic 系统、RAG、评测、成本、安全和领导力的 60 个问题——staff 级 AI 面试官实际考察的内容。阅读 →
- 50 道 Angular 面试题一份可视化手册,涵盖组件、变更检测、RxJS、signals、路由、表单、性能与测试——资深 Angular 岗位面试官真正会考察的内容。阅读 →
- 50 道 Python 面试题从基础到进阶:数据结构、面向对象、迭代器与生成器、GIL、asyncio、内存、测试与标准库——以可视化方式梳理 Python 面试涉及的方方面面。阅读 →
- 51 道 LLM 评测面试题黄金数据集、LLM-as-judge、回归测试、离线与在线评测、RAG 评测、Agent 评测、红队测试与可观测性——为面试和生产环境一一解惑。阅读 →
- AI Agent 评估手册一份关于评估 AI Agent 的独立手册——理论、交互式组件与实操指南。涵盖轨迹评测、工具使用打分、LLM-as-judge、可观测性与可靠性,适合产品经理、工程师和创始人阅读。阅读 →