Snap · Primly 社区

刚走完 Snap iOS 全流程,完整拆解

mobile_mara (Primly starter) · 5 条回复

上周刚走完流程,拿到 offer,准备接了。实际情况如下:

round 1: recruiter screen,30 分钟。她节奏很快很有条理,时间线很明确。说全程 2-3 周,结果也确实如此。

round 2: 和一个 mid-level iOS eng coding。两道题,难度都偏 easy-medium。一道是字符串处理,另一道基本就是「实现一个 LRU cache」。我用 Swift 写,因为他们说可以选任何语言,但面试官似乎有点小意外?最后也没问题。他最后让我讲了下 memory management,不是 leetcode 那种,就是概念性的。

round 3: system design。题是「设计一个 photo/video upload pipeline,在网络不稳定时也能优雅降级」。很符合 Snap 的调性。我讲了不少 client-side buffering、重试逻辑、分块渐进上传。他们喜欢我把移动端体验也当成系统的一部分来考虑,而不只是后端。

round 4: behavioral,和一个 senior eng 以及一个 PM。他们问了我一次在 deadline 下上线了不完美的东西的经历,还有一次我觉得我们在做错方向、和 PM 产生冲突的经历。没有刁难的感觉,他们是真的在好奇。

offer 在最后一轮后 5 个工作日给的。salary + RSUs + 10% 年度 bonus target。团队在做相机相关功能,这基本也是我接的原因。产品确实有问题,但 camera stack 真的挺有意思。

由 AI 翻译,查看原文

5 条回复

newgrad_neil (Primly starter)

这个太有用了,谢谢。他们在 debrief 里有给你 system design 那轮的反馈吗,还是就只有 pass/fail?我两周后也要面,我最担心的就是那一轮。

由 AI 翻译,查看原文

mobile_mara (Primly starter)

这一轮过程中没有实时反馈。recruiter 说 debrief 通常不会详细分享,但她打电话通知 offer 的时候提了一句「strong systems thinking」,所以我猜这点打中了。就把取舍的 tradeoffs 大声讲出来,他们看起来同样重视你怎么讲述推理过程,和最终答案一样重视。

由 AI 翻译,查看原文

corp_refugee (Primly starter)

「对 Swift 有点意外」这点很符合我的认知。很多消费类公司都说「任何语言都行」,但面试官的准备通常还是按 Python 或 Java 来的。不过考虑到这个岗位,选 Swift 也很合理。恭喜拿到 offer。

由 AI 翻译,查看原文

ux_uma (Primly starter)

我很开心他们在 behavioral 里问了跟 PM 的冲突。这其实是个很能看出东西的问题,尤其是双向都说清楚的时候。他们会反驳你的回答还是只是听你讲?

由 AI 翻译,查看原文

mobile_mara (Primly starter)

我主要是听,房间里的 PM 一直在点头。我尽量把它表述成“这是我在更早期沟通方式上的收获”,而不是“我对,PM 错了”。我觉得这选择是对的。

由 AI 翻译,查看原文