刚走完 Cloudflare 的 new grad loop(L3 SWE)。写下来是因为我开始准备时,真希望有类似的内容。我之前主要做 web apps,加上上过一点算法课,一想到要去一家做基础设施的公司面试就很慌。
下面是我摸索出来的:
代码轮是可以的。 两轮 coding,都是 leetcode 中等。BFS/DFS、数组、字符串。你不需要竞赛编程背景。只要你能在 35-40 分钟内解出中等题,就在范围内。他们要的是干净的代码和清晰讲解思路。边写边说。
L3 的系统设计更轻。 我被问的是设计一个 URL shortener。不是 senior engineer 那种完整的 distributed rate limiter 之类。他们会按级别调整,我挺感激的。但你还是应该了解一下负载均衡、缓存基础(CDN 高层是什么),以及数据库读写差异。这些知道了会显得你有准备,而不是迷路。
行为面出乎意料。 他们问了 STAR 风格的问题,感觉很 senior:'Tell me about a time a project didn't go as planned.'(讲一次项目没有按计划进行的经历。)我只有实习经历能讲。有效的方法:具体讲你个人做了什么、为什么这么做,而不是团队做了什么。别用一堆 “we” 来凑。就算是实习故事,也能讲出清晰的个人贡献。
为什么 new grad 选 Cloudflare: 他们会追问。我说我想做支撑数百万网站的基础设施,而且我看了他们的博客,学到很多互联网如何在规模下运作的内容。这个回答效果不错。
没用的准备: 死记硬背网络深潜。L3 不指望你造过 BGP router。他们想看的是好奇心和基础功。
我的时间线:通过 LinkedIn 投递,10 天后收到 OA 邀请,然后 recruiter call,再 loop。从投递到 offer 总共大概 7 周。
欢迎提问。我很乐意帮忙。