FDE Times 数据在招 FDE 职位 798▼30 近 7 天在招职位数的变化(同口径比较):不计入本周新开始追踪的公司的职位近 7 天新增 67在招公司 139支持远程 25%美国薪资中位数 $202k招聘最多 Databricks 108
ENVI

前线部署工程师(FDE)的专业媒体

技能指南 · 指南

Anthropic FDE 面试:把岗位描述当成每一轮的复习大纲

把岗位描述当作教学大纲来读。每一条要求都说明了该练哪项技能,也暗示了哪一轮最可能考到它。

Anthropic FDE 面试相关配图,主题是把岗位描述当作每一轮面试的复习大纲。
图片:Danial Igdery / Unsplash: 图片:Danial Igdery / Unsplash
分享微博

要点速览

  • Anthropic 的 FDE 岗位要求有生产环境 LLM 经验、扎实的 Python,以及在情况不明时自己找到方向的能力。先准备这几项。
  • 一份面试准备指南描述的流程包括:招聘方电话、围绕 Claude 和 MCP 的技术面、每一步追加一个需求的编码题,以及结合行为面试问题的设计轮。
  • 准备阶段可以用 Claude,但现场面试和带回家完成的作业中不能用,除非面试官允许。
四个面试轮次方框用箭头相连:招聘方电话、技术面(橙色高亮,标注“差异最大”)、编码轮和终面。每轮用一条竖线连到下方它考察的要求:4 年以上与客户合作的经验、MCP 服务器与智能体、扎实的 Python、善于找办法。
示例流程共四轮,每轮可能考察岗位描述中的一条要求。技术面以用 MCP 部署 Claude 为核心,与常见的刷算法套路大不相同。来源:Anthropic 伦敦 FDE 岗位描述;Exponent/Aced 面试准备指南。

打开 Anthropic 在伦敦招聘前线部署工程师(FDE)的岗位描述,有一行很容易一眼扫过:25%–50% 的时间要出差到客户那里,与客户一起直接构建。乍看这只是出差安排,其实它说明这个岗位要的是能当着客户的面把东西做出来的人,而不只是擅长算法题的人。

所以,最有效的准备方法是把岗位描述本身当作教学大纲,把每条要求对应到最可能考它的那一轮。

岗位描述是教学大纲,不是广告

根据岗位描述,这个岗位隶属 Applied AI 团队。FDE 在客户自己的系统里用 Claude 构建生产级应用,交付物很具体:MCP 服务器、子智能体(sub-agent)和智能体技能(agent skill)。这是一份你必须能亲手做出来的清单,而不只是叫得出名字。

任职要求同样直白。候选人需要 4 年以上面向客户的技术岗位经验,例如 FDE。

还需要 LLM 的生产环境经验,包括高级提示工程和智能体开发;需要扎实的 Python;岗位描述还希望候选人高度自驱,能在规模大、层级多、情况模糊的组织里找到方向。

每条要求都能对应到最可能涉及它的那一轮。所以第一件事不是打开刷题网站,而是先把这张对应表做出来。

四轮面试,每轮考一项能力

Exponent/Aced 的一份面试准备指南列出了这个岗位的一个示例流程。第一轮是 30 分钟的招聘方电话,聊你的背景、动机、推荐人以及适合你的职级。

接下来是技术面,围绕一个真实场景展开:用 MCP 工具部署 Claude,并在上下文变得很长时保持系统稳定。

据同一份指南,编码轮是在类似 CodeSignal 的平台上完成的分步实操题,每一步追加一个新需求。

终面包含两部分:方案设计,即为客户设计 Claude 系统的架构;以及关于行为和公司价值观的问题。

这只是示例流程,并非固定安排,具体轮次顺序请向你的招聘方确认。

岗位描述中的要求 最可能考察的轮次 准备方法
交付 MCP 服务器、子智能体、智能体技能 技术面 搭一个把 Claude 接入真实数据源的小型 MCP 服务器
高级提示工程、智能体开发 技术面、设计轮 准备一组测试用例,用来对比两个版本的提示词
扎实的 Python 增量编码轮 练习写小而易扩展的函数,每一步都配测试
在情况不明时找到方向 设计轮、行为面试 练习在画架构之前先提澄清问题
4 年以上与客户合作的经验 招聘方电话、行为面试 准备三个故事,每个都包含客户、冲突和结果

示例:每一步追加一个需求的编码题

设想下面这道题。这是练习题,不是真实面试题。第一步:输入一组 JSON 格式的支持工单,按客户分组。第二步:去掉内容重复的工单。第三步:发送给模型之前做裁剪,让每个客户的总长度不超过某个阈值。

陷阱在于把第一步写成一个长函数。到了第三步,你只能在计时中把它拆开重写。更稳妥的做法是让每个需求都是一个纯函数,这样新需求只需在链条上多加一环:

from dataclasses import dataclass
from collections import defaultdict

@dataclass(frozen=True)
class Ticket:
    id: str
    customer: str
    created_at: str  # ISO 8601,例如 "2026-03-01T09:30:00Z"
    text: str

def load(rows: list[dict]) -> list[Ticket]:
    return [Ticket(r["id"], r["customer"], r["created_at"], r["text"].strip())
            for r in rows]

def dedupe(tickets: list[Ticket]) -> list[Ticket]:          # 第 2 步
    seen, out = set(), []
    for t in tickets:
        key = (t.customer, t.text.lower())
        if key not in seen:
            seen.add(key)
            out.append(t)
    return out

def group(tickets: list[Ticket]) -> dict[str, list[Ticket]]:  # 第 1 步
    groups = defaultdict(list)
    for t in tickets:
        groups[t.customer].append(t)
    return dict(groups)

def budget(groups, max_chars: int):                            # 第 3 步
    trimmed = {}
    for customer, items in groups.items():
        total, kept = 0, []
        # 最新的优先:同一时区的 ISO 8601 字符串按字典序排序即为时间顺序
        for t in sorted(items, key=lambda t: t.created_at, reverse=True):
            if total + len(t.text) > max_chars:
                break
            kept.append(t)
            total += len(t.text)
        trimmed[customer] = kept
    return trimmed

def pipeline(rows, max_chars=4000):
    return budget(group(dedupe(load(rows))), max_chars)

第三步按工单创建时间排序,而不是按 id,因为 id 大不一定代表工单更新。如果数据里没有时间戳字段,先把你的假设说清楚,再退而使用 id。

真正得分的是你边写边说的内容,而不是代码本身。把取舍讲明白:你保留最新的工单,是因为假设它们更相关;如果这个假设不成立,你会去跟客户确认。

这个上下文预算问题,也很接近技术面核心的长上下文稳定性问题。

设计轮:先提问,后画图

岗位描述强调在情况不明时找到方向的能力,因此设计题很可能故意省略大量细节。要养成先问再画的习惯。

假设面试官说:“一家保险公司希望员工能向 Claude 询问保单条款。”不要马上画一张带向量数据库的架构图,可以先问几个问题。

可以从这三个问题开始:“谁会使用它,是呼叫中心员工还是理赔部门?保单存在哪个系统里,有没有访问控制?如果 Claude 答错了,后果是来电者不满,还是赔付出错?”

问完这三个问题之后,再提出架构:一个遵循现有访问控制的 MCP 服务器,一个专门负责引用保单条款的子智能体,以及一组基于员工真实提问构建的测试用例。

行为面和深挖轮:真实的故事胜过漂亮的故事

Educative 关于 Anthropic 工程岗位招聘流程的一份通用指南指出,技术深挖环节青睐真正理解自己所建系统的人。在行为面试中,面试官往往更看重诚实、自我认知和反思,而不是包装精美的成功故事。

具体来说,至少准备一个自己的部署失败的故事:讲清技术原因、你当时的决定,以及之后做了哪些改变。如果被追问两层之后你仍然讲得清楚,这一个故事比十个只停留在表面的项目更有分量。

这也是修改简历的好时机。不要写含糊的“有 LLM 相关经验”,而要写清你搭建了一个 MCP 服务器,把模型接入了哪个系统,为谁运行,以及如何衡量它的质量。

这类具体的描述并不能替代岗位要求的 4 年以上经验,只是让读简历的人一眼看出你这几年做了什么。

Claude 使用规则:提前了解

Anthropic 发布了关于候选人使用 AI 的官方指引。你可以用 Claude 润色申请材料,但初稿必须自己写。你可以用 Claude 研究公司、练习回答、准备向面试官提的问题。

界线划在评估本身。现场面试“全靠你自己”,除非面试官另有说明,否则不能借助 AI。带回家完成的作业同样不能用 Claude,除非得到许可。

对于一个整天和 Claude 打交道的岗位,这听起来有些矛盾,但合理的理解是:他们想看到你在没有助手时的真实底子。

让优秀候选人落选的错误

第一个常见错误是备错了考试类型:花几周刷算法,而按示例流程,技术面其实是一个用 MCP 部署 Claude 的场景题。其次是把代码写成一整块,导致每来一个新需求都得重写。

还有一个是设计题还很开放时就直接进入架构,恰好跳过了岗位描述中明确写出的在模糊中找方向的能力。

剩下两个错误与人有关。一是讲的故事太完美,听的人找不到你真正学到东西的地方。

二是在不允许的场合使用 Claude,比如未经许可在带回家的作业中使用。这会让你失去信任,而在一个依赖客户信任的岗位上,失去信任就等于失去一切。

本周练习:请一位同事扮演面试官,只给你一个故意含糊的设计题,比如“一家医院想在前台使用 Claude”。

设一个 30 分钟的计时器。前 10 分钟只能提问,不能画任何东西。结束后问同事,你的哪个问题最能把问题弄清楚。

这篇文章对你有帮助吗?

4 个信源
路线图上的下一篇 · 阶段 8: 职业发展在 Deepgram,一名 FDE 只服务一个客户战略客户岗位要求第 60 天前有东西上线生产环境,有些阶段八成时间要在客户现场。