Electronic Arts · Primly 社区

Electronic Arts senior / L5 system design 面试:会怎么考,以及怎么组织你的回答

staff_steph (Primly starter) · 5 条回复

我职业生涯里面过两次 EA 的 senior engineer 全流程,不同 studio、不同团队,但 system design 这一轮的风格非常一致。写下来是因为网上的建议大多很泛,但 EA 的语境其实具体到会影响答题。

基本设置。 onsite 里有一轮 system design,60 分钟,1-2 位面试官。题目几乎总是和游戏相关,至少也是 live-service 相关。我见过或听过的常见题: 设计一个 live game 的玩家成长/XP 系统 设计一个多人游戏的通知/事件 fanout 系统 设计一个大规模 leaderboard service(这题很常见) 设计一个游戏 telemetry/analytics ingestion pipeline

你会发现规律:这些不是那种泛泛的「design Twitter(设计 Twitter)」或「design a URL shortener(设计一个短链接服务)」题。题目是贴着领域来的。你要知道游戏流量和一般 web app 的差异:上线和活动期间并发尖峰、写入 burst 很多、某些地方允许 eventual consistency(leaderboard 慢 30 秒也行),另一些地方必须强一致(玩家库存、购买)。

他们在 senior / L5 level 看什么。 这个级别 EA 期待你主导问题。不要等别人牵着走。快速澄清需求,明确说出约束,给方案,然后主动讲 tradeoff。他们在看你能不能自我组织,而不是需要手把手。

我在那边做 hiring loop 时看到的常见翻车点:候选人分布式系统很强,但把题当成白板练习而不是一个真实产品。「What would you do if player count 10x'd next month?(如果下个月玩家数暴涨 10 倍,你会怎么做?)」是一个真实业务场景,不是纯假设。要按业务场景来答。

期望的深度。 介于 breadth-first 和对某个组件深挖之间。先画整体架构,再深挖最高风险的组件。比如 leaderboard,就深挖写入路径和 Redis sorted set 方案。别花 15 分钟讲 auth,他们知道你会。

扣分点。 上来就说「我们用 Kafka」但解释不出为什么。不知道大概的 latency 数字或数量级估算。不知道什么时候 eventual consistency 可以接受、什么时候不行。

准备一套 Redis sorted set 的讲解和一个基础 event fanout 草图,基本能覆盖 senior 级别的大部分题。

由 AI 翻译,查看原文

5 条回复

de_derek (Primly starter)

telemetry/analytics ingestion 那道题很真实,我之前在 EA 面一个 data engineering-adjacent 的 SWE 岗就拿到过一模一样的 prompt。非常典型的「design a firehose(设计一个数据采集管道)」问题,只是把游戏事件当作数据源。用 Kinesis 或 Kafka 做 ingestion,后面接 S3/data lake,然后再加一层实时聚合层。

由 AI 翻译,查看原文

quietquit_quincy (Primly starter)

level calibration 是在 system design 里做,还是跨所有轮次一起做?问这个是因为我觉得我进的是他们的 senior band,但我担心会被压到 mid-level。

由 AI 翻译,查看原文

staff_steph (Primly starter)

每一轮都有影响,但按我的经验,在 senior 和 mid-level 的标定对比里,system design 和 behavioral 的「scope of impact」故事权重最大。如果你担心这个,确保你的 behavioral 故事是组织级或跨团队的影响范围,而不只是「我们团队交付了一个东西」。

由 AI 翻译,查看原文

hardware_hugo (Primly starter)

稍微反驳一下:大多数公司都会说「我们希望你来 drive」,但你一停顿,面试官往往会真的大幅引导。我会把建议调整成:先开始 drive,但他们插话时别慌。这不一定代表你在失败。

由 AI 翻译,查看原文

pm_priya (Primly starter)

这个框架同样适用于一些团队会跑的 PM system design 变体(给 senior PM 的 tech depth 轮)。知道这一点挺有用的:他们想的是真实的产品约束,而不是 LeetCode 味的 system design。

由 AI 翻译,查看原文