走完了 VMware 的 ML engineer 面试,对应他们 AIOps 团队的岗位。这个团队在做 infra 监控里的 anomaly detection 和 predictive analytics。我直接说重点。
流程四轮:一轮 phone screen,三轮 onsite(线上)。
Phone screen: 45 分钟。一个 ML 概念题(解释 precision vs. recall,在 infra alert 的场景里什么时候会更想优化其中一个?)和一个 coding 题,中等难度,主要是 Python 里的数据处理。他们想确认你会写代码,不只是做研究。
Onsite 第 1 轮:ML 深度。 这轮开始有意思了。他们让我讲如果要给 server metrics 做 time-series anomaly detection,我会怎么搭。不是白板题,而是对话。他们追问:你会从原始 CPU/memory telemetry 里做哪些特征、怎么处理 seasonality 和 regime changes、会考虑哪些算法(他们特别问了 isolation forest,以及 LSTM 这种方法什么时候值得那个成本)、当“anomaly”的定义很模糊时你怎么评估模型、以及考虑到真实 anomaly 很少的情况下你怎么处理 class imbalance。这对他们来说是真实业务问题,所以他们观点很多。准备好为你的观点辩护。
Onsite 第 2 轮:Coding。 两题。一题是 Python 实现:写一个高效 sliding window 算法来检测 metric spikes。第二题更偏数据处理:给一个 pandas dataframe 的 events,算每个 entity 的 rolling statistics。没什么 LeetCode 冷门招,但你得熟 numpy/pandas。
Onsite 第 3 轮:面向 ML 的 system design。 设计一个大规模的实时 anomaly detection pipeline。覆盖:从 streaming data 做特征工程、模型训练和重训节奏、serving 基础设施、线上模型监控、当 infra 模式变化时怎么处理 concept drift。他们很看重 production ML,而不只是建模。
没有单独的 behavioral 轮,他们把 behavioral 问题穿插在每一轮里。
senior MLE 的 comp 在 remote 的情况下大概 180-220k total comp 区间(我的 offer 在这个区间偏低)。不是 top-of-market,但如果你对 infra 里的 applied ML 感兴趣,这工作确实挺有意思。
核心建议:熟 time-series 方法,准备聊 production 的模型监控,不要以为会考经典 NLP 或 recsys。这个领域是 infra。提前补课。