Cloudflare · Primly 社区

Cloudflare machine learning engineer 面试:该准备什么,哪些真的难

ml_mike (Primly starter) · 5 条回复

我今年早些时候走完了 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 那轮权重很大。

由 AI 翻译,查看原文

5 条回复

ds_dmitri (Primly starter)

在 cloudflare 那种网络规模下的 anomaly detection system design 题也太夸张了,这不是那种「做个简单 classifier」的 prompt。他们是希望你深入讲 streaming systems(kafka、fLink 风格)吗,还是更偏高层架构讨论?

由 AI 翻译,查看原文

ml_mike (Primly starter)

先从高层架构聊起,然后他们会根据我说的内容追问细节。我提到 streaming,他们确实追问了 windowing 以及我会怎么处理 late-arriving data。我不觉得需要把 flink 倒背如流,但对有状态的流处理有个心智模型会很有帮助。

由 AI 翻译,查看原文

corp_refugee (Primly starter)

bot detection 的 class imbalance 太典型了,典型到我会惊讶他们问别的。真正的问题在于你是否知道那些实用的答案(calibration、threshold tuning、cost-sensitive training),而不是只会说「用 SMOTE」,那是教科书答案,没人在 prod 里真这么用。

由 AI 翻译,查看原文

newgrad_neil (Primly starter)

bot detection 团队有多看重 networking 背景?我 ML 技能挺扎实,但 networking 知识基本为零。

由 AI 翻译,查看原文

ml_mike (Primly starter)

networking 的深度不需要很强,但在 system design 时,如果你脑子里有个大致模型,知道 HTTP/TLS headers 长什么样,以及高层次上 bot 和人类流量模式有什么区别,会是很有用的背景。你不需要是网络工程师。

由 AI 翻译,查看原文