字节跳动前端面经(2024 秋招)
4 轮技术面 + 1 轮 HR 面,历时 2 周。
面试者背景
- 211 本科 + 985 硕士,计算机专业
- 2 段实习经历(美团、字节跳动日常实习)
- 投递岗位:抖音电商 - 前端开发工程师
一面(45 分钟)
算法题(20 分钟)
题目:实现一个 LRU 缓存
- 要求:O(1) get 和 put
- 时间限制:15 分钟
- 考察点:数据结构组合设计
# 见本专题「哈希表」章节
追问:
- 如何实现线程安全?
- 如果要支持过期时间怎么改?
- 如果数据量大到内存放不下怎么办?
前端基础(15 分钟)
- React Fiber 架构的优势?
- useEffect 的依赖数组什么情况下会「失效」?
- CSS 选择器优先级计算规则
项目深挖(10 分钟)
- 实习项目中的性能优化做了什么?
- 如何度量优化效果?
二面(60 分钟)
算法题(25 分钟)
题目:合并 K 个升序链表
- 要求:时间复杂度优于 O(K × N)
- 最优解:优先队列,O(N log K)
系统设计(20 分钟)
题目:设计一个类似抖音的短视频 Feed 流
- 数据规模:日活 6 亿,人均 100 条视频
- 考察点:
- 推荐算法如何与前端配合?
- 视频预加载策略
- 瀑布流布局的虚拟列表实现
开放问题(15 分钟)
- 如果让你设计一个新的前端框架,你会关注哪些方面?
- 如何看待 Rust / Go 在前端工具链中的应用?
三面(60 分钟)
算法题(30 分钟)
题目:最长上升子序列(LIS)
- 要求:O(N log N) 解法
- 追问:如何用树状数组优化到更优复杂度?
项目深度(20 分钟)
- 实习项目的架构设计
- 如果流量翻 10 倍,系统会怎样?如何优化?
- 技术选型的决策依据
行为问题(10 分钟)
- 描述一次与同事产生技术分歧的经历
- 如果业务方要求一个不合理的 deadline,你怎么处理?
HR 面(30 分钟)
- 为什么选字节?
- 职业规划是什么?
- 期望薪资?(建议:给区间,不封顶)
- 有无其他 offer?(建议:如实说,增加筹码)
复盘与建议
算法准备
- 字节算法要求高,Hard 题比例大
- 建议刷 200+ 题,重点掌握数据结构组合设计
- 每道题准备 2-3 个 follow-up 的解法
项目准备
- 要能用 STAR 法则清晰表达
- 量化指标:性能提升 %、流量规模、用户数量
- 准备好「如果重来会怎么改进」的反思
薪资谈判
- 字节薪资 = 基础月薪 × 15 + 签字费 + 股票
- 有竞品 offer 可以争取 Special Offer
- 日常实习转正通常有薪资溢价
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。