首页
/ tech-interview-handbook:硅谷头部公司软件工程师面试格式全景拆解与备考指南

tech-interview-handbook:硅谷头部公司软件工程师面试格式全景拆解与备考指南

2026-09-04 23:31:53作者:齐添朝

本篇基于 tech-interview-handbook 仓库中的 头部公司面试格式文档,逐家拆解 Airbnb、Asana、Dropbox、Google、Indeed、Lyft、Meta、Palantir、WhatsApp 共 9 家公司软件工程师岗位的完整面试流程:每一轮的类型(Recruiter 初筛、技术电面、Onsite 各轮)、使用的编码环境(CoderPad、CodePen、HackerRank、白板、JSFiddle 等)、轮次数量与特殊规则,并给出跨公司模式对比与可落地的备考清单。读完后你能针对任一目标公司制定精确的针对性准备方案。

一个重要的前提:远程面试已成为常态

原文档在正文开头就给出了一条全局性说明:

Due to COVID travel restrictions, many companies hold interviews remotely even for the onsite rounds, so the instructions might differ.

也就是说,即使某家公司传统上要求到场(on-site)面试,疫情以来的差旅限制让很多公司把 Onsite 轮次也改成了远程形式,因此你实际收到的面试说明可能与下文描述的线下细节有所出入。读本文所有流程时,都要记住:轮次结构(几轮、每轮考什么)通常不变,但“在白板前”“在自己笔记本上”等物理环境细节可能已被远程形式替代。

通用的面试漏斗:理解各公司流程的骨架

把 9 家公司的流程放在一起看,会发现一个高度一致的三级漏斗,这是本文所有细节的骨架:

  1. Recruiter phone screen(招聘官电话初筛):9 家公司全部包含这一轮,通常不涉及技术内容,考察动机、背景和基本匹配度。
  2. Technical phone interview(技术电面):8 家公司包含这一轮(只有 Indeed 标注为 optional 可选)。核心载体是“N x Algorithm / Front end”,即 1~2 道算法或前端编码题,编码环境因公司而异(CoderPad、Google Doc、HackerRank、JSFiddle 等)。
  3. Onsite(终面轮组):通常是 3~6 个 session 的组合,算法编码是绝对主体,再按公司特色搭配 System Design、Behavioral(行为面)、Cross functional(跨职能面)等轮次。

理解了这个漏斗后,下面逐家公司的拆解就是在骨架上叠加各家独有的“参数”。

逐家拆解:9 家公司的完整面试流程

Airbnb

  • Recruiter phone screen
  • Technical phone interview:1 或 2 轮算法/前端编码,在 CoderPad/CodePen 上进行
  • Onsite(General 通用岗)
    • 2 x 算法编码(CoderPad)
    • 1 x System Design / 架构
    • 1 x 过往经历/项目
    • 2 x Cross functional(跨职能)
  • Onsite(Front End 前端岗)
    • 2 x 前端编码(CodePen,可使用任意框架/库)
    • 1 x 通用编码(在自己笔记本上)
    • 1 x 过往经历/项目
    • 2 x Cross functional
  • Tips(原文档保留要点)
    • 所有 session 都涉及在自己笔记本上编码,需提前准备好开发环境
    • 允许查阅 API 文档
    • 公司在所有编码轮次中非常强调“可编译、可运行”的代码
    • Cross functional 面试会安排 Airbnb 任意职能的员工与你对话,内容大多非技术,但因公司高度重视文化契合(cultural fit),这类轮次极其重要——建议提前浏览仓库中的 Airbnb 行为面试题单(“Airbnb Software Engineer behavioral interview questions”一节,含 28 道高频题,如 “What does 'belong anywhere' mean to you?”)

注意 Airbnb 是 9 家中轮次最多的一家(General 岗 Onsite 共 6 个 session),且是唯一把 “Cross functional” 单列出来的公司,行为/文化面的权重在全部公司中最重。

Asana

  • Recruiter phone screen
  • Technical phone interview
  • Onsite(Product Engineer 产品工程师岗)
    • 3 x 算法与 System Design 合并在同一 session 内,在白板上进行
    • 1 x 算法 + System Design,在自己笔记本上写代码:大约 45 分钟内解决 3 道定义明确的算法题,随后一位工程师进来与你 review 代码。解题过程中不允许运行代码
  • Tips
    • 未出现前端问题
    • Asana 高度重视 System Design,大量使用白板;前 3 轮中的算法题不要求你一定要写出完整代码
    • 全部 4 个 session 都涉及算法与 System Design,其中 1 个 session 由 Engineering Manager(工程经理)主持
    • 最后一个 session 需要在你自己的笔记本上编码,请提前准备开发环境
    • Product Engineer 与 Engineering Generalist 岗位的面试格式与题目相似

Asana 的显著特点是“算法 + System Design 同场出现”,且 45 分钟 3 道题的节奏很快——这要求在有限时间内快速区分题目难度、先保证高完成度而非全部完美。

Dropbox

  • Recruiter phone screen
  • Technical phone interviews:2 轮算法/前端编码(CoderPad/CodePen)
  • Onsite(Front End 前端岗)
    • 2 x 前端编码(CodePen,只允许 Vanilla JS 或 jQuery)
    • 1 x 通用编码(CoderPad)
    • 1 x All around:与 Engineering Manager 交流过往经历与工作方式
  • Tips
    • 允许在自己笔记本上编码、查阅 API
    • Dropbox 的 recruiter 很友好,会主动告诉你后续各轮可能遇到什么类型的题目
    • 其中一个前端 session 要求像素级复刻 Dropbox 官网的一个真实页面:你会拿到目标页面的 spec,并被要求在面试期间写出一个可工作的版本

Dropbox 的“像素级复刻真实页面”是全部 9 家中最有辨识度的考察形式,对 CSS 布局(flex/grid)、尺寸还原与细节把控要求很高,建议备考时专门练习“看设计稿写页面”的限时训练。

Google

  • Recruiter phone screen
  • Technical phone interview:1 或 2 轮算法,在 Google Doc 上进行
  • Onsite
    • 1 或 2 轮前端编码,在白板上进行;视题目要求可能只允许 Vanilla JS(最多到 jQuery)(仅前端岗)
    • 2 到 4 轮算法,在白板上进行
    • 1 轮 General Cognitive Ability、Leadership 与 “Googleyness”(价值观/文化匹配)
  • Team matching(团队匹配):与对感兴趣于你 profile 的不同团队经理对话
  • Tips
    • 极少数情况下,候选人可以跳过电面轮直接进入 Onsite
    • 对非应届(non-fresh grad)候选人,只有成功匹配到某个团队(matched with a team)才会收到 offer

Google 独有的 Team matching 环节值得特别注意:技术面通过后,offer 的发放取决于你与具体团队的匹配,这意味着你在各轮中表达的技术方向偏好会影响最终去向。

Indeed

  • Recruiter phone screen
  • Technical phone interview(可选)
  • Onsite(按级别分层):
    • 1 x Online Assessment(HackerRank 在线测评,适用于 L0–L2)
    • 1 x 简历讨论(Resume discussion)
    • 1 或 2 轮算法(HackerRank)
    • 1 x Code Review(在 GitHub 上进行)
    • 1 或 2 轮 System Design(适用于 L3+)
    • 1 x 技术演讲 Technical Presentation(适用于 L4+)
  • Tips
    • 面试的是具体职位时,考察标准(bar)会因职位而异
    • 录用决策(hiring decision)与定级(leveling)是分开讨论的;定级由经验和领导力信号(leadership signals)决定
    • 如果面试表现好但目标职位已招满,其他 hiring manager 可以“接走”你的 candidate packet

Indeed 是唯一一份按 L0–L4 级别分层配置轮次的流程:级别越高,System Design 与技术演讲占比越大;GitHub Code Review 轮也是 9 家中独有——建议提前准备“如何评审陌生代码”的表达框架。

Lyft

  • Recruiter phone screen
  • Technical phone interview:1 轮算法/前端,在 JSFiddle 上进行
  • Onsite(Front End 前端岗)
    • 4 x 前端编码(CoderPad 或自己的笔记本,可使用任何语言/框架)
    • 1 x Behavioral:与 Engineering Manager 对话,过一遍候选人的简历
  • Tips
    • 可以用白板和/或笔记本
    • 前端编码环节作者本人选择了 React,并在现场用 create-react-app 临时搭建项目

Lyft 的前端 Onsite 轮次密度很高(4 个前端编码 session),而行为面仅 1 轮且由 EM 主持——技术深度是这家公司的绝对重心。仓库 behavioral-interview.md 中也有对应印证:“Lyft has one round (out of five) dedicated to past experience and situational questions by a hiring manager”。

Meta(原 Facebook)

  • Recruiter phone screen
  • Technical phone interviews:1 或 2 轮算法/前端(Skype/CoderPad)
  • Onsite
    • 2 x 技术编码(白板)
    • 1 x Behavioral:与 Engineering Manager 交流过往经历与工作方式
    • 1 x Design/架构(白板)
  • Onsite(University Grad 应届生)
    • 2 x 技术编码(白板)
    • 1 x Behavioral:与 Engineering Manager 交流过往经历与工作方式
  • Tips
    • 只允许使用白板(或墙面),全程不涉及笔记本
    • 行为轮末尾可能会追问一道技术问题;前端候选人在 session 结尾会拿到一道小型 HTML/CSS 题
    • 编码轮中,题目数量取决于你解题的速度——进展快就可能被追问更多题

仓库中 behavioral-interview.md 给出了佐证数据:“At the time of writing, Facebook has one round (out of four) dedicated to behavioral interviews”,与上文的 4 轮 Onsite 结构一致。Meta 的白板规则是所有公司中最严格的,白板推演与伪代码表达能力是硬要求。

Palantir

  • Recruiter phone screen
  • Technical phone interview:1 轮算法(HackerRank CodePair + Skype)
  • Onsite(General 通用岗)
    • 2 x 算法(白板)
    • 1 x Decomposition(即 System Design)(白板)
  • Onsite(Front End 前端岗)
    • 1 x 前端编码(自己的笔记本,时长约 1.5 小时,可使用任意库/框架)
    • 1 x Decomposition(即 System Design)(白板)
  • Tips
    • 作者选择了 React,并在现场用 create-react-app 搭建项目
    • 技术面结束后可能被要求再与 Engineering Manager 面谈一次,这本身不代表好或坏

Palantir 将 System Design 称为 “Decomposition”(问题分解),前端岗则是“1.5 小时长题”模式——考察的是一段时间内的完整交付能力,而非多题快刷。

WhatsApp

  • Recruiter phone screen
  • Technical phone interview:2 轮算法(CoderPad)
  • Onsite(Web Client Developer 岗位)
    • 4 x 算法(白板)
  • Tips
    • 未出现前端问题
    • 面试官中有 1 位是 Engineering Manager

WhatsApp 是 9 家中流程最“纯粹”的一家:没有 System Design、没有行为面的单独轮次,Onsite 全部是白板算法。Web Client Developer 岗位考的是通用算法能力,准备时不必按前端方向押题。

跨公司模式对比:轮次、工具与环境速查

将上文的流程汇总成一张对照表(均源自 原文档 的逐家描述),便于快速定位各公司的差异点:

公司 电面(技术) Onsite 主体 编码环境 特色轮次
Airbnb 1–2 x 算法/前端 General:6 session;FE:6 session CoderPad / CodePen / 自带笔记本 2 x Cross functional(文化面)
Asana 4 session(3 白板 + 1 笔记本) 白板 / 自带笔记本 算法+系统设计同场;45 分钟 3 题且禁运行
Dropbox 2 x 算法/前端 4 session(FE 岗) CodePen(仅 Vanilla JS/jQuery)/ CoderPad 像素级复刻官网页面
Google 1–2 x 算法 前端 1–2 + 算法 2–4 + 文化 1 Google Doc / 白板 Team matching 决定 offer
Indeed 可选 按 L0–L4 分层的 6 类轮次 HackerRank / GitHub GitHub Code Review、技术演讲
Lyft 1 x 算法/前端 5 session(FE 岗,4 前端编码) JSFiddle / CoderPad / 笔记本 EM 主持的行为面过简历
Meta 1–2 x 算法/前端 4 session(应届 3 session) 仅白板,禁笔记本 行为轮末尾附技术小问
Palantir 1 x 算法(CodePair) General 3 session / FE 2 session 白板 / 笔记本(1.5h 长题) Decomposition;EM 追加面谈
WhatsApp 2 x 算法 4 x 算法(白板) CoderPad / 白板 无(最简流程)

从这张表可以读出三条备考优先级规律:

  1. 白板是最大公约数。Google、Meta、WhatsApp、Palantir、Asana 都重度使用白板;即使流程描述中写“on your own laptop”的公司(Airbnb、Dropbox),Tips 也普遍允许笔记本+查 API。练算法题时请刻意练习“手推”而非直接敲代码,因为 Meta 明确禁止笔记本,而多数公司的远程形式也会退化为共享白板/共享文档。
  2. 前端岗的框架自由度差异极大:Lyft 和 Airbnb 允许任意框架(作者实际用了 React + create-react-app 现场搭项目),Palantir 前端岗也允许任意库;但 Dropbox 只允许 Vanilla JS 或 jQuery,Google 前端题可能只允许 Vanilla JS(最多 jQuery)。如果你的目标公司在这两类中,必须把原生 JS 的基本功练到位。
  3. 行为面与文化面不可忽视:Airbnb 有 2 轮 Cross functional,Google 有 Googleyness 轮,Meta/Lyft/Dropbox/Asana 均有 EM 主持的行为轮。仓库中的 行为面试问题库 收录了 Airbnb、Dropbox、Lyft、Palantir 等公司的真实高频题(标注来源为 Glassdoor),是各公司 Tips 中“了解预期问题”建议的直接落地资源;behavioral-interview.md 则系统讲了 STAR 回答格式与各公司行为面权重,可与本文配合阅读。

备考落地清单

结合原文档各家 Tips,可以收敛出一份通用准备清单:

  • 开发环境预配置:Airbnb(所有 session)、Asana(最后一个 session)、Dropbox 都明确写了 “Prepare your development environment in advance”。建议提前在常用机器上装好编辑器、终端环境,并确保远程面试时共享屏幕流畅。
  • 现场搭项目的能力:Lyft 与 Palantir 的前端作者都提到用 create-react-app 现场初始化项目。若你的目标是类似轮次,提前熟悉从零初始化到跑通的最小流程,避免把宝贵的面试时间耗在环境问题上。
  • 白板推演训练:Meta/Google/WhatsApp/Palantir/Asana 的算法轮都在白板上。Asana 特别说明“前 3 轮算法题不要求一定写出代码”、WhatsApp 4 轮全是白板算法——练习时用白板/纸面推导 + 口头描述复杂度,与敲代码的练习交替进行。
  • 可运行代码的标准:Airbnb 强调 “compilable, runnable code”,即交付的代码要能编译能跑;而 Asana 恰好相反,明确要求解题过程中不要运行代码,45 分钟后由工程师 review。目标不同公司时,这两种习惯都要会切换。
  • 限制条件下的前端题:针对 Dropbox/Google 的 Vanilla JS 限制,专门练习不用框架完成常见交互(事件委托、DOM 操作、fetch、布局还原);针对 Dropbox 的像素级复刻题,限时练习“给 spec 出成品”。
  • 行为面题库:优先刷目标公司自己的题单(behavioral-interview-questions.md 按公司分节,Airbnb 一节多达 28 题),并用 STAR 格式组织答案。
  • 特殊流程的心理准备:Google 非应届的 offer 取决于 Team matching 结果;Indeed 中表现好但职位已满时你的 packet 可能被其他 manager 接手;Palantir 的 EM 追加面谈“不必然代表好或坏”——这些都属于流程机制而非个人表现信号,提前了解可以避免误判。
  • 远程形式的弹性:如开头所述,多数公司的 Onsite 现在也可能远程进行,实际指令以你收到的面试说明为准,轮次结构不变。

在仓库中查看与引用本文内容

登录后查看全文
热门项目推荐
相关项目推荐