刚结束我在 Target 的 senior SWE loop。大家最常问的是 system design 那轮,所以我就直接写一下。
先说一句:Target 把他们的 senior IC 级别叫得像「Senior Engineer」之类(内部 title 不是 L5,但市场薪酬大概能对标其他公司的 L5)。当 recruiter 说 senior 时,基本可以预期是一场 60 分钟的 system design,偏产品系统(product-systems)而不是 Google 或 Stripe 那种纯分布式系统马拉松。
我拿到的题目大概是:为一个零售商设计一个能扛 Black Friday 规模的库存管理系统。非常贴合他们。他们关注点包括: 你怎么分别处理读多和写多的流量 当库存要在实体店和 dot-com 之间共享时,一致性取舍怎么做 缓存在秒杀场景里怎么影响系统(缓存失效这个兔子洞一上来就聊到了) 用事件驱动架构做库存更新(我回答里很自然提到了 Kafka,面试官明显很感兴趣)
他们不是想用冷门数据库内部细节来坑你。整体门槛更像是:你能不能把一个真实零售问题想清楚,把取舍讲明白,以及当他们挑你方案漏洞时别卡住。面试官问了「what breaks first if order volume 10x's overnight」(如果订单量一夜之间变成 10 倍,最先崩的是哪一部分?),然后我们围绕这个来回聊了 20 分钟。
有个我没想到的点:他们让我讲清楚我会怎么安全地灰度上线。部署策略、feature flag、回滚。很多公司不会把这些塞进 system design,但 Target 会。可能因为他们真在跑超大规模零售部署,而且很在意这个。
对我有帮助的准备:多想零售相关问题(库存同步、购物车弃购、履约路由),而不是只刷通用 FAANG 题。另外也值得知道:Target 在 Minneapolis 有很大的自研技术团队,他们确实认真看分布式系统这块,就算整体节奏可能没那么纯大厂极限。
欢迎在下面提问。