首页
/ 理解技术行业薪酬构成:tech-interview-handbook 的 Base Salary、Bonus、Equity 与签约奖金完整拆解

理解技术行业薪酬构成:tech-interview-handbook 的 Base Salary、Bonus、Equity 与签约奖金完整拆解

2026-09-06 22:12:09作者:虞亚竹Luna

这篇指南基于 tech-interview-handbook 仓库中的 understanding-compensation 文档 展开,系统拆解科技公司 offer 的四大构成——基本薪资(base salary)、绩效奖金(bonus)、股权/股票(equity/stocks)与签约奖金(signing bonus),并补充 vesting(归属)机制、strike price(行权价)、exercise window(行权窗口)等实操概念。读完本文,你能独立看懂一份 offer 中每个数字的含义,判断不同级别之间的薪资结构差异,并为后续的薪资谈判(见 negotiation 指南)打下基础。

Tech Offers Repo 的 Offer Analysis 页面,展示按公司对比 offer 百分位的界面

薪酬的总体构成

在决定接受哪份 offer 时,薪酬(compensation)是最重要的因素之一。在大多数科技公司,你的薪酬由三部分组成:

  1. Base salary(基本薪资)——固定、不受公司业绩影响的唯一非浮动部分;
  2. Performance bonus(绩效奖金)——按半年或年度发放,取决于职级、个人表现与公司业绩;
  3. Equity / stocks(股权/股票)——让你拥有公司股份,是科技岗位区别于非科技岗位的关键。

此外还有 signing bonus(签约奖金) 这一一次性现金,以及免费餐食、搬迁补贴等 misc perks(杂项福利)。在拆解每一项之前,先建立这个"总薪酬 = 各分项之和"的框架,是看懂任何 offer letter 的前提。

仓库中的印证:数据模型如何体现这一结构

本仓库不仅把这套知识写成文档,还在 apps/portal 子应用中落地了"提交并分析 offer"的产品(Tech Offers Repo)。从 Prisma 数据模型 的结构看,全时 offer 被建模为 OffersFullTime,字段与文档讲解的薪酬构成一一对应:

model OffersFullTime {
  title               String
  level               String
  totalCompensation   OffersCurrency  // TC(总薪酬),必填
  baseSalary          OffersCurrency? // base,可选
  bonus               OffersCurrency? // bonus,可选
  stocks              OffersCurrency? // 股票年化价值,可选
  OffersOffer OffersOffer?
}

几个值得注意的设计细节:

  • TC 是必填、三个分项是可选totalCompensation 用非空 OffersCurrency 关联且带 @unique,而 baseSalary / bonus / stocks 均为可空字段。这正对应了文档的核心观点——不同公司的薪酬结构差异很大(有的公司不给 bonus,有的只给 base),但任何 offer 都必须有一个"总包"口径用于横向比较。
  • OffersCurrency 的汇率归一化设计:每个金额字段同时保存 value/currency(原始币种)和 baseValue/baseCurrency(默认 USD),这样跨币种 offer 都能在同一基准上比较。仓库中的 货币换算工具 负责完成这种转换。

Base salary(基本薪资)

基本薪资是"你出现在工作岗位上就能拿到的固定金额",不随公司经营好坏或行业景气度波动,是你薪酬中唯一完全非浮动的部分。

文档中给出的经验数据(以湾区为背景):

  • 应届毕业生在湾区通常能拿到 USD 100,000 以上(税前)的基本薪资;
  • Facebook/Google 的应届基本薪资普遍落在 USD 100,000 – 150,000 区间;
  • 创业公司(startup)通常给应届生稍高一点(USD 120,000 – 130,000)——因为早期公司股权还没有流动性(尚未变成真实现金),需要用更高的 base 来补偿。

基本薪资不随资历线性增长,最终会趋缓(taper off)。 员工程度越资深,其薪酬中来自"公司依赖型"成分(bonus 与 equity)的比例就越高。原因是资深员工被期望去影响身边的人、推动整个公司前进,其绩效评估更多基于公司整体表现,而非个人产出。这解释了为什么高级别 offer 里"股票年化价值"往往超过 base 本身(见后文数据表)。

例外情况:一些公司打破惯例。例如 Netflix 支付行业顶格甚至更高的薪资,并允许员工把整个薪酬都折算成 base——即把 equity 部分转成基本薪资。对于风险厌恶型(risk-averse)的求职者,这是一个很好的选项。

Bonus(绩效奖金)

奖金通常按半年(semi-annual)发放,由三个乘数因素共同决定:

因素 含义 说明
Level of seniority(职级) 基本薪资的一个乘数,随职级上升而增大 例如应届生 seniority 乘数 10%,资深工程经理 20%
Individual performance(个人表现) 该时期内表现好坏的乘数 达到预期(meeting expectations)= 100%;超出预期(exceeding)> 100%。Facebook、Apple 等公司对顶尖表现者奖励丰厚,乘数最高可达 300%
Company performance(公司业绩) 公司整体表现 对全体员工使用同一个乘数

两个完整计算示例

示例 1:应届 SWE Bob

  • base salary:$100,000
  • 职级乘数(fresh grad):10%
  • 个人表现乘数(crushed expectations):200%
  • 公司业绩乘数:120%

Bonus = 100,000 × 50%(半年)× 10%(职级)× 200%(个人表现)× 120%(公司业绩)= $12,000

示例 2:工程经理 Alice

  • base salary:$220,000,10 年工作经验
  • 职级乘数(experienced EM):20%
  • 个人表现乘数(exceeded expectations):150%
  • 公司业绩乘数:130%

Bonus = 220,000 × 50%(半年)× 20%(职级)× 150%(个人表现)× 130%(公司业绩)= $42,900

由此可以得出两个结论:一是奖金的金额高度可变(三个乘数都在浮动);二是资深员工从 bonus 中获得的薪酬占比更高——这与上文"base 占比随资历下降"的规律相互印证。

Equity / Stocks(股权/股票)

股权是科技岗位与非科技岗位的分水岭。 它意味着你拥有公司的一份所有权(ownership),并激励你以公司利益为最大前提工作。股权可以占薪酬的很大比例——对资深员工来说甚至可能超过 base salary。

Vesting(归属)与 Cliff(悬崖期)

  • 股权通常在一个时间段内归属(vest),即"变成真正属于你的资产"。典型周期是 4 年,可以按每 1/3/12 个月均等归属。
  • Vesting cliff(归属悬崖) 指开始归属前必须满足的最短时长。

文档中的经典例子:假设你在 4 年期计划、带 1 年 cliff 的条件下获得 4,800 股、按月归属,则——

  • 第 1 年末一次性获得 1,200 股
  • 之后 3 年每月获得 100 股(1,200 + 36 × 100 = 4,800)。

在 IPO 或被收购之前,股权通常一文不值。 虽然公司未上市时也存在内部转卖(internal transfer)的渠道,但参与这类交易前务必想清楚自己签的是什么。

两种股权形式:Options vs Grants

并非所有股权都一样。根据你加入的公司及其所处阶段,你可能拿到以下两种之一:

Stock options(股票期权)

  • 通常由中期阶段(mid-stage)公司发放。
  • 期权与股票不同:股票代表对公司的即时所有权;而期权是以约定的 strike price(行权价)购买股票的权利/选项,因此它不是免费的。
  • 每股成本通常很低,且锁定在**授予时股票的公允价值(fair market value)**上。无论未来股价涨到多高,你都有权按这个价格买入。
  • 离职时存在 exercise window(行权窗口)——在期权作废前你必须行权的截止时间。因此规划离职时,手里要有足够的流动资金把它们买下来。

Stock grants(股票授予,即 RSU)

  • 通常被称为 Restricted Stock Unit(RSU,限制性股票单元),意味着你立即拥有这些股票。
  • 如果公司已经上市,你可以在公司规定的交易窗口(trading window)内卖出。

Signing bonus(签约奖金)

这是一笔入职时支付的一次性总额(one-time lump sum),典型范围在 USD 10,000 – 20,000,最高可到 USD 50,000(Google) 乃至 USD 100,000(Facebook)

注意附带的条件:签约奖金常附带"若在满 1 年前离职需按比例退还"(clawback / pro-rated return)之类的条款。在签署 offer 前务必确认你清楚这些条款。

Misc bonuses / perks(杂项福利)

这些福利虽然不是直接的现金,但能帮你省钱,效果接近于额外薪酬。如果有机会,向你的 recruiter 多问这些细节:

  • 免费餐食:湾区食物并不便宜,工作日提供餐饮每年可省下几千美元,还省去了外出觅食的时间;
  • 搬迁奖金(relocation bonus):对跨国/跨城搬迁者有用,可部分抵消搬迁成本;
  • 医疗与牙科保险/计划:公司通常与保险公司合作为员工提供健康与牙科计划,每年价值可达数千美元,在医疗昂贵的地区尤其重要;
  • 班车服务(shuttle service):湾区公共交通一般,最常见的通勤方式是开车。能坐班车可以省下油费、交通费,并腾出通勤时段的精力。

各级别薪酬参考:Google 与 Facebook 数据

文档引用了来自社群贡献的数据(截至 2021 年 8 月,来源为 Levels.fyi 的公开众包薪酬统计),展示 Google 与 Facebook 各级别的总薪酬拆分:

Google

Level Total (USD) Base Bonus Stock (/yr)
L3 (Entry Level) $191,000 $131,000 $21,000 $39,000
L4 (SWE) $267,000 $158,000 $28,000 $81,000
L5 (Senior SWE) $355,000 $188,000 $37,000 $130,000
L6 (Staff SWE) $489,000 $223,000 $50,000 $214,000
L7 (Senior Staff SWE) $672,000 $263,000 $79,000 $330,000
L8 (Principal Engineer) $1,020,000 $331,000 $119,000 $572,000

Facebook

Level Total (USD) Base Bonus Stock (/yr)
E3 (Entry Level) $180,000 $122,000 $14,000 $43,000
E4 (SWE) $267,000 $162,000 $18,000 $85,000
E5 (Senior SWE) $390,000 $197,000 $35,000 $157,000
E6 (Staff SWE) $598,000 $234,000 $54,000 $309,000
E7 (Senior Staff SWE) $921,000 $272,000 $81,000 $567,000

这两张表直观验证了前文的理论:越往高级,base 增长放缓,而股票年化价值的占比持续上升(Google L8 的股票年化价值 $572,000 约为 base $331,000 的 1.7 倍)。需要注意,这是 2021 年 8 月的时点数据,只适合用来理解"结构比例",具体金额会随市场波动,应以最新公开的众包薪酬数据为准。

仓库源码中的实践佐证:从文档到产品的闭环

tech-interview-handbook 仓库把"理解薪酬"这一知识模块直接转化为产品功能,可作为上文理论的工程化印证(以下均来自 apps/portal 子应用):

  1. 薪酬分项的数据落地。如前所述,schema.prisma 中的 OffersFullTime 用 baseSalary/bonus/stocks/totalCompensation 四字段建模一份 offer,与文档的构成框架完全一致;实习生 offer 则单独建模为 OffersInternmonthlySalary + internshipCycle),对应文档中"internship 用月薪口径"的现实差异。
  2. 真实数据的导入管道seed-salaries.ts 展示了 offer 数据的完整入口:它读取 salaries.xlsx 中的 Income / Stocks / SignOn / Bonus / TC 列,将 SGD 金额通过 currencyExchange 归一化为 base 币种后写入数据库,并按角色归类职位(getJobTitle)、按 FRESH GRAD / MID / SENIOR 推断工作年限与职级(getYoe / getLevel)。可以看到,数据源里的 SignOn 列正是本文"签约奖金"一节在真实数据中的对应物。
  3. offer 分析功能analysisGeneration.ts 实现了对比与百分位计算:getSimilarOffers 选取同一地点、同一职位(title)、收到时间在过去一年内、工作年限相差 ±1 年的相似 offer,按 TC(baseValue 排序)降序排列;calculatePercentile 则在去重后算出你的 offer 所处的百分位(代码注释标明 OFFERS MUST BE ORDERED)。这与本文"看懂分项、比较总包"的阅读方法一致:先归一到同一口径(baseValue),再横向对比。

从源码结构看,这套实现强化了文档的一个隐含建议:比较 offer 时必须把 base/bonus/stocks 拆开后统一口径,再看 TC——这正是"理解薪酬"从理论走向实操的方式。

小结

  • 一份 offer = base salary(固定)+ bonus(三乘数浮动)+ equity(4 年 vesting,注意 cliff 与行权窗口)+ signing bonus(一次性,注意退还条款)+ perks(省钱型福利)
  • 判断结构时要关注比例变化:职级越高,bonus 与股票占比越大,base 占比越小;期权(options)≠ 股票(grants/RSU),前者需要行权资金,后者立即拥有;
  • 理解了构成之后,下一步就是学会谈。仓库中的 negotiation 指南ten rules of negotiation 提供了谈判策略与谈判服务方面的延伸阅读。
登录后查看全文
热门项目推荐
相关项目推荐