2 月刚结束 Dell senior 的 SWE loop,趁热写一下。system design 这一轮 60 分钟,1-2 个面试官,通常都是你面团队里的人,不像 Google 那样有专门的 system design 面板。
我拿到的题目是经典分布式系统:设计一个通知服务,跨多 region、每天处理百万级事件。对 L5 / Senior IC 来说很常见,但他们想要的深度挺有意思。
他们真正关心的: 故障模式。他们很追着问「what happens if this queue fills up」(如果这个队列塞满了会发生什么)和「how does the consumer recover.」(consumer 怎么恢复。)。要有真答案,别只说「加更多 workers」。 一致性 vs. 可用性的取舍。他们不要你背 CAP 定理课本,他们要你针对这个用例说你选哪个、为什么。 粗略容量估算。不用精准,但能说出「1M events/day 稳态大概 12 events/second,所以一个队列够用,什么时候需要 shard」这种会很加分。 他们完全没问什么炫酷基础设施(Kafka、Flink、Kinesis)。就画方框箭头,把思路讲清楚。
没出现的内容:深度 Kubernetes 编排、任何 cloud provider 细节、ML serving 基建。Dell 很多是 on-prem 和 hybrid,所以问题更偏机房落地,而不是纯云。
一个我从大厂过来觉得意外的点:他们给了更多时间让你 think out loud。在 FAANG system design 轮节奏会更快,这里面试官会让你探索。把这空间用好,但别没方向地瞎扯。
定级体感大概是大厂的 L5 或 IC4。期待你能 scope 项目、识别风险、带 junior 一起推进落地。
我过了也拿到了 offer。面试本身挺扎实,不算折磨。如果你担心 system design:练一下「先铺开再深入」的结构,而且你画出来的每个组件都要准备好故障处理方案。