
💡 核心要点 (Key Takeaways)
- Onsite 共 4 轮:Trie coding(含 follow-up)→ 合并闭区间 coding(含阴影面积 follow-up)→ BQ/growth 面 → real-time stream 广告 view 计数 System Design
- Full-stack 经验是隐性加分项:HR 反馈「选择了另一个更有 full stack 经验的 candidate」
- Coding 考经典算法但 follow-up 很关键:Trie 的删除优化、合并区间的阴影面积
- SD 偏 real-time stream:给 tweet stream + tweet_view stream,做实时广告 view 计数的 API
- BQ 重视 growth pattern:「前一份经历的缺点在下一份有没有改进」,要能谈负面反馈
- 在线编辑器不熟是扣分点:熟悉自己语言的 template 写法,别把时间花在搭环境上
免费获取轮次诊断正在备战 SWE 面试?免费获取轮次诊断:发你的当前轮次与倒计时,我们先定位卡点,再决定下一步。
一、Twitter/X SWE 面试流程 — 4 轮 Onsite 结构
基于 2026 年一位候选人完整走完 4 轮 onsite 的经历,Twitter/X 的 SWE 流程结构清晰,共 4 轮 onsite,节奏是「coding → coding → BQ → SD」的交叉安排: 第一轮 coding(经典 Trie 题)+ 第二轮 BQ(第二次面 HM)+ 第三轮 coding(合并闭区间 + 阴影面积 follow-up)+ 第四轮 SD(real-time stream 广告 view 计数)。注意 coding 和 BQ 是交叉的,不是先全部 coding 再全部 BQ。 一个关键的隐性信号:full-stack 经验是加分项。这位候选人的 HR 反馈说「整体是 positive 的,但还是选择了另一个更有 full stack 经验的 candidate」——也就是说 Twitter/X 在同等条件下明显偏好 full-stack 背景,纯算法/纯后端背景要有意补充 full-stack 的表达(前端、端到端、产品感)。候选人复盘:「之前和 HM 聊的挺好,可能做题和 SD 差了点」,说明做题(coding)和 SD 是拉开差距的两轮,BQ 和 HM 更多是确认而非决定。 整体体验:面试官友好(「人很 nice 没有负面反馈」),但 bar 不低,「感觉有一部分安慰的成分在」——HR 的 positive 反馈不等于 offer,要按 hard signal(coding + SD)评估自己的表现。
二、Coding 轮:Trie 与合并闭区间
Twitter/X 的 coding 考经典算法 + 关键 follow-up,两道高频题分别是 Trie 和合并闭区间,但真正的分水岭在 follow-up。 第一轮:Trie(实现 + 优化)。要求实现插入、判断存在、startWith(返回 list)三个函数。候选人用 boolean wordEnd 存词尾,一边写的时候主动提到了两个优化:「如果需要实现删除功能,可以加一个 int count 属性来节省查询时间(pruning)」「如果不在意空间的话,可以预存 startWith 的结果,利用 redundancy 节约时间」。有意思的是,正是因为主动提到了这些,后面面试官没再问任何 follow-up。这是 Twitter/X coding 的一个高价值技巧:边写边主动提出优化方向,既展示深度,又能把 follow-up 的主动权握在自己手里。 一个执行细节的扣分点:「写程序的界面不知道为什么没 load 出来 java 的 template,后面为了 run 测试还花了一点时间写 template,面试官人很 nice 没有负面反馈,但感觉是个扣分点。建议和我一样纯刷题没怎么实际写过项目的人熟悉一下自己语言的 template 怎么写」。启示:熟悉在线编辑器 + 自己语言的 template 写法,别把宝贵时间花在搭环境上。 第三轮:合并闭区间 + 阴影面积 follow-up。经典题(排序后合并),但候选人「做的不好」——「不知道为什么脑抽想要按 stream 的方式一个一个插入做,用 PriorityQueue 存排好序的区间,但 Java 的 PQ 没有 floor 和 ceiling 函数,我还改成 list 存储并手撸了一个 binary search 找插入点,这里还简单了,没考虑需要合并多个区间的情况」。follow-up 是「给区间加上高度,算阴影部分面积」(想象柱状图,[2,4,3] 代表坐标从 2 到 4、高度 3 的长方形,多区间形成重叠区域)。候选人「想出来了,记录区间开始或结束点,从左到右遍历同时记住每次高度变化时的横坐标和新高度」,算法讲出来了但没来得及写完。启示:经典题要用最稳的解法(排序 + 合并),别临场发挥用复杂结构;follow-up 的「面积/阴影」类题要提前准备 sweep line 思路。
- Trie 边写边主动提优化(count pruning、预存 startWith),能把 follow-up 主动权握在自己手里
- 熟悉在线编辑器 + 语言 template,别把时间花在搭环境上
- 合并闭区间用最稳的「排序 + 合并」,别临场用复杂结构
- 阴影面积 follow-up 考 sweep line:记录横坐标高度变化点从左到右遍历
三、System Design 轮:Real-time Stream 广告 View 计数
Twitter/X 的 SD 偏 real-time stream 处理,这道题非常贴合 X 的业务(海量实时事件流)。 题目:给两个 stream——一个是 tweet stream,一个是 tweet_view action 的 stream,格式是 (tweet_id, viewer_id, timestamp)。要实现一个 API 给企业用户,显示实时的某广告 tweet 的 views 数量,并做成折线图之类的 output。 候选人的解法(自评「因为没这方面经验,这题做得很一般」):因为企业客户有限,可以把所有企业客户的 tweet id 都存在内存里,然后建立一个最小区间(比如 30 秒)count 所有相关 view event;stream 的处理大概提了 Kafka,然后用 Redis 之类的存数据。 这道题的考点拆解: - 实时性:stream 是持续流入的,要能低延迟聚合,不是批处理; - 时间窗口聚合:按 30 秒(或可配置窗口)count view event,折线图需要的是时间序列的 view 计数; - 内存 vs 外部存储:企业客户有限 → 相关 tweet id 可以放内存,但 view event 量巨大 → 用 Kafka 做缓冲 + Redis 做热数据计数 + 定期落盘; - 多租户隔离:企业客户各自看自己的广告 tweet,要按客户隔离计数。 应对方式:提前准备 1-2 道 real-time stream 聚合题(实时计数、实时去重、时间窗口聚合),熟悉 Kafka + Redis 的组合用法(Kafka 做流缓冲、Redis 做热数据/计数器、定期 flush 到持久层),能讲清「内存能放什么、什么必须走外部存储」的边界。
- SD 偏 real-time stream,贴合 X 的海量实时事件流业务
- 考点:实时聚合 + 时间窗口 + 内存 vs 外部存储边界 + 多租户隔离
- 准备 Kafka + Redis 组合:Kafka 缓冲、Redis 热计数、定期落盘
- 提前准备 1-2 道 real-time stream 聚合题(实时计数/去重/窗口聚合)
💡 如果目标就是 SWE 岗,按岗位整理的题型分布、轮次路线与准备清单在这里。
SWE 面试辅助 →四、BQ 轮:Growth Pattern 与负面反馈
Twitter/X 的 BQ 轮(第二轮,第二次面 HM)重点是 go through 简历 + growth pattern。一位候选人复盘:「因为我经历比较少所以也没太多可问的,主要是需要说一些 growth pattern,比如你在前一份经历里的缺点在下一份里有没有改进,另外需要多想一些负面的东西,supervisor 对你的负面评价会是什么之类的,这种感觉比较难答一点」。 这道题的考点是自我认知 + 成长轨迹: - Growth pattern:不是「我做了什么」,而是「我从 A 经历学到的缺点,在 B 经历里怎么改进了」——要能画出你的成长曲线; - 负面反馈:「supervisor 对你的负面评价会是什么」——要能坦承一个真实的负面评价,并说明你怎么回应和改进。这题难在不能太正面(显得没自知),也不能太负面(显得有问题),要把握「坦诚 + 已改进」的平衡。 应对方式:准备 2-3 个「缺点 → 改进 → 结果」的故事,覆盖不同维度(技术、协作、沟通);准备一个「supervisor 给我的负面评价」的真实故事,重点是后半段「我做了什么改进」。X 的文化看重 ownership 和 candor,能坦诚谈负面反馈是加分项。
- BQ 重点是 growth pattern,不是「我做了什么」
- 考「前一份缺点在下一份有没有改进」,画出成长曲线
- 「supervisor 的负面评价」要坦诚 + 已改进,把握平衡
- 准备 2-3 个「缺点 → 改进 → 结果」故事,覆盖不同维度
五、常见挂因复盘
从 2026 年 Twitter/X SWE 候选人的失败案例里,可以归纳出四类高频挂因。 1. Coding 临场发挥用复杂结构。合并闭区间「脑抽想用 stream 方式 + PQ + 手撸 binary search」,结果没考虑合并多个区间的情况,follow-up 又没写完。启示:经典题用最稳的解法,别临场炫技用复杂数据结构。 2. 没主动提优化,follow-up 被动。反例是 Trie 那轮——主动提了优化反而没被追问。如果不主动提,面试官可能追问你没想到方向的 follow-up。启示:边写边主动提优化,把 follow-up 主动权握在自己手里。 3. Real-time stream SD 没准备。「因为没这方面经验,这题做得很一般」——Twitter/X 的 SD 明显偏 real-time stream,没准备过实时聚合的候选人会直接露怯。启示:提前准备 1-2 道 real-time stream 题 + Kafka/Redis 组合。 4. Full-stack 经验不足。HR 反馈「选择了另一个更有 full stack 经验的 candidate」——同等条件下 full-stack 是加分项。纯算法/纯后端背景要有意补充 full-stack 表达(前端、端到端、产品感),或在 coding 里展示端到端的思维。
- Coding 别临场用复杂结构,经典题用最稳解法
- 主动提优化能把 follow-up 主动权握在自己手里
- Real-time stream SD 没准备会直接露怯,提前备 1-2 道
- Full-stack 是隐性加分项,纯后端背景要补 full-stack 表达
六、4 周训练计划
按 Twitter/X 实际流程的权重排优先级:coding 经典题 + follow-up > real-time stream SD > BQ growth story。 Week 1 — Coding 经典题 + 主动优化。Trie(插入/存在/startWith + count pruning/预存结果)、合并闭区间(排序 + 合并 + 阴影面积 sweep line)各做 2-3 遍。重点练「边写边主动提优化」的表达习惯。补 2 道经典题(LRU、top K),练到 clean 能默写。 Week 2 — Coding follow-up 专项 + 在线编辑器。合并区间的阴影面积(sweep line:记录横坐标高度变化点从左到右遍历)、Trie 的删除优化各做 1-2 遍。在 LeetCode/HackerRank 在线编辑器上练,熟悉自己语言的 template 写法,别把时间花在搭环境。 Week 3 — Real-time Stream SD。做 2 道 real-time stream 聚合题(实时计数、时间窗口聚合、实时去重),熟悉 Kafka + Redis 组合(Kafka 缓冲、Redis 热计数、定期落盘)。准备「内存 vs 外部存储边界」「多租户隔离」两个高频追问点。 Week 4 — BQ growth story + 全流程模拟。准备 2-3 个「缺点 → 改进 → 结果」的 growth 故事 + 1 个「supervisor 负面评价」故事。最后两天做 2 次完整模拟(coding 含 follow-up + real-time SD + BQ),请人按 X 的追问强度压,重点练 full-stack 表达。
- Week 1:Coding 经典题 + 主动提优化的表达习惯
- Week 2:follow-up 专项 + 在线编辑器熟练度
- Week 3:Real-time Stream SD + Kafka/Redis 组合
- Week 4:BQ growth story + 2 次全流程模拟
七、如果时间紧迫
如果距面试不足两周,优先级排序是:先保 coding(Trie + 合并闭区间 + 阴影面积 sweep line 练到 clean 能默写,含主动提优化),再保 real-time stream SD(1 道实时计数题 + Kafka/Redis 组合),BQ 压缩到 1 个最强的 growth 故事。X 偏好 full-stack,时间紧时在 coding 和 SD 里有意展示端到端思维,比补前端细节更有效。
如果希望有人帮你按 Twitter/X 的真实题型做一轮模拟(Trie/合并区间 coding 含 follow-up + real-time stream SD + BQ growth 追问),可以预约 30 分钟免费咨询,我们会评估你当前距离各轮 bar 的差距,再决定投入哪个环节。
相关文章:
SWE 面试全解析 · Meta 面试备考指南 · Google 面试备考指南 · 面试辅助服务
- 时间不足两周:coding 含 follow-up > real-time stream SD > 一个 growth 故事
- X 偏好 full-stack,时间紧时在 coding/SD 里展示端到端思维
- 30 分钟免费咨询可评估你距离各轮 bar 的差距
📋 资料来源与审校说明
首次发布,提供 Twitter/X SWE 4 轮 onsite 结构、Trie/合并区间高频考点、real-time stream SD 拆解、full-stack 偏好与 4 周训练计划
- 近期候选人面试经历:基于 2026 年候选人 Twitter/X Software Engineer 4 轮 onsite 完整经历整理
💼 完整服务与价格我们提供 OA 代写($199 起)、VO 辅助($299 起)、VO 代面($499 起) 与 30 分钟免费咨询:按目标岗位、公司与轮次匹配具备相关经验的导师,覆盖 Coding、System Design、ML Design 与 BQ;具体导师与背景以接单前书面确认为准。
