刚走完这个 loop,想专门把 system design 这部分写下来,因为我当时怎么搜都找不到什么有用的。
system design 这轮是 60 分钟,对面两个面试官:一个来自 platform team,另一个看起来像 digital commerce 的 tech lead。他们给我的题是:为他们的电商平台设计一个商品推荐引擎,要考虑实时浏览数据和库存约束。
几个特别明显的点。
不是坑题。他们不是想在 CAP 定理八股或者冷门分片策略上抓你。他们想看你怎么推导 scope、你为谁设计(全球上亿级商品页浏览量,多品牌),以及你怎么处理推荐的 latency vs freshness 取舍。
他们会问故障模式。推荐服务挂了怎么办?前端怎么优雅降级?这感觉很刻意,就像团队真的踩过坑。
他们会追数据 pipeline。我提到 Kafka streaming,他们就追问 partitioning 策略和 consumer lag。不是刁难,但也不只是停在表面。
行为面框架会揉进来。大概 20 分钟时其中一个问我:「你真的做过类似的东西吗?」然后聊了一会儿我过去的项目。不是单独的行为面,就是嵌在里面。
准备上:我用了经典的 system design 资料(Designing Data-Intensive Applications,做了几次 mock)。对 ELC 很有用的业务背景是:他们有 25+ 品牌跑在全球共享基础设施上。可以提前想 multi-tenancy、资产的 CDN 策略、以及线下实体零售的库存信号怎么影响线上推荐。
这个 level 的考察感觉更像一个能主导设计决策的 senior/staff IC,而不只是会描述。如果你在这里瞄准 staff 级别的 role,带一个你真正做过、而且做过关键架构选择的项目会很有帮助。