字节跳动前端面经(2024秋招):算法项目综合考察

字节跳动2024秋季校园招聘前端开发工程师面试实录:4轮技术面+HR面,涵盖算法题、React原理、浏览器底层、项目深挖与开放性问题。

字节跳动前端面经(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
  • 日常实习转正通常有薪资溢价

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页