Scale AI 的 SDE 面完了,结算胜利版。写复盘的时候我发现,这家最值得先讲的不是某道题,而是一个细节:recruiter 提前联系我的时候,专门叮嘱了一句"建议用 Python,Java 很难在时限内写完"。当时没太当回事,做完才明白这是救命提醒——他家有条硬规则,test case 必须全过才算 pass,差一个都不行。时间又紧,用 Java 你很可能连写完都做不到,更别说全过。

这条规则基本定义了 Scale AI 面试的性格:不是题多难,是又快又不能错。下面把流程和题目完整拆一下。

流程长什么样

Scale AI SDE 一般是:Phone Screen(通常多轮电面)→ Virtual Onsite(含系统设计、后端实践、BQ)。我这次电面是两轮 back to back,一轮 coding、一轮 HM screen。

电面常考什么

他家电面题有个鲜明特点:常结合业务场景,一道题拆成好几个小问,还带 follow-up,非常考你快速抓住题意和处理边界。高频题型大概这几类:

区间合并——比如 party 时间管理,合并重叠区间算"空档期",考排序和 merge。

数据结构设计——用 HashMap 建 ID→时间、社区→时间列表这种映射。

时间格式转换——am/pm 和整数互转,字符串处理很容易踩坑。

扑克牌型判断——含 wildcard,是我这场的主菜,下面细说。

系统设计——异步任务拆成多个 piece 并行调 LLM,用 notification 回结果,考分布式思维。

我这轮的 coding:德扑判定

抽到的是扑克牌型判断,三个递进的小问:

第一问,给一个 Card 类(有 rank 和 suit),实现一个方法,输入 5 张牌判断是否符合德扑的 6 种牌型规则,符合返回 True。

第二问,手牌里可以有任意数量的 JOKER,JOKER 是 wildcard 能当任意牌,判断加了 wildcard 后手牌是否 valid。关键约束是:第二问的方法要能同时通过第一问的所有 test case,也就是得向后兼容。

第三问,给两个人的手牌,按牌型大小比谁赢。

思路上,第一问是标准牌型判定,6 种规则各写一个判断函数;第二问的 wildcard 是难点,JOKER 能当任意牌,得枚举它能补成的最优牌型,或者反推"缺哪张能凑成某牌型";第三问给牌型定优先级,各自比出最大牌型再比。Card 类和 test case 官方都给了,只写主逻辑。

再强调一遍那个救命提醒:Python。他家 test case 全过才算数,Python 的字符串和集合处理能帮你省下大把时间,Java 真的可能写不完。别觉得自己 Java 熟就硬上,这题不是考你语言功底,是考你能不能在时限内交出全绿的答案。

HM Screen:behavioral

第二轮纯 BQ,问题都是标准方向,贴原题:

Tell me a time you made a hard decision, talk about the trade-off.

Tell me a time you failed a project and needed to redo it, and the hard work you did.

What do you see yourself in 3 years?

围绕 ownership、leadership、帮助他人成长展开,STAR 法则准备,故事尽量带数据。

VO 环节

VO 更偏系统设计加实际编码,常见 CSV/JSON 处理、调 API、多文件调试这类工程实践题,BQ 同样围绕 ownership、leadership。

系统设计里值得提前备的是"异步并行调 LLM"那类——大任务拆 piece、并行处理、notification 回收结果,和 Scale AI 自己的业务贴得很紧,考分布式思维。

说点上岸后的实话

这家真正难的不是题本身,是"时间紧"加"必须全过"这两个条件叠一块的压迫感。你既要快,又一个 test case 都不能挂,这种状态自己对着 LeetCode 刷是模拟不出来的——一个人刷永远是"我做完了"的松弛感,没人掐表、没人盯你有没有漏边界。

我这次能比较从容,一半靠 recruiter 那句 Python 提醒,一半靠提前做了几轮高压 mock 把节奏适应了。我用的是 InterviewShow,说实话主要是懒得自己一家家扒题池,也想少踩点坑省时间,对我这种备考时间紧的人算省事。这种资源见仁见智,但"上真场之前先在压力下写几遍全绿代码"这个动作,我是真心觉得比多刷题管用。

祝各位都能全绿上岸。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐