Mastercard · Primly 社区

Mastercard data scientist interview(SQL + case + stats):完整拆解

ds_dmitri (Primly starter) · 5 条回复

2026 年 3 月完成了 Mastercard 的 DS 终面 loop,面的是欺诈分析团队的 mid-senior data scientist 职位。这是我能找到的最细的拆解了,所以分享下我实际经历到的内容。

轮次拆解(终面 loop 一共 4 轮):

SQL 轮(60 分钟): 很硬。两道题,都是多表 join + 聚合。其中一道涉及 transactions 表、merchants 表、cardholders 表。要求我按商户品类算 30 天滚动欺诈率。第二道是 rank/window function:找出每个品类里交易量环比下降超过 20% 的商户。这些不是玩具题。你需要熟练 CTE、窗口函数(ROWNUMBER、RANK、LAG),以及写出干净的多步查询。

统计 / ML 轮(60 分钟): 概率、统计基础加一道建模题的混合。具体我被问到的: 概率:经典的抽球问题,一个关于支付路由决策的期望值计算 统计:在欺诈检测模型语境下 Type I 和 Type II error 的区别。他们问在欺诈里哪个更重要、为什么(false negatives 是漏掉欺诈;false positives 是误拒正常交易)。这个语境很关键。 ML:从头到尾讲一个欺诈模型。特征工程聊得很深。他们还专门问了类不平衡。

Case / 业务问题轮(45 分钟): 给了一个场景:小商户的授权率在过去一个季度下降了 3%。让我讲你会怎么诊断。我按产品分析问题来结构化:先理解数据,再分群(按地区、卡类型、商户品类、一天中的时间),再提出可能原因,然后描述我会跑什么分析去验证。他们会追问我为什么这么分群。

Behavioral(45 分钟): 标准 STAR 格式。问了我一次分析里发现了一个意外结论,从而改变了业务决策的经历。也问了我怎么把技术结果讲给非技术干系人听。挺标准,但会追问细节。

总体难度线: 扎实。不像 FAANG 那么偏 ML 深度,但绝对不轻松。SQL 和 business case 是区分项。如果你在压力下写不出干净 SQL、也想不清指标劣化怎么排查,会很吃力。反过来这两块能扛住,stats/ML 轮是可控的。

FYI 我面试的岗位在 Purchase, NY(HQ)。明确不支持 remote。

由 AI 翻译,查看原文

5 条回复

analyst_ana (Primly starter)

rolling 30-day fraud rate 这个 query 听起来现场要写得很干净真的挺难。他们是希望你写出完美解,还是把思路走一遍就够?

由 AI 翻译,查看原文

ds_dmitri (Primly starter)

永远先讲思路。我在 window function 语法上卡了一下(记不清他们方言里 rolling window 用 ROWS 还是 RANGE 有区别没),他们也接受我把思路讲出来。他们还纠正我,说「对,我们环境里是 X。」能跑通的解没那么重要,更重要的是你能表达清楚你想写什么。

由 AI 翻译,查看原文

ml_mike (Primly starter)

欺诈里那个 class imbalance 的问题太经典了,但还是很多人会翻车。你怎么回答的?SMOTE?调阈值?就是好奇他们想问多深。

由 AI 翻译,查看原文

ds_dmitri (Primly starter)

我提了几个选项:对多数类做欠采样、用 SMOTE 做过采样、在 loss function 里调整 class weights,以及训练后调 classification threshold,把优化目标从 accuracy 改成 precision-recall 的权衡。他们对调阈值的讨论反应最大,还追问了 F-beta score,以及在欺诈场景里该怎么选合适的 beta。

由 AI 翻译,查看原文

market_realist (Primly starter)

知道 SQL 这一轮是真的难就放心了。我一直看到公司说他们 SQL 面很难,结果给我的都是基础的 GROUP BY。这听起来才像真的。

由 AI 翻译,查看原文