面经 | Open Connect / CDN | 🔥🔥🔥 | Netflix
2026(10月初) Software Engineering L5, Open Connect Platform @ Netflix | USA · Remote · Virtual · 3 轮 | 😐 Neutral | Medium-Hard
Open Connect 组,电面加两轮 virtual onsite。
Round 1 — Phone Screen
Consistent hashing。appliance 的 hash 已经在环上排好序,给一个 title id,返回顺时针第一台。二分找第一个 >= title hash 的下标,没有就回到 0。跑例子时 title hash 比所有 appliance 都大,我返回了 -1。面试官指了一下环是绕回去的。
follow-up 只口头讲了:那台 appliance 不服务,title 落到下一台。没让写代码。
Round 2 — Coding
给一段 heartbeat 日志:(appliance_id, timestamp),按时间排序,再给一个阈值 T,返回「相对最新一条日志,超过 T 秒没报到」的机器。用 map 记每台 last_seen,扫完跟最后时间戳比。
follow-up:还要返回每台连续漏报了几次(心跳按固定间隔来)。我改成给每台留一个小队列存最近几次到达时间,漏报次数按间隔推。边界上「刚好卡在 T」和「从来没报到过」两处没写对,时间到了。
Round 3 — System Design
设计 Open Connect 的 control plane:几千台 ISP 机房里的 appliance,各自跟上 desired state(软件版本、要不要对外服务)。面试官说内容 fill 是另一个组。
画了 box 上的 agent 定时 pull desired、上报 actual,对不上就升级或从服务里摘掉。
追问:新版本怎么灰度。我说先上一小批,按 region 抽,别全落在同一家 ISP。他问断联几天的 box 回来时手里还是旧版本怎么办,我说带 generation,旧的丢掉。具体冲突怎么收,没展开。