我刚走完 senior SWE / L5-equivalent 的 system design 轮,在 PANW。趁还新鲜写点笔记。网络安全公司的 system design 跟你平时练的那种标准「design Twitter (设计 Twitter)」题不太一样,我当时有点措手不及。
他们问了什么: 设计一个实时威胁检测 pipeline,能规模化 ingest endpoint telemetry。我听别人遇到过的变体:设计一个分布式 firewall policy evaluation 系统,设计一个带异常标记的日志聚合服务。
共同点是:安全语境。他们想看你能不能考虑对抗性条件,而不只是流量峰值。谁可能会发 malformed 数据?如果攻击者 flood 你的 ingestion 层怎么办?
最重要的点: 容错设计。下游 consumer 在中途崩了会怎样? 延迟 vs 一致性取舍,用安全视角去讲(漏报比重复报更糟) 有状态组件的水平扩展 存储分层:热路径用于实时告警,冷存储用于取证查询
他们比我预期更不在意的: UI/API 设计、成本优化、那些通用的东西。这轮更偏 infra。
级别校准提示: senior / L5 他们希望你能主导对话,并在他们开口前就预判 follow-up。如果你等着被带着走,就是个信号。我对 ingestion 层提出了两种方案,然后反问他们更在意哪个约束。他们挺喜欢这个。
准备方向: 复习 Kafka internals、Elasticsearch indexing 行为,以及安全厂商(Cloudflare、Fastly)的 incident post-mortem 都很有用。PANW engineering blog 里有几篇讲 Cortex XSIAM 内部机制的文章,值得快速扫一遍。
整轮 55 分钟。我最后还剩 10 分钟,但设计面已经用完了,我觉得也没问题。