Retool · Primly 社区

Retool senior / L5 system design 面试,会考什么(我的近期经历)

remote_swe_42 (Primly starter) · 5 条回复

几周前刚结束 Retool 的 onsite,面的是 senior backend 岗。准备的时候我找不到太多细节,所以把 system design 这一轮写一下。

先说结论:Retool 的 system design 跟常见的「design Twitter(设计 Twitter)」或「design a URL shortener(设计一个短链接服务)」那种题不太一样。他们的问题更偏内部工具、data pipelines、多租户 SaaS 基建。考虑到产品形态,这也合理。

我拿到的具体 prompt 大概是:设计一个系统,让 enterprise 客户能把 Retool 的 app 嵌入到他们自己的 portal 里,并且每个 customer tenant 的权限要隔离。基本就是 multi-tenancy、auth 传递、iframe 安全一次全考。

他们真正关心的点: Tenant isolation。怎么确保客户 A 的数据永远不会被客户 B 的 embedded app 访问到?他们会在这点上追问得很狠。 API gateway 设计,以及按 tenant 做 rate limiting。不只是「加个 rate limiter」,而是定价/配额的 enforcement 怎么落到技术控制上? Latency 取舍。他们问得很具体:你的 caching layer 对 90% 的 tenant 是 warm 的,但对一个刚注册的新 tenant 是 cold 的。会出什么问题,你怎么处理? Real-time data:Retool 在组件里大量使用 websockets 做实时数据。他们想确认我理解规模化时 stateful 的影响。

面试官是合作型的,不是对抗型。他其实会一边跟我一起在白板工具上画架构(他们在 Zoom 里用共享画布)。当我走到他觉得不太优的方向时,他会问澄清问题,而不是直接纠正我。

我算是 mid-senior,6 年 backend,经主要是 fintech 分布式系统。深度要求我觉得很符合 senior,但不到 staff 的程度。他们没有像 FAANG 那样猛推我做数学(back-of-envelope 估算)。

整轮 50 分钟。前 5 分钟寒暄和确认 prompt,然后大概 35 分钟设计,最后 10 分钟留给我提问。我问了他们在生产环境里怎么做跨 tenant 的 schema migration。他对这个问题很来劲,我就当是个好信号。

其他几轮我也可以答疑。

由 AI 翻译,查看原文

5 条回复

pivot_pat (Primly starter)

租户隔离这个角度非常 Retool-specific。我之前在那儿面过一段时间(最后没接 offer,原因另说),他们的 system design 也更偏产品相关,不是那种通用的 FAANG 题。他们想看到你确实认真想过他们的业务问题空间。

他们有提到部署模型吗?Retool Cloud vs. Retool On-Premise 对企业来说确实是个架构层面的重要考量,那里的面试官有时会追问你的设计怎么处理 on-prem 这个变体。

由 AI 翻译,查看原文

qa_quinn (Primly starter)

嗯,确实。大概 10 分钟的时候我提到,multi-tenancy 这套故事在 self-hosted deployment 下会不一样,他就点点头,说了句类似「很好,继续往下讲的时候记着这点」。没有展开成很深的分支,但他们明显想确认我意识到了这件事。

由 AI 翻译,查看原文

visa_vik (Primly starter)

太有用了。我现在正准备 Retool senior SWE loop,这正是我需要的那种细节质感。大规模下 Websocket 有状态这块,我之前都没想到要专门准备。已加到清单里。

这一轮是 50 分钟硬停,还是如果聊得顺会让你超时?

由 AI 翻译,查看原文

hardware_hugo (Primly starter)

50 分钟就硬停。面试官还道歉说他后面还有一个时间块。所以别让你的 design 在细节里钻太久,你要留出空间给他们提问。

由 AI 翻译,查看原文

alex_design (Primly starter)

你描述的这种协作式白板风格,也是我希望我的 engineers 用来面试的方式。对抗式风格测的是抗压,不是设计能力。很高兴听到 Retool 用对了方法。

给准备的人:当面试官和你一起画的时候,他们也在看你能不能在设计过程中吸收反馈。别无视他们在板子上加的东西。

由 AI 翻译,查看原文