CalcGuide · 技术博客主页 / 一页纸学习计划
🟠

求职与技术面试:从简历到 offer 的工程化准备

分类:项目与职业能力 · 路径:docs/topics/career-and-interview/README.md

#career#interview#resume#system-design#negotiation#offer

用 6~10 周从零开始准备求职:打磨简历与作品集、刷算法与系统设计、模拟行为面试、谈薪谈判,到拿到 offer

父主题

顶层主题

子主题(5)

求职与技术面试:从简历到 offer 的工程化准备

0. 元信息

1. 学习路线

求职策略与时机(target list / 招聘季 / networking / referral)
  → 简历与 GitHub 作品集(STAR 项目叙事 / 量化指标 / 关键词)
  → 算法与数据结构面试(CS 基础 / LeetCode / Codeforces 系统化训练)
  → 系统设计与行为面试(白板 / 容量估算 / STAR / leadership / failure)
  → offer 谈判与职业路径(TC / RSUs / 级别 / 跳槽时机 / 长期成长)

每一步都是下一步的前置:没有策略就改简历是盲打;没有简历就刷题是浪费;没有刷题就上系统设计会被秒拒;没谈过 offer 就接 offer 是亏钱。

2. 阶段周数分配

阶段6 周方案10 周方案备注
1. 求职策略与时机0.51target list + 招聘季 + networking
2. 简历与作品集0.51STAR 叙事 + 量化 + 关键词
3. 算法与数据结构24LeetCode 模式 + CS 基础
4. 系统设计与行为面试23白板 + STAR + mock
5. offer 谈判与职业路径11TC / RSUs / 级别 / 谈判
合计610

6 周方案面向有 3 年以上经验、目标明确的转岗/跳槽者;10 周方案面向应届/初级、或第一次走完整流程的工程师。综合项目占最后 1 周。

3. 九阶段表

阶段核心知识实践产出可观察学会标准
1. 求职策略target 公司分级、招聘季日历、networking 渠道、referral 路径、求职节奏一份 target list + 12 周日历能讲清自己的求职策略、并按周滚动调整
2. 简历与作品集STAR 项目叙事、量化指标、关键词匹配 ATS、GitHub README、技术博客1 份中文 + 1 份英文简历,3 个项目卡片简历能在 6 秒内被资深面试官看懂亮点
3. 算法面试数组 / 链表 / 树 / 图 / DP / 二分 / 滑动窗口 / 堆 / 哈希 / Trie / 并查集300 题分类刷题记录 + 模式卡现场给一道 Medium 能在 20 分钟内出解
4. 系统设计面试容量估算 / 缓存 / 一致性 / 消息 / 可观测 / 故障4 套白板设计(短链 / Feed / 限流 / 排行)45 分钟白板讲清一套百万 QPS 系统
5. 行为面试STAR / conflict / leadership / failure / ambiguity / influence / prioritization10 道行为题 STAR 答案 + 5 次 mock 录音模拟面试官听完不打折扣能理解你做了什么
6. CS 基础OS / 网络 / 数据库 / 分布式 / 设计模式 / 编译原理一份一页纸 cheatsheet + 30 题快答能 60 秒讲清 TCP 三次握手、虚拟内存、B+ 树
7. 综合 mock编码 + 系统设计 + 行为三场连排5 次完整 mock 录音 + 复盘能在真实面试前后 5 分钟内进入状态
8. offer 谈判TC 拆解、级别匹配、RSU/期权、四要素谈判、counter offer一份 offer 比较表 + 一份谈判脚本拿到至少 1 个 offer 并完成 1 轮谈判
9. 入职与成长30/60/90 天计划、on-call、1:1、职业路径、技术品牌1 份入职计划 + 1 份 2 年成长地图入职前 1 周可向经理汇报 30 天目标

关键陷阱:把”投简历”当准备;刷题只刷 Easy;系统设计背答案;行为面试背稿;offer 不谈判直接签;入职前不做功课。

4. 第一周任务

Day 1 约定:本计划以”刷题 + 模拟 + 复盘”为最小循环。所有产出必须有可见证据(刷题记录、白板视频、STAR 答案文本、offer 邮件)。GitHub 公开仓库作为作品集载体。

任务当天交付
Day 1锁定求职窗口期(北美:9-12 月/1-3 月;国内:3-4 月/8-10 月),建一份 target list(A/B/C 三档共 30 家)target list 表格 + 招聘季日历
Day 2整理现有简历,按 STAR 原则改写 3 个项目卡片,每条 bullet 加量化指标旧简历 + 3 个项目卡片初稿
Day 3用 Jobscan / 招聘网站爬 5 个目标 JD,提取高频关键词,合并到简历关键词清单 + 改后简历 v2
Day 4建一个 GitHub 公开仓库 interview-prep,README 写求职状态、技术栈、刷题进度仓库 README + 第一个 commit
Day 5LeetCode 按模式刷:Two Pointers / Sliding Window 各 5 道,用模式卡记录思路10 道题解 + 2 张模式卡
Day 6找 1 位同级别朋友做 mock:1 道编码 + 2 道行为,记录对方反馈mock 录音 + 反馈清单
Day 7项目步骤 A:跑通”简历 v2 + GitHub 仓库 + 10 题刷题记录”三件套;步骤 B:补齐 4 类边界(简历超 1 页、GitHub 无 README、刷题只刷 Easy、mock 录音没说清)求职工具包 v0.1 + 4 类问题清单

Day 7 步骤 A 把求职资产跑通;步骤 B 每类问题先在文档里复现,再讲清补救路径。

5. 阶段通用验收

  1. 不看答案独立重写刷过的算法题(≥ 60 题);
  2. 用自己的话解释每个项目”解决什么问题、为什么有效、量化结果是什么”;
  3. 画一张图:白板组件图 / 行为面试 STAR 四段叙事 / 求职流程时间线;
  4. 测试空简历(无项目)、薄弱项目(无量化)、超长简历(>1 页)、关键词不匹配 JD 四类边界;
  5. 准备至少 3 组自定义 STAR 答案并录音回听;
  6. 记录投递数 / 面试数 / offer 数 / TC 等关键指标;
  7. 能修改已有项目卡片(换受众、加指标、换关键词),而不是只照抄。

6. 最终验收

7. 综合项目

首选:6 周求职 Sprint(必做:target list + 简历 v3 + 300 题刷题记录 + 4 套系统设计白板 + 5 次 mock + 1 次 offer 谈判 + 复盘)。

备选:单点突破项目(如纯系统设计 100 题 + 4 套白板,适合在职跳槽)。
备选:面试官视角项目(mock 10 个候选人 + 评分表,适合想转管理 / TL 路径的人)。

任何综合项目都必须包含:

  1. 求职策略与目标公司分级;
  2. 简历与作品集打磨记录;
  3. 刷题与系统设计白板记录;
  4. 行为面试 STAR 答案;
  5. mock 录音与复盘;
  6. offer 谈判记录与最终比较表;
  7. README(含求职 window、目标、产出、复盘);
  8. retrospective.md(含教训、改进、下一轮策略)。

8. 推荐开源资料

阶段角色资料链接用法
全部经典书Gayle McDowell《Cracking the Coding Interview》https://www.crackingthecodinginterview.com/算法 + 行为 + 系统设计三合一
全部经典书Alex Xu《System Design Interview》两卷https://bytebytego.com/系统设计白板题库
1-2策略Gayle McDowell《The Google Resume》https://www.crackingthepminterview.com/简历 + 求职策略
3刷题LeetCodehttps://leetcode.com/按模式分类 Blind 75 / NeetCode 150
3刷题NeetCode Roadmaphttps://neetcode.io/roadmap按 14 模式组织
3刷题Codeforceshttps://codeforces.com/高难度训练
4系统设计Alex Xu《System Design Interview》Vol 1 & 2https://bytebytego.com/白板 20 题精讲
4系统设计Hello Interviewhttps://www.hellointerview.com/视频白板 + 评分标准
4系统设计Educative Grokking System Designhttps://www.educative.io/courses/grokking-the-system-design-interview题库 + 图解
5行为Lewis Lin《Decode and Conquer》https://www.decodenconquer.com/PM/PM 行为题库
5行为Pramphttps://www.pramp.com/免费 mock 平台
8谈判Haseeb Qureshi《Senior Engineer Salary Negotiation》https://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/谈判 10 条军规
8谈判levels.fyihttps://www.levels.fyi/真实 TC 数据
9职业Michael Lopp《Managing Humans》https://lopp.com/入职与 1:1
9职业Charity Majors《The Pragmatic Engineer》https://newsletter.pragmaticengineer.com/职业路径与行业观察

默认使用顺序:先读《Cracking the Coding Interview》建立框架 → 用 LeetCode 按模式刷 → 用 Alex Xu / Hello Interview 练系统设计白板 → 用 Pramp 做 mock → 用《Decode and Conquer》准备行为 → 用 Haseeb Qureshi / levels.fyi 准备谈判 → 写 retrospective。

9. 学习资料汇聚(v0.3 自包含)

9.1 背景与动机

求职与技术面试是工程师职业路径里最被低估的工程化项目。1990 年代末硅谷互联网爆发,Microsoft、Google 等公司建立标准化算法面试流程;2007 年 Steve Yegge 的《Get That Job At Google》让”刷题文化”扩散;2010 年代后《Cracking the Coding Interview》成为事实标准;2015 年后 Alex Xu 用 ByteByteGo 把系统设计面试从”靠经验”变成”可训练”。今天每一个想进入大厂、L5/L6 级别、或跨国公司的工程师都把求职当 sprint 来做。一句话总结:求职不是运气,是工程化准备 + 真实演练 + 数据驱动复盘。

9.2 概念地图

flowchart LR
  Strategy[求职策略与时机] --> Resume[简历与作品集]
  Resume --> Coding[算法与数据结构]
  Coding --> SD[系统设计面试]
  SD --> Behavioral[行为面试]
  Behavioral --> Mock[Mock 综合演练]
  Mock --> Offer[offer 谈判]
  Offer --> Onboard[入职与成长]
  Strategy -.target list.-> Networking[Networking / Referral]
  Resume -.GitHub.-> Portfolio[作品集]
  Coding -.LeetCode.-> Patterns[14 模式]
  SD -.whiteboard.-> Capacity[容量估算]
  Behavioral -.STAR.-> Stories[故事库]
  Offer -.TC.-> Comp[TC 拆解]
  Onboard -.30/60/90.-> Growth[职业成长]

关系说明:求职策略定 target → 简历与作品集敲门 → 算法 + 系统设计证明硬实力 → 行为面试证明软实力 → mock 串联 → offer 谈判定结果 → 入职决定后续成长。每一阶段都对应可量化的产出(刷题数、白板数、mock 数、offer 数)。

求职 funnel conversion 跟踪(Python)

# 求职 funnel:投递 → 简历通过 → 面试 → offer → 谈判
def funnel_conversion(applied: int, resume_pass: int,
                      interviewed: int, offered: int, signed: int) -> dict[str, float]:
    return {
        "apply_to_resume_pass": resume_pass / max(applied, 1),
        "resume_pass_to_interview": interviewed / max(resume_pass, 1),
        "interview_to_offer": offered / max(interviewed, 1),
        "offer_to_sign": signed / max(offered, 1),
        "overall": signed / max(applied, 1),
    }

if __name__ == "__main__":
    # 6 周求职 Sprint 典型 funnel
    print(funnel_conversion(
        applied=120, resume_pass=42, interviewed=18, offered=4, signed=1
    ))
    # {'apply_to_resume_pass': 0.35, 'resume_pass_to_interview': 0.43,
    #  'interview_to_offer': 0.22, 'offer_to_sign': 0.25, 'overall': 0.0083}

9.3 基础知识讲解

9.3.1 经典书籍

影响用法
Gayle McDowell, Cracking the Coding Interview(6th ed., CareerCup, 2016)编码 + 行为 + 系统设计三合一必读前 9 章行为与策略 + 选刷题
Alex Xu, System Design Interview(ByteByteGo, 2020 / 2022)系统设计白板事实标准Vol 1/2 各刷一遍
Gayle McDowell, The Google Resume(CareerCup, 2011)简历与求职策略当简历课
Lewis Lin, Decode and Conquer(3rd ed., PM-LIN, 2023)行为面试题库必读
Haseeb Qureshi, Senior Engineer Salary Negotiation(自出版)谈判 10 条军规谈薪前一周重读
Steve Yegge, Get That Job At Google(自出版, 2007)刷题文化起源选读
John Sonmez, Soft Skills(Manning, 2014)程序员职业软技能选读
Michael Lopp, Managing Humans(2nd ed., Apress, 2016)工程师管理入门入职后读
Camille Fournier, The Manager’s Path(O’Reilly, 2017)TL / Manager 路径选读
Tanya Reilly, The Staff Engineer’s Path(O’Reilly, 2022)Staff+ 路径进阶读

9.3.2 经典方法论 / 框架

框架内容用法
STAR(Situation/Task/Action/Result)行为面试四段叙事每道行为题按此结构答
Blind 75 / NeetCode 150LeetCode 模式分类题库按模式刷,不按难度
ByteByteGo 4 步法容量 → API → 数据模型 → 深入设计系统设计白板模板
14 算法模式Two Pointers / Sliding Window / Fast Slow / Merge Intervals / Cyclic Sort / In-place Reversal / BFS/DFS / Two Heaps / Subsets / Modified Binary Search / Top K / K-way Merge / DP / Trie模式识别优先
行为 8 大主题Conflict / Failure / Leadership / Ambiguity / Influence / Prioritization / Technical / Customer每主题准备 1~2 个故事
4 要素谈判Base / Bonus / Equity / Sign-on / Relocation谈薪时分开谈
30/60/90 天计划入职前 3 个月目标入职前 1 周写完

9.3.3 优秀博客与播客

资料特点用法
Pragmatic Engineer Newsletter行业、公司、职业路径选读每周新闻
levels.fyi真实 TC 数据谈薪必查
Haseeb Qureshi 博客谈判、招聘、FAANG 经验必读谈判篇
ByteByteGo系统设计图解配合书刷
Hello Interview 博客系统设计题解配合视频
NeetCode YouTube算法 + 系统设计视频刷题前看讲解
Tech Interview Handbook刷题路线 + 简历模板当字典
GitHub Engineering Blog大厂工程实践行为题素材
Linus Lee 博客个人求职与反思选读
Julia Evans(b0rk)CS 基础图解CS 基础题库

9.3.4 核心人物

人物主要影响建议追踪的材料
Gayle McDowellCracking 系列作者career cup 网站
Alex XuByteByteGo / System Design InterviewByteByteGo
Haseeb QureshiFAANG 面试与谈判haseebq.com
Steve Yegge刷题文化起源Get That Job at Google
Julie Zhuo设计 + 管理The Making of a Manager
Charity Majors工程师职业观察Pragmatic Engineer
Tanya ReillyStaff+ 路径The Staff Engineer’s Path
Lewis Lin行为面试题库Decode and Conquer
Michael Lopp工程师管理Managing Humans
Linus Lee个人求职反思个人博客

9.3.5 训练方法

方法具体动作何时用
模式刷题按 14 模式分类刷,每模式 20~30 题算法阶段
白板演练用 whiteboard / Excalidraw 画组件图,45 分钟讲清系统设计阶段
STAR 故事库准备 10 个项目故事,覆盖 8 大主题行为面试
Mock 录音每周 1~2 次完整 mock,事后听回放综合演练
反向思考面试后 24 小时内写复盘,列 3 个改进点每次面试后
Offer 矩阵把每个 offer 折算成 TC + RSU 现值 + 成长谈判前
网络节点化把每个 contact 当节点,目标公司前 3 层引荐networking
关键词 ATS 化用 Jobscan 检查简历与 JD 的关键词匹配率简历阶段

9.4 经典问题与经典案例

#问题重要性最简答案或图示
1如何 6 周内从零准备 FAANG 面试全流程模板target list → 简历 → 300 题 → 4 白板 → 5 mock → 谈判
2算法面试的 14 模式是什么决定刷题效率Two Pointers / Sliding Window / DP / BFS / DFS / …
3系统设计白板的标准 4 步决定白板得分容量估算 → API → 数据模型 → 深入设计
4行为面试 STAR 四段叙事决定行为得分Situation/Task/Action/Result,每段 30 秒
5如何处理 conflict 类行为题高频且易翻车用具体场景,避免负面,强调 learning
6TC 拆解:base / bonus / RSU / sign-on决定实际收入把 RSU 按 4 年 vest 折现,再加 sign-on
7何时该 counter offer谈判关键节点同时有 2 个 offer 才能 counter
8何时跳槽职业路径问题18 个月规则 + 学习曲线平台期
9如何评估 startup offer高风险高回报4 年 vest + 清算优先权 + 公司 runway
10远程 vs onsite vs hybrid工作模式选择影响 TC、税收、生活成本
11简历 ATS 关键词不匹配投递石沉大海用 Jobscan 检查 ≥ 80% 匹配
12GitHub 没有 README弱化作品集每个 repo 写 README:动机、栈、demo
13模拟面试紧张真实面试失误5 次 mock 后基本消除
14offer 谈判被 HR 强压错失 10~30% TC用 Haseeb Qureshi 10 条军规
15入职后 30 天无产出失去信用30/60/90 计划 + 第一周观察 + 第二周开始小交付

9.5 学习难点

概念难点

难点为什么会卡突破路径
算法模式识别拿到题不会归类每题先写”属于哪个模式”,再写解
容量估算的 5W不会起步用 DAU × 读写比 × 对象大小 × 留存期 × 副本系数
行为面试 STAR 模板化故事太多不会选每主题精选 1~2 个最强故事,反复打磨
TC 拆解与折现数字太多用 levels.fyi + 自建 Excel 公式
级别(L4/L5/L6)的差异公司间不通用看目标公司的 level guide,再对应

思维难点

难点为什么会卡突破路径
求职窗口期判断时机错了浪费半年看招聘季日历 + 提前 3 个月准备
networking 心理障碍怕被拒绝每次 cold outreach 期望 10% 回复
谈判时怕失去 offer接受 first offer记住:已给 offer 的人不会因为谈判撤回
跳槽频繁 vs 稳定的边界简历花18 个月规则 + 学习曲线平台期
选 startup vs 大厂路径选择评估 4 年 vest + 清算优先权

工程难点

难点为什么会卡突破路径
算法 300 题的时间管理题海战术按模式刷,每模式 20~30 题
系统设计白板超时容易展开太宽严格 4 步法:5/5/10/25 分钟分配
mock 找不到合适搭档缺资源用 Pramp / IGotAnOffer / 朋友轮换
简历 1 页 vs 2 页取舍资深工程师内容多1 页聚焦最近 5 年 + 强项目
GitHub 作品集冷启动没开源经验从小工具 / blog 仓库开始,2 周一次 commit

9.6 技术标准与接口

9.6.1 Entity

名称来源状态备注
STAR 框架行为面试事实标准通用所有公司
14 算法模式Tech Interview Handbook通用刷题路线
ByteByteGo 4 步法Alex Xu通用系统设计白板
Blind 75Blind 社区通用LeetCode 题库
NeetCode 150NeetCode通用LeetCode 题库
levels.fyi TC 数据社区众包通用谈薪必查
30/60/90 计划Manager 通用通用入职前 1 周
ATS 关键词匹配HR 系统通用简历阶段

9.6.2 Scope

9.6.3 Structure

9.6.4 Ecosystem

9.6.5 Depth Tiers

层级能力求职主题的可观察标准
L0知道存在知道算法/系统设计/行为/谈薪四个面试维度
L1看得懂示例能读懂 STAR 答案、白板设计图、offer 比较表
L2能正确应用能按模式刷 100 题,能画 1 套白板,能用 STAR 答 5 道行为题
L3能解释与排错能讲清为什么用这种模式、为什么这个容量估算、为什么这个 TC 数字
L4能指导他人能 mock 别人并给反馈,能帮朋友改简历与谈判

本计划目标:L3。综合项目争取 L4 的局部能力(mock 别人 + 帮朋友改简历)。

9.6.6 Source

10. 常见误区

11. 所有知识点分类(统一规则)

  1. 编程语言
  2. 数据结构与算法
  3. 计算机基础
  4. 工程技术
  5. Web 与后端
  6. 前端与客户端
  7. 数据与人工智能
  8. 项目与职业能力

本计划归属:项目与职业能力 主 + 工程技术 辅(系统设计)。


直接依赖(4)

查看知识图谱