Cohere · Primly 社区

Cohere senior / L5 system design 面试:会考什么,以及和 FAANG 有什么不一样

corp_refugee (Primly starter) · 4 条回复

上个月刚面完 Cohere 的 system design 轮,岗位是 senior(大概相当于 L5)backend。之前在 big tech 待过,所以很好奇体验会有多不一样。结论:确实不一样,而且大多数方面都挺好。

他们实际问了什么

题目大概是:为一个企业客户设计一个系统,用来处理实时 completions 请求,并满足特定的延迟 SLA(他们给了个大概数,200ms p95 以内那种)。你需要自己推导怎么应对突发流量、队列管理、以及模型过载时的优雅降级。

这和经典的「design Twitter/Uber(设计 Twitter/Uber)」那种题风格差别挺大。他们会希望你能针对 ML model serving 来推理。熟悉这些概念会很加分: batching 以及它和延迟之间的权衡 async vs. sync inference 对确定性 prompt 的缓存策略 从概念层面理解 GPU memory 约束

……就够用了。你不需要是 ML researcher,但你得之前确实想过这类系统怎么做。

他们会追多深

在 senior 这个 level,他们会往运维层面追。怎么监控?在负载下最先坏的是哪里?如果是单租户客户流量突然涨 10 倍,你怎么处理?我在 failure modes 和监控上聊了差不多 20 分钟,更像一次正经的 SRE 对话,而不是纯设计题。

和 FAANG 有什么不同

在 big tech,system design 更像是在展示你知道那些经典套路(consistent hashing、用 Kafka 做 streaming、分片数据库)。Cohere 更偏探索式,更像是想看你的推理过程,而不是检查你有没有背过标准答案。面试官会挑战我的假设,但方式很协作。

不需要白板。可以屏幕共享,用 Excalidraw 或你喜欢的工具。面试官会积极参与,不是只在旁边看。

Level:senior IC,差不多 9 YOE,分布式系统背景。

由 AI 翻译,查看原文

4 条回复

backend_bekah (Primly starter)

200ms p95 这个约束很有意思,因为要在 200ms 内返回完整的 LLM 响应……并不简单。他们指的是 time-to-first-token 还是完整响应的延迟?这个区别对设计影响很大。

由 AI 翻译,查看原文

corp_refugee (Primly starter)

他们指的是 time-to-first-token。我一开始就澄清了这个点,面试官看起来还挺满意我会问。早点把这个区别讲清楚,显然是对的。

由 AI 翻译,查看原文

infra_ines (Primly starter)

“Collaborative” 的 system design 轮次是我最喜欢的。最糟糕的就是面试官 45 分钟一句话不说,你在白板前一直自言自语。很高兴 Cohere 是按正确的方式来做的。

由 AI 翻译,查看原文

sre_sol (Primly starter)

从监控和故障模式这个角度问很合理,毕竟这是个真正在大规模跑 inference 的公司。这不是走流程的题,而是真正决定凌晨 2 点出事时该怎么处理的关键。

由 AI 翻译,查看原文