今年早些时候我走了 Unity 的 DS 面试 loop,岗位在他们 player engagement analytics 团队。给在搜这个的人写一下拆解,因为几乎找不到内容。
整体结构:screen 之后 4 轮。完全 remote。
第 1 轮:SQL + 数据处理。在共享文档里 live coding(不是专门的平台,就是 Google Docs 或 CoderPad)。两道 SQL。第一道是 window function:给一张 player events 表,找出每个玩家最长的连续日登录 streak。第二道是多表 join,按游戏 genre 算 7 天和 30 天留存 cohort。两题都是中等难度,但他们要的是干净、可读的 SQL,不只是能跑的 SQL。我把逻辑写了注释,这点被正面提到了。
第 2 轮:Stats 和实验设计。这一轮是 case + 概念的混合。第一部分:给你一个场景,某个游戏功能只对 10% 用户上线,然后给你 summary stats。你要讲怎么评估统计显著性、要标哪些 confounders、sample size 是否足够。第二部分:让你为一个假设的游戏内经济改动(loot box 频率)设计 A/B test。要讲 power calculations、randomization unit、guardrail metrics。这是最硬的一轮。
第 3 轮:产品/业务 case。「Unity 平台上的一款游戏 D30 retention 在下降。带我走一遍你的分析方法。」这轮 stats 少一些,更偏结构化思考。他们想看你先分群、提出假设、排优先级,再去上模型。
第 4 轮:Behavioral。比较标准,但他们特别问了如何把分析结果传达给非技术 stakeholder,这说明对这个团队来说可能是一个真实痛点。
Tip:gaming 指标要非常熟。DAU/MAU、D1/D7/D30 retention、ARPU、LTV。如果你之前只做过非游戏行业,花一天把词汇学一下。并不玄学,但面试时如果对这些一无所知,会很明显。