几周前刚结束 BlackRock 的 loop,面的是 Senior SWE 岗(他们内部叫 VP-level,一开始把我整懵了)。因为网上几乎没有有用信息,详细分享下 system design 这一轮。
system design 面试 60 分钟,一个面试官。没有虚拟白板,就共享一个 Google Doc。更像对话,不像背题演练。
题目:设计一个实时投资组合风险计算服务。输入来自市场数据 feed 的流式数据;输出需要 fan out 到多个下游消费者(交易系统、仪表盘、合规)。不是玩具题。
他们真正关心的是: 你怎么处理开盘时的突发流量。我讲了 Kafka 分区和 backpressure 策略;面试官追问如果 consumer 落后会怎样。 延迟和一致性的取舍。BlackRock 跑的是 Aladdin,所以这块他们确实有立场。我提到我对这个领域有点理解,氛围明显缓和。 Schema 演进。怎么更新 streaming contract 而不把下游消费者搞挂?我说 Avro 加 registry,他们看起来满意。 failure modes。如果市场数据 feed 突然没了,系统怎么区分「没有成交」和「feed 挂了」?
他们完全没问经典的「design Twitter(设计 Twitter)」或「design YouTube(设计 YouTube)」题。一上来就是领域题。如果你在准备 senior 或 staff-level 的 BlackRock system design,别死磕通用 SDE 套路,真的要去想金融数据管道:event sourcing、时间序列数据、监管审计链路。
有个让我意外的点:他们很早就问了可观测性。不只是「加 Datadog」,而是哪些指标最关键、oncall runbook 长什么样。作为资产管理公司,文化很 ops-aware。
debrief 大概一周。我过了,进 final rounds 了。如果大家觉得有用,我也可以分享其他轮。