Amazon Prime Video Ads SDE II 面经:Locker OOD、广告不相邻重排、限流熔断

Amazon Prime Video Ads Channels SDE II 面经:电面加两轮 VO,电面是 Locker & Package OOD,VO 是广告按 advertiser 不相邻重排加隔 k 条 followup,SD 是限流和熔断。

AmazonSoftware Development Engineer II更新于 2026年10月19日2 分钟阅读
English
分享

面经 | Prime Video Ads / 后端 | 🔥🔥 | Amazon

2026(9月底–10月中) Software Development Engineer II, Prime Video Ads Channels @ Amazon | Seattle, WA · Virtual · 3 轮 | 😐 Neutral | Medium

电面一轮,VO 两轮。

Round 1 — Phone Screen

自我介绍完直接 coding。

coding 是 Locker & Package,OOD,匹配规则要自己先问清楚。

clarify 了几个:柜子和包裹都分 S/M/L,小包裹能不能放大柜子。面试官说能,但同尺寸优先。写了 Locker、Package、LockerSystem,每种尺寸一个空柜子队列,assign 先找同尺寸,没有就往大一号找,取件按 code 找回柜子再放回队列。

followup 改了个场景:包裹 3 天没取要退回,柜子空出来。说了加过期时间,取件时顺手检查,再加个后台定时扫。又聊了站点很多、柜子很多怎么办,只说了按站点拆开,没往下聊。

Round 2 — VO Coding

coding 是 playlist shuffle 变种,歌换成广告:一串要播的广告,每条带 advertiser,重排成同一个 advertiser 不能连着出现,排不出来返回空。

max heap 按剩余条数,每次弹最多的那个,跟上一个相同就先压着,弹第二多的,放完再把压着的放回去。没先判「最多的那个超过 (n+1)/2 肯定排不出」,跑到最后剩两条同一家才发现,补了。

followup 问不只是相邻,同一个 advertiser 之间至少隔 k 条咋办。说了加一个等待队列,刚用过的进去冷却,够 k 步再回 heap。写了一半,队列出队那里 k 的边界差一,没调完到点了。

Round 3 — VO SD

SD:调下游 ad decision 服务,做限流 + 熔断,下游慢了不能把播放拖住。

先画的是每台机器一个 token bucket,按 partner 分。被追问机器多了总量怎么控,说了 Redis 计数。又问每个请求多一跳 Redis,延迟受不了咋办,改成本地 bucket + 定期去中心领配额,配额怎么分没细说。

熔断按超时比例,过阈值就打开,打开期间这个 break 直接不插广告,内容照常播。half-open 放多少请求去试、成功几次才关,没讲清楚。最后几分钟反问。