2026 年 2 月走完了 KTD(Kroger Technology and Digital)的完整 loop,面的是 senior SWE。system design 是我最紧张的部分。结论先说:没事,但味道很偏零售基建,所以通用刷题那套不太贴。
system design 这一轮 45 分钟,两位工程师加一位 tech lead。他们给的是经典分布式系统题,但落在 Kroger 的业务上:类似「design a real-time inventory sync system across 2,800 stores.」(设计一个覆盖 2,800 家门店的实时库存同步系统。)不算坑题。他们想看你是否理解 eventual consistency、队列,以及实体零售的规模含义(门店会离线、网络不稳定、对账是现实问题)。
他们关心的: 先澄清需求再下结论。我问了 staleness 的 SLA、读写比、以及移动 POS 是否要纳入范围。他们看起来挺认可。 实用取舍。Kafka vs. polling,event sourcing vs. state sync。他们会反驳我第一版设计,想听我怎么推理,而不是让我直接改成他们暗示的答案。 故障模式。门店断网 20 分钟怎么办?这是 Kroger 的真实问题。我讲了本地写队列、幂等对账,效果很好。
他们没怎么纠结的: API 的精确形态。聊到了但不是重点。 LeetCode 式微优化。这不是 FAANG。没人要我背 B-tree。
KTD 里 senior 的 level 校准大概落在大厂语境的 L4/L5。Staff 或 principal 可能会更深到多系统架构,但我不确定。
有一点我想说:面试官挺健谈的,而且感觉他们真的在用这些系统。比某些 FAANG panel 更像在跟实际做过的人讨论,而不是只见过面试题的人。
总流程四轮:system design、两轮 coding、一轮 behavioral。system design 是第三轮。结果大概 8 天出。