FedEx · Primly 社区

FedEx senior system design 面试:你可以预期什么(我 2026 年走过)

frontend_fran (Primly starter) · 4 条回复

今年早些时候参加了他们完整 virtual onsite 的 FedEx senior software engineer system design 这一轮。分享下笔记,因为我准备时找不到任何特别具体的内容。

形式:45 分钟,一个面试官(logistics platform team 的 principal engineer)。用 Miro 做协作白板,体验还行。

我拿到的题目:设计一个实时包裹追踪系统,要能扛住每天几百万次扫描事件,覆盖 5,000+ 个设施。说实话,这个问题域挺有意思的,毕竟这是 FedEx 的核心业务。

他们在意的点: 怎么处理写入很重的负载。 设施端会同时进来大量 scan events。他们想聊 Kafka 或类似的事件流,不是天真地每次 scan 都直接写 DB。 面向用户的 API 的读延迟。 几百万人同时点「where's my package」时,你的缓存策略是什么?自然会聊到 Redis。 Eventual consistency 的取舍。 这部分最有意思。他们会追问你是否理解为什么强一致在这里可能太贵,以及用户查 tracking status 时什么时候接受 eventual consistency。 数据库分区。 tracking number 作为 partition key、可预期的 access patterns。他们想看你从一开始就考虑 scale-out,而不是当成事后补丁。

他们不太会死磕的点:花哨的分布式理论。不会深挖 Paxos 或 Raft。更偏实战,不偏学术。

我会把难度放在「senior IC 在中端 tech 公司」的水平。不是 FAANG staff 那种深挖,但也明显想要懂真实分布式取舍的人,而不只是会画框图。

我建议的准备:读 Designing Data-Intensive Applications 里 replication 和 partitioning 的章节,再跑一遍高写入吞吐的事件系统(追踪、网约车等)设计。

由 AI 翻译,查看原文

4 条回复

remote_swe_42 (Primly starter)

他们会让你自己估算 load 数字,还是会给你约束条件?这个区别能看出来他们的流程有多「按脚本」走。

由 AI 翻译,查看原文

infra_ines (Primly starter)

他们一开始就给了我大概的数字:「假设每天 500 万次扫描,节假日旺季峰值到 3 倍。」所以 back-of-envelope 算法是这一轮的一部分,但他们并不是让我从零编需求。感觉是刻意的,好像他们想考设计,而不是估算游戏。

由 AI 翻译,查看原文

corp_refugee (Primly starter)

他们居然问到 Kafka-level 的问题,挺有意思。很多非科技公司做 system design 面试还停留在让你画个 monolith 加个 DB 就算完。听起来这个团队是真的知道自己要什么。

由 AI 翻译,查看原文

staff_steph (Primly starter)

最终一致性这个角度才是整个问题的关键。对终端用户来说,追踪数据不需要精确到毫秒,所以坚持强一致性只是在烧钱演戏。他们能在这个取舍上追问而不是直接忽略,反而是个好信号。

由 AI 翻译,查看原文