我在字节面试过 400 人,总结了这些面试经验

27 分钟

转载自:https://x.com/guansheng_ai/status/2081381190842650940

我在字节工作了 6 年,曾管理过一支 20+ 人的团队,也担任1-3面面试官。期间review过 1,000+ 份简历,面试过 400+ 名候选人

我负责轮次的平均通过率约为 45%;通过我这一轮的候选人中,最终拿到 Offer 的比例约为 80%

写这篇文章不卖课,也不承接模拟面试或求职辅导服务,只是想帮助希望进入字节的朋友,包括实习生、应届生和有一定工作经验的程序员。

下文主要讨论技术岗位的面试流程。不同团队、岗位和招聘时期可能存在差异,请以实际情况为准。如果你面试的是 4-1 及以上高阶岗位,本文的参考价值相对有限,可以直接绕道。另外字节职级改革至L1~L10,以后再分享新老职级对应关系,当前还是用大家熟悉的2-2/3-1这类职级

第一部分:字节的技术面试流程

一般情况下:

  • 实习生:2~3 轮技术面试,加 1 轮 HR 面试。
  • 应届生和社招候选人:3~4 轮技术面试,加 1 轮 HR 面试。

每轮技术面试通常持续 1 小时左右。

如果你经历了 4 轮以上的技术面试,可能存在几种情况:

  1. 你的简历进入了人才池,先后被不同团队捞起;
  2. 前几轮评价存在分歧,需要增加面试轮次;
  3. 团队正在横向比较多名候选人;
  4. 面试官对你的职级判断不一致,需要进一步确认;
  5. 你的表现没有明显问题,但暂时也缺少足够 solid 的录用理由。

因此,面试轮次多不一定代表稳了,也不一定代表没戏,关键还是看每轮面试留下的评价。

技术一面:同级面试

一面通常是 Peer 面试,面试官一般是与你目标职级相近或略高的工程师。

这一轮主要判断你的技术基本功是否扎实,以及简历中描述的项目经历是否真实

技术二面:未来的直属 Leader

二面面试官通常是你未来可能直接汇报的 Team Leader,常见职级为 3-1 或 3-2

除了技术能力,这一轮会更加关注你的项目经验解决问题的方式,以及你能否适应团队的工作模式。

技术三面:部门 Leader

三面一般由更高级别的部门 Leader 负责,常见职级为 3-2 及以上

这一轮不仅会判断你的技术水平,还会考察你的能力是否达到目标职级,以及招聘你之后能否给团队带来正向增益

交叉技术面:兄弟部门 Leader

部分岗位还会安排交叉技术面试,由兄弟部门的 Leader 担任面试官。

交叉面的作用通常是拉齐不同团队之间的招聘标准。如果前几轮对某些能力判断不够明确,交叉面试官也会进行重点考察。

过去部分 2-2 级岗位会安排交叉面;目前一些 3-1 及以上的高阶岗位才会安排。

HR 面试

如果没有交叉技术面,HR 面试通常是整个流程的第四轮。

HR 面试不像技术面那样高频淘汰候选人,但它也绝不是走过场。最终录用通常由核心技术轮次的面试评价综合决定,HR 的评价也会成为重要参考。

在我的经历中,字节对招聘的投入非常大,招聘效率也处于互联网公司第一梯队。

一般一轮面试结束后,招聘 TA 很快就会推动面试官提交反馈、补充面试评价并预约下一轮。流程出现停顿,常见原因包括:

  • 部门 Leader 的时间确实比较紧张;
  • 你正在与其他候选人进行横向比较;
  • 当前团队与你的经历不够匹配;
  • 面试官还没有对你的目标职级达成一致。

第二部分:各轮面试的考察重点

无论进行到哪一轮,面试官通常都会关注以下几个维度:

  • 经历是否真实可信;
  • 沟通是否顺畅;
  • 表达是否有结构;
  • 技术基本功是否扎实;
  • 能否主动分析和解决问题;
  • 是否具备学习能力和成长潜力;
  • 面对压力和追问时能否保持稳定。

面试官并不只看你答对了多少道题,而是在有限时间内判断三个问题:

  1. 你的能力是否真实
  2. 你的能力是否达到目标职级
  3. 你能否解决团队当前的问题

一面:技术基本功

一面重点考察技术基础。

面试官通常会围绕你的项目不断追问技术细节,验证你是否真正做过,以及你对相关技术的理解有多深。

如果你是实习生或应届生,计算机基础、算法、数据结构、网络、操作系统和编程语言基础通常会占据更高的比重。

二面:项目经验和思考能力

二面会更加关注你的过往项目经验。

你需要准确说明:

  • 项目的业务背景是什么;
  • 你在项目中承担了什么角色;
  • 项目最终取得了什么结果;
  • 核心技术方案是如何设计的;
  • 为什么选择这个方案;
  • 方案存在哪些 Trade-off;
  • 如果重新做一次,你会如何改进。

面试官真正想知道的,不只是“你做了什么”,而是“你为什么这样做”。

你需要证明自己不是一个机械执行者,而是能够主动思考、独立判断,并且可以举一反三的人。

三面:能力上限和团队匹配度

三面依然会通过项目追问判断你的技术水平,但考察视角会更高。

面试官通常会关注:

  • 你的能力是否达到目标职级;
  • 你能否独立负责更复杂的问题;
  • 你的加入能否提升团队的能力密度;
  • 你的工作方式是否适合当前团队;
  • 你未来还有多大的成长空间。

越高阶的岗位,面试官越不会满足于“把事情做完”,而是会进一步判断你能否定义问题、推动协作,并对结果负责

交叉面:拉齐招聘标准

交叉面试官通常来自兄弟部门。

这一轮的核心作用是拉齐各团队对高阶候选人的判断标准,并提供相对独立的参考意见。

如果前三轮对某项能力拿不准,交叉面也可能围绕这个问题进行重点追问。

HR 面试:动机、潜力和稳定性

HR 通常会从以下维度进行评价:

  • 为什么考虑离职;
  • 为什么选择字节;
  • 未来的职业规划是什么;
  • 目前最大的优势和不足是什么;
  • 是否具备成长潜力和可塑性;
  • 工作稳定性如何;
  • 沟通、协作和抗压能力如何。

这轮评价会提供给部门 Leader 作为参考。在我的经验中,HR 对你的判断也可能影响后续薪酬沟通时,是否愿意更积极地帮你争取。

字节要求技术 Leader 深入业务一线,因此三面和交叉面的技术 Leader 通常不仅拥有管理经验,也具备很强的技术判断能力。

所谓“软素质”,并不等于性格外向或者会说漂亮话。面试官真正关注的是:你能否在复杂问题下保持清晰,能否主动推动事情,能否诚实面对自己的能力边界。

第三部分:面试避雷和注意事项

1. 真实比完美更重要

暴露自己的弱点和不足,并没有想象中那么可怕。

每份面试评价通常都会从多个维度进行打分,也会同时记录候选人的优点和不足。几乎不存在没有缺点的候选人,最终还是要综合判断你是否适合这个岗位。

真正危险的不是“不会”,而是为了掩盖不会而不断编造,最终在追问中逻辑崩溃。

遇到不熟悉的问题,可以坦诚说明自己的知识边界,再讲清楚你的分析思路。

2. 不要作弊

不要作弊,也不要把面试官当成傻子。

远程面试时,候选人的视线、停顿、回答节奏以及前后表达是否一致,通常都比较明显。

如果面试评价中被记录了作弊嫌疑,后续再面试其他团队,通过概率也会大幅降低,因为历史面试评价通常会被保留

一次题目没有答出来,只能说明某个知识点不够熟悉;作弊则会直接影响面试官对诚信的判断。

3. 不要在项目经历上撒谎

一段项目经历可能会被面试官从业务背景、个人角色、技术方案、数据指标和复盘结果等多个角度反复追问。

如果项目不是你做的,或者你明显夸大了自己的贡献,很容易在交叉追问中出现前后矛盾。

可以合理地突出自己的贡献,但不要把团队成果全部包装成个人成果。

4. 重视结构化表达(重要)

很多候选人技术能力并不差,但表达过于混乱,导致面试官很难准确判断其真实水平。

回答问题时,可以采用下面的结构:

先说结论,再讲背景;然后说明方案、取舍和结果;最后补充反思。

面试不是想到哪里说到哪里。清晰的表达,本身就是高级工程师非常重要的一项能力。 面试官也基本上是通过沟通来判断候选人是否聪明。

5. 控制情绪

即使感受到了压力或不满,也应尽量保持克制。

如果遇到不够友善的面试官,可以正常完成面试,再向 HR 客观反馈具体情况。不要在面试现场与面试官发生情绪化冲突。

字节内部有相对透明的反馈和 360 评价机制,面试官的行为同样会受到约束。

6. 注意示弱

我观察到有些面试官可能没有那么专业,自身还不够成熟,直接上岗面试,所以难免有判断不准的地方,一般这种情况,HR/TA会把面评与简历差异过大的捞起来让部门leader重新review,会加面。但如果真遇到了,也不要硬钢,毕竟面试确实没有那么公平,留下来不好的评价,被公报私仇,影响得还是你自己。

第四部分:字节招聘到底有多“卷”

字节的校招提前批启动得很早,有些年份从 3 月左右就已经开始抢人。

为了找到优秀候选人,招聘团队通常会:

  • 对互联网公司和重点技术团队进行人才 Mapping;
  • 与高校及优秀实验室保持联系;
  • 鼓励优秀员工推荐身边优秀的人;
  • 让业务 Leader 主动接触重点候选人;
  • 在候选人决策期间持续进行吸引和“保温”。

字节把人才观落实到了具体的招聘动作中。很多技术 Leader 会亲自花大量时间筛选和面试候选人,而不是把招聘完全交给 HR。

从候选人的角度看,这意味着竞争确实激烈。你面对的不只是招聘标准,还可能包括同一时间段内其他优秀候选人的横向比较

第五部分:AI 时代的技术面试考察趋势

先说明,这一部分是结合公开招聘方向和近两年技术招聘变化做的趋势判断,并不是字节所有团队统一执行的“AI 面试题库”。不同业务、岗位和面试官差异很大,传统的算法、数据结构、系统设计和计算机基础也不会因为 AI 出现就突然失去价值。

但一个明显变化是:面试官不仅会看你会不会写代码,还会进一步判断你能不能正确使用 AI能不能识别 AI 的错误,以及离开 AI 后是否仍然具备独立解决问题的能力

1. 通用技术岗:会用 AI 已经不稀缺,会验证才稀缺

现在不少工程师都会使用 ChatGPT、豆包、Cursor、Claude Code 或 Copilot 等工具。只说“我平时会用 AI 提效”,很难形成竞争力。

面试官更可能继续追问:

  • 你在哪些开发环节使用 AI,哪些环节不会使用?
  • AI 生成的代码,你如何判断能不能合入?
  • 你如何补充单元测试、边界条件和回归验证?
  • 遇到模型幻觉、错误依赖、性能问题或安全漏洞时,你怎么发现?
  • AI 给出三个不同方案时,你依据什么做最终选择?
  • 如果不能使用 AI,你能否独立完成核心问题?

真正有价值的不是“Prompt 写得很花”,而是你能否把 AI 当成一个能力很强、但需要审核的协作者。最终的技术判断、质量责任和结果责任仍然属于工程师本人。

2. 项目真实性会被追问得更深

AI 降低了写简历、搭 Demo 和生成代码的门槛,也提高了面试官验证项目真实性的成本。因此,项目追问会越来越关注“证据链”。

如果简历里写了一个 AI 项目,只说“接入了大模型、实现了 RAG、准确率提升明显”通常不够。你需要讲清楚:

  • 为什么这个问题适合用大模型,而不是规则、搜索或传统机器学习;
  • 数据从哪里来,如何清洗、切分、标注和更新;
  • 基线方案是什么,为什么选择当前架构;
  • 使用了什么评测集和指标,如何证明效果真的变好;
  • 延迟、成本、准确率和用户体验之间如何取舍;
  • 项目出现过什么失败,最终是如何定位和修复的;
  • 哪部分是你亲自负责,哪部分来自开源项目、模型能力或团队成员。

面试官并不反感你使用 AI。真正的风险是:项目看起来很完整,但候选人讲不清关键决策,也拿不出失败案例和验证过程。

3. AI Coding 可能出现两种考法

未来技术面试可能同时存在两种模式。

第一种是明确禁止使用 AI,继续通过手写代码、算法题和基础知识,验证候选人的独立能力。这种方式不会消失,因为面试官仍然需要确认你是否具备最基本的技术底座。

第二种是允许使用 AI 完成更接近真实工作的任务。 这时考察重点可能从“能否记住标准答案”转向:

  • 能否快速理解陌生代码库;
  • 能否把模糊问题拆成清晰任务;
  • 能否给 AI 足够准确的上下文;
  • 能否 Review AI 生成的代码;
  • 能否通过测试、日志和监控定位问题;
  • 能否在需求变化后快速修正方案;
  • 能否解释最终代码,而不是只负责复制粘贴。

如果面试中涉及 AI 工具,最好先询问规则。允许使用就正常使用并说明过程;不允许使用就不要偷偷调用。工具能力可以加分,诚信问题一定会减分。

4. AI 岗位:从“知道概念”转向“能做出可评测的系统”

字节面向大模型和前沿技术方向的公开招聘已经覆盖基础大模型、机器学习系统、视觉智能、语音智能、大模型 AI 搜索、模型个性化和具身智能等方向。对于这些岗位,仅仅背诵 Transformer、RAG 或 Agent 的概念,很难证明能力。

面试考察通常会落到四个层次:

  1. 模型与算法基础:Transformer、Attention、训练与微调、推理、Embedding、排序、对齐和评测等基本原理是否扎实。
  2. 工程系统能力:数据管道、训练和推理系统、GPU 利用率、并行计算、缓存、限流、降级、可观测性、成本与延迟优化是否真正做过。
  3. 应用落地能力:RAG、Agent、工具调用、记忆、工作流和多模型路由是否解决了真实问题,而不是为了使用新技术而使用。
  4. 业务与评测意识:能否定义正确指标,建立离线评测集和线上实验,识别幻觉、提示词注入、数据泄露、安全与合规风险。

越接近高阶岗位,越会关注候选人能否定义问题、建立评测标准并持续迭代,而不只是调用一次模型 API。

5. 面试准备也要随之变化

如果你正在准备技术面试,我建议额外准备四件事:

  1. 选一个自己真正做过的项目,整理出“问题—方案—取舍—数据—失败—改进”的完整证据链。
  2. 准备一个 AI 给出错误答案,而你通过测试或分析发现并修正的案例。
  3. 保持不依赖 AI 的基础能力,至少能够独立解释和修改自己提交的每一行核心代码。
  4. 如果应聘 AI 岗位,不要只刷概念题,要亲自做数据、评测、部署、监控和成本优化。

公开行业数据也能说明这种变化。HackerRank 的 2025 开发者技能报告显示,AI 助手已经进入多数开发者的日常工作流,同时企业仍在担心候选人脱离 AI 后的真实编码能力;开发者也更希望通过接近真实工作的任务证明能力。对面试官来说,未来更难的问题不是“要不要允许 AI”,而是“如何在允许使用工具的情况下,仍然准确判断候选人的真实水平”。

所以,AI 时代最有竞争力的候选人,不是完全拒绝 AI 的人,也不是遇到任何问题都依赖 AI 的人,而是:能独立思考、会熟练使用 AI,并且有能力对 AI 的结果负责的人。

最后

面试天然是不完全公平的。

面试官很难在 1 小时内充分了解一个人。设置多轮面试,是为了尽可能降低单个面试官的主观偏差,但绝对客观几乎不可能实现。

所以,面试通过了,不代表你一定比其他人强;面试没有通过,也不代表你不优秀。团队需求、岗位匹配、招聘时点和面试官风格,都会影响最终结果。

进入字节以后,你可能依然需要面对较高的压力、激烈的竞争和很快的工作节奏,因为身边有很多聪明且努力的人。

如果你希望和优秀的人一起做有挑战的事情,可以进去试一试。

如果面试没有通过,也不要急着否定自己。更有价值的做法,是诚实复盘

  • 哪个问题回答得不够清楚;
  • 哪个技术细节掌握得不够扎实;
  • 哪段项目经历没有证明自己的实际贡献;
  • 哪项能力与目标职级仍有差距。

你真正需要做的,是让面试官清楚、可信地看到你的真实能力。“不要试图在 1 小时内扮演一个完美的候选人”。

面试同时也是双向选择,拿到offer后,自己对市场有一个真实判断,可以argue待遇(取决于面试评价,特别优秀的面试评分3.5,字节会给顶配待遇),以及未来工作内容,工作方式。字节当前确实是中国互联网的领头羊,非常国际化的公司,但各个团队差异挺大,一样有非常多的脏活、累活,也有非常坑的岗位与leader,所以还是多方团队情况、leader情况,掉坑了也麻烦。

南一

前端工程师,在这里整理面试知识,也记录从零做一个网站的过程。

关于本站 →