Spotify 的最后一轮面完了,把这次 Spotify interview questions 碰到的题目和体感完整记下来。整个流程比我预想的更偏「聊」——不是上来扔一道 hard,而是每轮都有大量对话和追问。题本身不是最难的,难的是在压力下把思路讲清楚、把取舍说明白。

第一轮:Initial Screening(45 分钟)
来的是 Tech Lead,不是 recruiter。开场几乎没寒暄,直接拿简历里的一段实习问:「这个系统当时为什么选这个架构?」
我说了原因,她马上接:「有没有考虑过 X?为什么没用?」答完又问上线效果怎么衡量。一个项目被追了将近二十分钟,完全没有背稿的空间——你得真做过,而且记得住每个决策背后的具体理由。
最后大约十五分钟给了一道轻量 coding:找数组里两个最大的数。技巧不多,主要看边界和边写边说是否清楚。我写完她点了点头,又问了两个 edge case,都接上了,这轮就结束了。
第二轮:Coding(60 分钟)
题目是 LRU Cache,get / put 都要 O(1)。我知道是 LC 146,HashMap + 双向链表那套。
但 Spotify 这边更在意代码好不好读。面试官全程盯着结构,中途问了一次:「这里为什么用 HashMap 而不是别的?」我解释完他点头,让我继续写。
写完只是入场券。他接着说:「假设这个 cache 要跑在多线程环境,你会怎么改?」我没完整实现,把加锁位置、锁类型和粒度说了一遍。他说方向对,又补了一个 edge case,我差点漏掉,他给了个提示,我接上了。
这轮最大的感受是:代码写完才刚开始,后面的追问才是真正在打分的地方。
第三轮:System Design(60 分钟)
题目是设计 Spotify 的歌曲搜索:高并发下,用户输歌名或歌手名,要能快速出结果。
我先问了 DAU、延迟、要不要模糊搜、结果要不要个性化。他给了大致参数,然后说:「你来设计。」
我从请求进负载均衡,到搜索服务、倒排索引、排序讲了一遍,他一直在记。基础架构说完,追问就来了:「用户量乘十,瓶颈在哪?」我说索引层。怎么解?分片。按歌手字母还是按 hash?两种各有什么问题?
来回差不多半小时,我每给一个方案他就问缺陷,再问有没有别的选项。最后问到:「一首歌突然爆红,搜索量暴增,你的方案撑得住吗?」我说了热点 key 的缓存,他表示可以。
这轮最深的体会是:Spotify 不在乎你能不能画出一张完美架构图,在乎的是每个决策背后的取舍能不能讲清楚。
第四轮:Behavioral / Values(60 分钟)
面试官开场就说 Spotify 很看重协作和自主性,想聊聊工作方式。然后三道题,每道都有追问。
第一道是和队友意见不一致怎么解决。我讲了一次技术选型分歧,她追问:最后是你被说服,还是你说服了对方?如果妥协,是因为什么?
第二道是项目进度出问题怎么处理。讲完她问:如果更早发现,你会怎么做?
第三道比较开放:你觉得好的工程团队是什么样的?我说到心理安全感时,她停下来问:安全感是怎么建立的?你在团队里为推动这件事做过什么?
没有标准答案,故事得真实,而且要经得起往下挖一两层。
FAQ
Spotify 四轮是同一天打完吗?
不是,通常分两到三个时间段,每轮之间有间隔。我的最后两轮是同一天。
Coding 用什么工具?
技术电话屏用 CoderPad,onsite coding 有时候是共享 Google Doc,System Design 用 Mural 白板。
英国 Spotify 和美国 Spotify 的面试流程一样吗?
整体结构一致,但具体题目可能因团队而异。Spotify 面试是集中式的,你不会提前知道会是哪个组的面试官。
挂了有冷冻期吗?
通常是 6 个月到 1 年,可以问 recruiter 确认。
几点体感
四轮下来,Spotify 给人的感觉是「一起把问题聊透」,而不是「考你有没有背过某道题」。简历项目要能经住深挖,Coding 写完要能接 concurrency 这类 follow-up,Design 要把每个选择的代价说出来,Behavior 准备到第二、三层细节。
英国这条线整体节奏偏对话,微过上岸。正在准备 Spotify 或其他欧洲/北美 SDE 的,可以把「讲清楚取舍」当成比刷题更优先的练习。有需要对题或面试辅助的,可以再聊。
祝大家都顺利。