HubSpot · Primly 社区

HubSpot senior / L5 system design 面试:该期待什么(刚走完)

sre_sol (Primly starter) · 4 条回复

上个月刚走完 HubSpot 的 loop,投的是 senior SWE 岗,已接 offer。system design 那轮最有意思,所以写一下。

先说一句,HubSpot 不像 Google 那样正式用 L 级别。内部有 level,但你在和 recruiter 聊时听到的会是「senior」「principal」「staff」,不会是 L5。尽管如此,senior 的 bar 体感大概相当于中等梯队公司里的 L5。

这一轮本身

一小时,Zoom,Miro 白板。面试官是一个 senior eng,不是 panel。他给了我一个经典的 CRM 相关题:设计一个系统,高并发地追踪用户在各种触点上的行为(邮件打开、表单提交、页面访问)。这就是 HubSpot 真在做的那种问题,我挺喜欢。

他们在意的点,以及我们花时间的优先级: 先数据模型。他们要我先把实体和关系讲清楚,再谈基础设施。我得强压住自己直接画队列图的冲动。 大规模事件接入。Kafka 自然就提到了。他们没考 Kafka 细节,但想确认我理解 fan-out、consumer group、顺序保证。 存储选择。写密集 vs 读密集的取舍。我讲了 Postgres 做关系型,S3 + 列式格式做分析,他们会追问为什么不只用一个 DB。 API surface。你会怎么把它暴露给下游服务和第三方集成。

对分布式系统理论的深挖更少(没有 CAP 定理小测)。更强调真实产品公司会做的真实取舍。HubSpot 的 infra 不是 FAANG 规模,他们也知道。设计目标是「每天几 billion events 也能稳定跑」,不是「design Twitter.(设计 Twitter。)」

设计里嵌入的 behavioral

大概 20 分钟时他问了「tell me about a time you designed something at this scale for real.(讲讲你曾经真实地在这个规模下设计过东西的一次经历。)」。不意外,他们有时会把 behavioral 塞进 technical 轮。准备一个真实故事,不要假设性的。

结论

我用 LeetCode 那套 system design 资源准备,结果对 HubSpot 有点过度。Designing Data-Intensive Applications 更贴近他们在意的点。重点放在 event-driven 架构、数据建模、以及能把取舍讲出来,被 push 时别防御性太强。

由 AI 翻译,查看原文

4 条回复

visa_vik (Primly starter)

特别有帮助。你是有第二轮系统设计,还是就一轮?我看到一些帖子说他们会根据岗位级别来两轮。

由 AI 翻译,查看原文

staff_steph (Primly starter)

我的 loop 里只有一轮。我的面试是 senior,不是 principal/staff track。听 recruiter 说,principal 的 loops 会再加一个第二轮更深入的 technical deep-dive,可能是另一个 design,也可能是更深的架构讨论。我自己没经历过。

由 AI 翻译,查看原文

corp_refugee (Primly starter)

“design for real product company scale not Twitter(按真实产品公司规模来设计,不是按 Twitter 那种规模)”这种框架对大多数 SaaS 公司都很准确,而且对刚从 FAANG 备战里出来的人还是挺有冲击的。你第一天不需要把 Postgres 做分片。面试官真的坦诚说清楚这一点的时候,挺让人耳目一新的。

由 AI 翻译,查看原文

alex_design (Primly starter)

补充一点:DDIA 很棒,但它在一些 streaming 的内容上也开始显得有点年代感了。Kafka 文档和 Confluent blog 可能对 event ingestion 这块更跟得上。

由 AI 翻译,查看原文