我今年早些时候走完了 cloudflare 的 ML engineer loop。资料不多,所以发出来希望能帮到别人。
背景:我投的是他们 bot detection / traffic intelligence 团队的岗位。你面不同 ML 团队的话体验可能不一样。
recruiter screen。 30 分钟。不考技术,主要聊 scope:团队做什么、我会做什么。他们很坦诚这里的 ML 更偏应用和生产,不是偏研究。如果你想去能发论文的地方,这里大概率不是。
technical phone screen。 1 小时,两部分。前半是 ML 概念:让我用通俗的话解释 gradient boosting,然后聊怎么处理二分类的 class imbalance(他们的场景是区分 bot 流量和人类流量)。后半是 coding 题,中等偏中,涉及字符串解析和一点树遍历。对 ML 岗来说我没想到会这么出题,但也合理:你写的是生产代码,不是只跑 notebook。
onsite(4 轮)。 ML system design:设计一个在 Cloudflare 规模下的实时网络流量异常检测系统。他们非常在意 latency 约束,以及模型准确率和推理速度的权衡。feature engineering 的讨论很实。 coding:两道标准 DSA 题,都是中等 LC 难度。一题 intervals,一题 graph。没什么离谱的,但你得扎实。 applied ML:深挖一个过往项目。这轮是我觉得最好的一轮,像真正的工程讨论。他们追问了「分布漂移时怎么 retrain」以及「怎么在 prod 里检测模型退化」。 behavioral:问得很细,关于处理模糊的数据质量问题、跨团队合作、以及我曾经不得不砍掉一个项目的经历。中间也穿插了 cloudflare 的文化问题。
结果。 我拿到了一个我认为是 senior MLE level 的 offer。Base 在我对 Cloudflare remote role 的预期范围内。薪酬结构是 base + RSUs + bonus,equity vesting 是 4 年带 1-year cliff,标准配置。
如果让我带人准备:把 ML system design 练到位,把你的 production ML 故事背得滚瓜烂熟。applied ML 那轮权重很大。