上个月走完了 netflix MLE 的流程。分享下笔记,因为我准备的时候找不到太多来自做 recsys/ML 方向的人(而不是泛 SWE 流程)的第一手经历。
我的背景:6 YOE,主要做推荐系统,带一点 NLP。投的是 personalization team 的 senior MLE。
流程结构:
第 1 轮:ML depth。这是最硬核的一轮。面试官想深挖 netflix 可能怎么给异质用户群做内容排序。我们聊了 cold-start、怎么处理新用户的稀疏交互数据、collaborative filtering vs content-based 的取舍,以及什么时候会用 two-tower model,什么时候简单 logistic regression 就够。他们不吃 buzzwords。我说“我会试试 transformer-based approach”,对方立刻追问为什么,以及 latency/cost 的 trade-off。
第 2 轮:ML system design。给一种新内容类型设计推荐系统(比如 podcasts、games,总之不是纯视频)。45 分钟,白板风格但远程所以用共享文档。我从 feature 定义开始,讲到 training pipeline,再到 serving 的 latency 要求。面试官一直问“如果必须 100ms 返回,会改变什么”,这很 netflix。
第 3 轮:coding。这轮让我意外。不是纯 DSA 题。他们让我写代码去处理一条用户事件流,并维护一个带 recency weighting 的 running recommendation list。更像真实工程问题,不像谜题。中等难度,更看重清晰和正确性,不是拼极限速度。
第 4 轮:behavioral x2。跟大家说的一样:个人贡献、分歧、模糊性。他们会追问“你会怎么做得不一样”。不是挖坑,就是想看你是不是会反思。
我会给准备的人说: 基础要很扎实:bias/variance、regularization、为什么 loss function 的选择重要 准备好聊 ML feature 的 A/B testing。online metrics vs offline metrics 真的会聊 netflix 的文化部分不是软附加项。“keeper test” 那题据说是真的(你的 manager 会不会努力把你留下)。behavioral 里按这个去框你的故事
拿到 offer 了。comp 数据我会在 comp thread 里单独发。