上个月在 PepsiCo 做了 senior/L5 对标的 loop。System design 那轮有点把我打了个措手不及,因为我以为会是标准的「design Twitter(设计 Twitter)」那种题,结果拿到的是更偏业务领域的。
我拿到的 prompt:为一个零售分销网络设计实时库存可见性系统。门店很多,SKU 很多,需要在新鲜度、一致性、成本之间做权衡。
分享这个是因为它是个很有用的模式:PepsiCo 的 system design 题经常是扎根在他们真实业务里的。CPG 供应链、零售数据流、需求预测 pipeline。如果你只准备过纯 web-scale 的题,比如短链和网约车派单,你可能会有点晕。
他们在意什么: 取舍。他们会追问我为什么在设计的某一部分选 eventual consistency 而不是 strong consistency。想听我把推理讲清楚,不是随便选个答案。 可扩展性表达。分区策略、缓存失效、pub/sub vs polling。不需要在某一个点钻得特别深,但要能展示你可以跨层聊清楚。 故障模式。负载上来什么会先坏,什么能优雅降级,网络分区时系统怎么表现。偏经典 SRE 风格的问题,但套在这个领域上。 成本意识。这个我挺意外的。他们问了我存储选型的成本影响,以及有没有考虑过更便宜的冷数据方案。很 enterprise-brained。
他们没怎么追: 微基准测试、具体云厂商服务(他们让你用 provider-agnostic 的方式答)、QPS 计算的精确数字。他们要的是推理,不是背公式。
面试官是 staff 级别的 eng。问题很好,没有 ego。感觉像一次真实的技术讨论,不是挖坑式的连环刁难。
整轮:50 分钟。大概 10 分钟澄清问题,25 分钟在虚拟白板上做设计和画图,15 分钟对我选的两个组件深挖。这里时间管理很重要,别让澄清阶段拖太久。