刚结束 Disney frontend engineer 面试,是 Disney+ web platform team 的一个岗位。趁记忆还新鲜赶紧写一下,因为我在网上几乎找不到什么细节。
整个流程从 recruiter screen 到 offer 大概 5 周。下面是拆解:
Recruiter screen(30 分钟): 很标准。问了我的背景、有没有大规模 React app 的经验、以及我对 Disney streaming 产品了解多少。没什么意外。
Technical phone screen(60 分钟): 一个面试官,共享 Coderpad。两道 coding。第一道是 DOM 操作题,大概是不用 React(vanilla JS)做一个自定义 tooltip 组件。第二道是 React 渲染优化,给了我一棵 component tree,让我找出并修掉导致不必要 re-render 的点。整体中等难度。React hooks 的理解很关键。
Onsite(4 轮,Zoom 上完成): Coding:Leetcode 风格但更偏实用。给了一个无限滚动 feed 的场景,要处理 pagination state、loading state、以及 error boundaries。 System design:设计一个带自适应码率逻辑的视频播放器组件。这轮最有意思。他们不要求你很懂 streaming 协议细节,但想看你怎么考虑 buffering UI、fallback 状态和性能。 那轮怪 CSS:我完全没想到会有这个。给了我一个 Disney+ UI 元素的 Figma mockup,让我现场实现。flexbox 很重的布局,带一点动画。「怪」的地方在于他们特意问 CSS specificity 冲突,以及在 design system 语境下我会怎么做 theming。 Behavioral:更看价值观。Disney 很强调「storytelling」和「guest experience」这种叙事。他们问了我一次在技术取舍和用户体验之间做平衡的经历,以及一次跨团队合作把东西交付上线的经历。
Leveling: 这个岗位大概相当于 L4(他们内部叫法不一样)。在 LA/Burbank 的薪资算合理,但不是湾区水平。base 大概 $155k,equity 相比大厂偏少。
Prep tips: React 要很熟。要会讲性能。还有,真的去复习下 CSS grid 和 flexbox,因为显然 Disney 的 UI 团队很在意这些。system design 更偏前端,不是分布式系统那套,算是松了口气。
有问题欢迎问。