前几天,华盛顿大学 NLP 博士 Alisa Liu 发布了一篇长文《Notes on the Industry Job Search》,复盘自己从博士毕业到进入 AI 行业岗位的完整求职过程。几天后,她在 X 上表示自己即将加入 OpenAI;她的公开 CV 也显示,2026 年 6 月起,她的职位是 OpenAI Member of Technical Staff。
Alisa 把顶级 AI 公司求职里最容易被说成“玄学”的部分,拆成了一条可以复盘的流程:11 家公司,57 场面试,46 次 recruiter call,16 次 offer 后沟通,以及大量正式和非正式的 networking。
图 1 是 Alisa Liu 的求职时间线。灰色图标代表面试,彩色圆点代表不同结果;她在原文中说明,这张图没有包含 46 次 recruiter call、16 次 post-offer chat 和大量非正式沟通。
Alisa Liu 的背景本身就很硬。她是华盛顿大学计算机博士,导师包括 Yejin Choi 和 Noah A. Smith;本科毕业于 Northwestern University,计算机和数学双专业,GPA 4.0/4.0。她的 CV 里还列出了 Google Student Researcher、NVIDIA Academic Collaborator、OpenAI SuperAlignment Fast Grant 等经历。
这篇文章把一个容易被简化成“履历强的人继续赢”的故事,拉回到更具体的筛选过程里。AI Research Scientist / Member of Technical Staff 这类岗位,到底怎么判断一个候选人是否合适,她写得很细。很多人以为大模型岗位面试就是刷 LeetCode、背论文、讲项目。Alisa 的复盘更接近另一件事:你要同时证明自己会写代码、懂机器学习基础、能设计实验、能讲清研究判断、能承受密集流程,还能在 offer 后继续收集信息和谈判。
57 场面试,真正难的是流程管理
Alisa 写得很直接:求职在她脑子里曾经像《哈利波特》里的分院帽,高年级博士生消失几个月,然后突然带着确定的去向回来。轮到自己时,她才发现整个过程比想象中消耗得多。
她给出的第一条经验,落在时间安排上,而不是具体题目。
常见建议是先找几家公司练手,再把更重要的流程集中到同一时间段,方便最后一起比较 offer。Alisa 认可这个方向,但补了三个现实问题:练手会消耗体力;公司是否有 headcount、哪个 team 在招,不完全由候选人决定;offer deadline 往往比想象中有弹性,但也要提前打听清楚哪些公司会给“爆炸 offer”。
这其实是很多技术候选人容易低估的一点。求职更像一个高并发系统:面试、recruiter call、朋友内推、公司节奏、团队匹配、offer 期限和个人状态都在同时变化。只优化某一场面试的表现不够,还要管理整条 pipeline。
第一场面试,往往来自别人愿意给你背书
关于“怎么拿到面试机会”,Alisa 的答案并不神秘:博士期间好好做事,多交朋友,多合作,参加会议,多认识人。
这听起来有点朴素,但在顶级 AI 公司招聘里非常现实。很多时候,第一场面试需要公司内部有人愿意为你背书。她也承认,networking 对内向的人很难,自己也不例外;但求职期间重新联系多年没说话的朋友、询问机会、约 coffee chat,本身就是这个流程的一部分。
这不是让技术人去学“社交套路”。更准确地说,AI 领域的信任网络很密:论文合作、开源项目、会议交流、导师和同学关系,都会影响一个人能不能被更快识别出来。等到正式投递时才开始经营这些关系,已经有点晚了。
AI 面试到底考什么?
Alisa 把自己遇到的面试归为 7 类。这个部分很适合直接当成 AI 岗位准备清单来看。
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
这张表最重要的信号是:AI 岗位不会只看“你做过什么”,也会看“你能不能现场工作”。ML Coding 和 Technical Discussion 会把候选人从论文叙事拉回到模型基础、代码实现和实验判断上;Behavioral 和 Negotiation 又会把候选人从技术能力拉回到真实团队协作里。
真正的准备,是把 LLM 基础练到手上
准备阶段,Alisa 提到自己先刷完 Stanford CS336: Language Modeling from Scratch 的课程讲座,再围绕一个个概念深入读博客、论文,也大量和 ChatGPT、Claude 讨论。
但她特别强调,不能只停留在纸面理解。她强烈建议认真做 Stanford CS336 的 Homework 1,因为实现和调试 Transformer 在面试里非常常见,把它练成肌肉记忆会有很大回报。
这里还有一个细节很有现实感:练习写代码时,要把 AI 辅助完全关掉,尽量模拟真实面试环境。现在很多开发者已经习惯 Copilot、ChatGPT、Claude Code 伴随写代码,但面试不一定允许这些工具。如果平时所有语法细节、边界条件和 debug 都交给 AI,到了没有 AI 的考场,很容易暴露“手感断层”。
这也是这篇面经对 AI 时代求职最有意思的一点:你可以用 AI 学习和梳理知识,但仍然要保留自己独立实现、独立调试、独立解释的能力。
Offer 之后,工作还没结束
很多人以为拿到 offer 就结束了。Alisa 的复盘恰好相反:offer 之后还有一段可能很长的沟通、了解团队和谈判过程。
她提到,这个阶段会有潜在同事、manager、recruiter 的大量沟通,也会有 lunch visit 和 post-offer chat。候选人要一边收集信息,一边判断团队方向、个人兴趣和 compensation。她还特别提醒,谈判不是博士训练里天然包含的一项能力;相比 recruiter,候选人在市场信息和谈判技巧上都处于劣势。
这段对很多技术人同样有启发。面试准备可以靠刷题和看课推进,offer 选择却更像信息战:你要知道自己愿意透露什么、不愿意透露什么;每次 recruiter call 前要写好可复述的话;面对不同公司的催促和试探,要能舒适但坚定地表达自己的边界。
对想进 AI 一线岗位的人,真正该带走什么
第一,不要只刷 LeetCode。AI 岗位会考算法,但 ML Coding、Transformer 实现、实验设计、研究讨论和系统性知识同样重要。
第二,不要把 networking 看成求职之外的东西。对研究型 AI 岗位来说,合作、会议、开源、论文和朋友背书,都是长期信用的一部分。
第三,不要把学习变成“看过”。Alisa 反复强调实现和调试,尤其是不要在模拟面试时依赖 AI。真正能进场的能力,是你能在没有自动补全的情况下,把一个模型组件写出来、解释清楚、debug 到能跑。
第四,offer 后的沟通也要准备。顶级 AI 岗位的竞争不只发生在面试题里,也发生在团队匹配、信息收集和谈判阶段。
最后,Alisa 写到,求职当然有流程、准备和谈判,也有比较、压力、信息不完整和外界评价带来的消耗。她没有把这段经历包装成“成功学模板”,读下来更像是把一条原本很孤独的路摊开:它可以被拆解,也可以被提前准备。
这可能比“57 场面试进 OpenAI”这个结果更值得留下。AI 行业还会继续卷,顶级岗位也会继续变难,但越是这样,越需要把玄学拆成方法,把焦虑拆成可执行动作,把别人的经验转成自己的训练计划。
附:Notes on the Industry Job Search 完整中文翻译。
关于工业界求职的一些笔记
2026 年 6 月 20 日
在我读博的大部分时间里,我脑子里的求职过程都像一顶分院帽:高年级博士生会消失几个月,然后带着已经决定好的命运重新出现。即使身边很亲近的朋友开始毕业、找工作,我对他们正在经历什么也知之甚少,除了偶尔看到一点“还活着”的证明。等终于轮到我自己时,我发现这个过程比我想象中要耗费精力得多,而且感觉自己是在一边玩游戏、一边学习游戏规则。
现在回头看,我的很多经历其实很普遍,很多一路上学到的东西如今也像是常识。我写下这篇文章,是想提供一个样本,让大家看到这段旅程可能是什么样子,也希望能让不久前还处在我这个位置的人,对求职少一点神秘感。
先简单介绍一下我的背景。 我在华盛顿大学 NLP 方向读了 6 年博士,在博士末尾申请了 Research Scientist / Member of Technical Staff 这类岗位。我这辈子一直在学校里,如果不是导师们最后推动我往前走,我其实很愿意永远做一个博士生。我读博的大部分时间里并没有太多思考毕业后要做什么,相比别的事情,我更多是被有趣的想法驱动。这也导致我中间换过很多方向,但幸运的是,最后两年我还是保持住了一条比较稳定的主线,也就是 tokenization。它恰好也和“做有趣的事”高度重合,而我认为,建立一个清晰的专业领域,确实帮助我在求职中更容易被看见。
我的时间线
下面这张图展示了我的求职时间线,灵感来自 Nathan Lambert 的文章。图中灰色图标代表面试,彩色圆点代表结果。这里的 ghosted 指 recruiter 从来没有告诉我结果或下一步安排;withdrawn 指我在拿到一些自己很兴奋的 offer 后,礼貌地告诉公司我不再继续流程。总的来说,我一共面试了 11 家公司,经历了 57 场面试。图中没有画出来的,还有额外 46 次 recruiter call、16 次 offer 后沟通,以及求职前后无数次非正式 networking 对话。
公司顺序。 我什么时候开始每一家公司的面试流程,取决于好几个因素的组合:我是否觉得自己准备好了、公司给我的压力、我预期它们推进的速度、我对它们有多感兴趣,以及一些没那么有意识的因素,比如拖延。这里常见的经验是,先用几家公司练手,然后把其他流程安排到差不多同一个时间段,这样最后能大致同时拿到 offer,方便谈判。这个思路大体上是对的,但我还想补充几点。
-
练习面试很有帮助,但也要意识到人的精力是有限的。小心不要在真正想去的公司开始之前,就已经把自己耗光了。 -
面试时机还会受到很多外部因素影响,比如公司有没有 headcount、哪些团队正在积极招人,而这些因素有时比你自己的准备程度更重要。你可以通过朋友和 recruiter 对这些情况有一些了解。 -
deadline 通常有很大弹性,所以 offer 的时间不一定要卡得特别精准。Recruiter 知道你还有其他流程要走,也有各种方式可以推迟 offer 和决定时间。不过也确实有一些出了名的例外,也就是所谓的“爆炸 offer”,所以提前打听候选人通常有多长时间签字很重要。
拿到第一场面试。 先说一个显而易见的建议:读博期间尽量做出好工作,多交朋友,多合作。为了拿到第一场面试,有时候你需要公司内部有人愿意为你背书。你可以更早为自己创造条件,比如在会议上多社交、多合作、参加 networking 活动。当然,这部分不是每个人都擅长,我自己也不擅长,所以也要照顾好自己的能量和舒适边界。求职期间,可以联系你认识的人,或者不认识的人,询问机会。事实上,求职的很大一部分,就是重新联系那些你可能已经很多年没说过话的人。这没关系,也很正常,而且最后会变成这个过程里一个很美妙的副产品。
面试类型
我遇到的面试大致可以分成下面几类。整体来说,公司对技术能力和知识面的考察,远多于对研究经历的考察,虽然后者大概是你最开始拿到面试机会的原因。
ML Coding。 这是目前最常见的一类。这类题可能要求你实现一个给定的模型架构、一个解码策略、一个传统机器学习算法,有时也会出现更有创造性的题。熟练使用 PyTorch 是必须的;少数情况下,我被要求只能用 numpy,比如从零写反向传播,但面试并不期待我熟悉所有 numpy 语法。
General Coding。 基本就是 LeetCode,有时会带一点额外变化。这里最好打好基础,因为这些概念也经常出现在 ML Coding 面试里。
Technical Discussion。 这类面试不写代码,但非常技术化。有时,面试会围绕一个主题做较长讨论,比如你会如何设计实验来回答某个研究问题,或者实现某个特定目标。面试官通常会追问你的设计选择,让你评论一些假设结果,并设计后续实验。另一些情况下,面试会是一串快速问答,比如:有哪些编码位置信息的方式?什么是 5D parallelism?PPO 和 GRPO 有什么区别?目标是证明我确实懂这个领域。前一种面试看你怎么思考,后一种面试看你对领域知识的覆盖面。
Research Discussion。 这是我们在博士期间练得最多的一类对话。面试官通常会让你先介绍一个过去做过的项目,后面的讨论会从这里展开。他们也可能问你简历上其他论文的问题。准备这类讨论时,最好退一步想想:为什么你当初选择做这些事情,你在过程中形成了哪些洞见和判断,你认为未来哪些方向有前景。我也会根据岗位调整自己的 research pitch。面试官都很累,所以如果你能击中正确的关键词,会更容易让他们相信你的 profile 和这个岗位相关。
Behavioral。 这些基本就是教科书式的行为面试,只是偶尔会问到 AI safety 或社会影响相关问题。你需要列出博士期间印象深刻的故事,并把它们对应到常见行为面试问题上,这样面试时就能立刻调取合适的故事。我第一次 behavioral 面试失败了,因为我当时觉得自己显然表现得很“得体”,结果遇到极其简单的问题时脑子一片空白。相信我,一边努力重建模糊记忆,一边在面试里把它讲出来,最后还被面试官说“你没有回答这个问题”,这是一种非常独特的痛苦。
Math。 有些公司会有数学面试,范围可以从有趣的逻辑题,到真正需要纸笔推导的严肃数学问题。我建议复习概率、线性代数和微积分。
Job Talk。 Job talk 的形式会有一些差异,但和学术 job talk 相比,它通常更短,也更聚焦在一篇论文或一个方向上。我的 job talk 全部围绕 tokenizer 展开;我把大部分时间放在一篇一作工作上,然后简要讲了几篇二作和正在进行的工作。幸运的是,它们之间联系得很好。
准备
真的没有什么比准备面试更值得投入时间。对我来说,这段经历很像重新回到本科:我做笔记,画图,刷题,一整天泡在咖啡馆里,确保自己真正理解机器学习的基础概念。笔记包括我在整个过程中持续整理的 LLM notes,以及只为了一场命运般的面试而整理的 math notes。技术面试很难,被考察的能力需要在日常研究之外专门投入精力培养。对我和我聊过的大多数人来说,求职本身就是一份全职工作。
我一开始看完了 Stanford Language Modeling from Scratch 课程的所有讲座。这门课很好地展示了我需要学习的主题有多广,也帮我把脑子里很多零散概念组织成一幅关于这个领域的连贯图景。打完基础后,我把剩下的时间花在一个个概念的深入学习上:阅读相关博客和论文,和 ChatGPT、Claude 大量讨论,并练习从零实现各种东西。Homework 1 非常关键:实现和调试 Transformer 在面试里出现得非常频繁,把它练成肌肉记忆会有巨大回报,真的不值得在这里丢分。练习写代码时,一定要完全关闭 AI 辅助,尽量模拟真实面试环境,否则你会低估自己对 AI 的依赖。
我发现每一场面试都有自己的特点,都值得做一点,有时是很多,针对性准备。通常,你可以从面试描述、公司感兴趣的话题、recruiter 给的提示,以及公司的技术声誉里,大致形成对面试范围的直觉。在面试最密集的时候,我感觉自己不断把信息装进脑子、又从脑子里换出去,好让某一场面试最相关的知识保持新鲜。最贴切的描述是:每场面试都像一门略有不同的数学课或计算机课,你从来没去听过课,而现在你只有大约 3 天时间准备期中考试。
面试当天。 也许是因为我年纪大了,但面试前一晚没有什么比睡够更重要。我第一次技术面试前犯了个错误:为了把 LLM inference 的各种细节塞进脑子,我只睡了 2 个小时。结果最后一刻背进去的知识一个都没考到,我还因为脑子几乎转不动,在一个 off-by-one 错误上花了 10 分钟。面试结束后,记得记录一些笔记,这会对之后的学习和复盘很有帮助。
额外收益。 准备面试给我带来了巨大的额外收益。知识面的拓宽直接提升了我作为研究者的信心。我在对话里更踏实,因为不再那么担心自己的知识缺口被暴露出来;即使暴露出来,我也不再觉得必须把它藏起来。我真心相信,如果我在博士更早期就做过其中一些学习,它会扩大我能够思考、能够产生想法的问题空间,也一定会增加我主动寻找的对话数量。更让我惊讶的是,学习还让我在当时正在进行的项目上变得高效得多。我开始能想到以前根本接触不到的技术想法,也能完成更多技术工作,这让我很兴奋。
谈判
我很震惊地发现,拿到 offer 之后,工作远远没有结束。相反,你还会经历一段可能很长的时间,用来进一步了解自己的选项,并和各家公司谈 offer。这个阶段包括很多和未来潜在队友、manager 的对话,lunch visit,以及 recruiter call。那时我需要处理大量沟通,总有一些邮件让我因为没有回复而心怀愧疚。
事实是,谈判很难。博士训练完全没有为我们准备这件事,而且不同于面试,这部分不能靠学习直接攻克。和 recruiter 相比,你在市场信息和谈判技巧上都处于劣势,而每个和你说话的人,都想从你这里得到不完全一样的东西。你可能会想:“我已经对 offer 很满意了,也愿意不考虑 compensation 独立做决定。”确实,知道自己的价值排序很好。但如果不谈判,你也是在亏待自己。初始 offer 本来就是按留有谈判空间来设计的;recruiter 经常会明示邀请我参与这个游戏,比如说:“我不期待你接受我们的第一版 offer。”在这里投入几周精力,字面意义上,可能相当于以初始 offer 工作好几年带来的差异。
这个阶段真的很需要依靠朋友:一方面获得和 recruiter 打交道的 know-how,另一方面获得更多数据点,帮助校准自己的要求。每次 recruiter call 之前,我都会写下哪些信息愿意分享、哪些不愿意分享,也会写下可以逐字复述的句子。在 offer 后阶段,我会提前预判他们可能会问的问题、可能会提出的说法,然后仔细构造一些我能舒服地讲出来、同时仍然为自己争取利益的回答。虽然很耗时间,但有意识地对待这个流程里的每一个环节,真的很值得。
结语
这篇文章里,我重点写了求职中比较具体的部分。但实际上,对我个人来说,求职体验中很大一部分,是管理进入市场后随之而来的各种情绪。这里有很多社会感知需要处理:和同龄人比较并不好受,每个人都会对你应该去哪里、不应该去哪里发表意见,人们也会异常关注你的生活进展。我还发现,在信息不完整的巨大决策空间里做选择很有压力;一些没有对错答案的小选择,比如什么时候联系谁,也会产生不成比例的影响。坦白说,有几个月我压力很大,很痛苦,生活的其他部分也无法正常运转。希望你能在其中找到更多快乐;如果没有,也请记住,你并不孤单。
几个月来,我一直飞快地冲向博士阶段的终点。现在一切结束,我非常难过要离开人生中的这一章。博士是一段非常特别的时间,在这段时间里,我们唯一的工作就是提出好想法并把它们做出来,作为研究者学习和成长,而不必担心马上要找到一份真正的工作。所以,我当然希望这篇文章能帮你在心理上为未来做准备,也确实承认当下工业界的力量非常容易让人分心;但我也希望你能珍惜博士这段独特的时间。毕竟,这两个目标或许是互补的。我一直发现,当我真正享受其中、追逐那些让我脑子无法停下来的问题时,我往往能做出自己最好的工作。
附录:学习资源
-
LeetCode 75 / Neetcode Blind 75 -
Stanford CS336: Language Modeling from Scratch -
Self-Attention & Transformers -
The Illustrated GPT-2 -
Backpropagation -
Introduction to Policy Gradient for LMs -
Lightweight Guide to understanding GRPO and RL principles -
How to Scale Your Model
参考链接
-
Alisa Liu 原文:Notes on the Industry Job Search
https://alisawuffles.github.io/blog/job-search/ -
Alisa Liu 个人主页
https://alisawuffles.github.io/ -
Alisa Liu CV
https://alisawuffles.github.io/uploads/Alisa-Liu-CV.pdf -
Alisa Liu 的 X 原帖
https://x.com/alisawuffles/status/2068765723569324462 -
Alisa's Book of LLMs
https://alisawuffles.notion.site/alisa-s-book-of-llms -
Stanford CS336: Language Modeling from Scratch
https://cs336.stanford.edu/spring2025/ -
Stanford CS336 Assignment 1: Basics
https://github.com/stanford-cs336/assignment1-basics
进技术交流群请添加AINLP小助手微信(id: ainlp2)
请备注具体方向+所用到的相关技术点 ![]()
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。
![]()

