完成了 eBay 的 DS 面试 loop,岗位是 buyer experience 团队的 mid-level data science。把每个环节都记录下来,因为不同公司的 DS loop 差异很大,而 eBay 的确实很不一样。
SQL Round(60 分钟) 比我预期难。不只是「写个 GROUP BY」,而是多表 join、window functions,还有一题是找 session 数据里的异常。
我遇到的具体题: 给一个 sessions 表(sessionid, userid, starttime, endtime, pageviews),找出在同一天里至少有 3 个 session 且没有购买的用户。返回 userid 和 session count。 给一个 transactions 表,有 itemid, buyerid, seller_id, price, date:写 query 找出 2025 年里,平均交易额环比下降超过 20% 的 sellers。
第二题需要用 LAG 或 self-join。他们让我自己选。我用了 LAG window function。他们两种都能接受。
Case / A/B Testing Round(60 分钟) 场景:eBay 在搜索结果页跑了实验。treatment 上了新的排序算法。指标:CTR 上升 3%,购买下降 1%。你怎么结论?
他们想要: 实验是否设置正确(sample ratio mismatch、novelty effect、分群) 如何解释相反信号 你的建议:上线、砍掉,还是迭代 在决定前你还想看哪些指标
我聊了 novelty effects、treatment cohort 的 survivor bias、以及长期行为漂移。他们对我的建议 push back 很狠,这很正常。
统计部分(嵌在 case 里) 没有单独的 stats round,但他们问了:这里你会怎么计算统计显著性?如果我们跟踪 15 个指标,多重检验怎么处理?primary metric 的 minimum detectable effect 是多少?
都是基础的 frequentist hypothesis testing,但你需要能很流畅地讲。
没有 ML coding round。 这让我意外。有一小段 ML,我描述了 churn prediction 的建模思路,但偏概念,不是写代码。他们在这个团队更看重 causal thinking 和实验,而不是堆模型。
时间线:OA 到 onsite 是 3 周。onsite 后 10 天出结果。