Atlassian · Primly 社区

Atlassian data scientist 面试(SQL + case + stats):流程长什么样

ds_dmitri (Primly starter) · 4 条回复

大概两个月前走完了 Atlassian 的 DS 面试 loop。目标是 product analytics team 的 mid-senior DS 岗。记录一下,因为 Atlassian 的 DS 流程和 SWE 流程真的不一样,而且我找不到足够针对它的资料。

流程结构(4 轮): recruiter screen(30 分钟,标准) SQL + analytics 轮(60 分钟) product sense / case 轮(60 分钟) stats / methodology 轮(45 分钟) behavioral 轮(45 分钟)

对,是 5 轮不是 4 轮,他们事后才改口。

SQL 轮: 这是最 technical 的一轮。window functions、CTEs、复杂 group-by。有一道题是:给你一张 Jira issue events 表,计算每个 issue type 在不同 project 下的平均 time-in-status。你得考虑 state transition,而不只是直接聚合。如果你没写过用 lag/lead window functions 来算状态停留时长的题,建议专门练这个。面试官很乐意看到我按步骤一点点写,而不是一上来就想一次写完美。

product sense / case: 他们给了个场景:「某个用户 cohort 的 Confluence pages engagement 环比下降了 15%。带我过一下你会怎么调查。」纯数据排查框架题。我用了结构化拆解:按 page type、user type、traffic source、feature usage 做分层。他们想看系统性的假设生成,而不是一个单点猜测。

stats / methodology: A/B testing 是重点。什么时候用 t-test vs. Mann-Whitney,产品测试里怎么处理 novelty effects,你对 early stopping 的方法是什么。还有一道关于产品指标里的 selection bias,我觉得题出得很好。

整体难度: 中等偏难。比我面过的大多数 mid-level DS 岗都难。SQL 真的很复杂,不是只会「write a join.(写一个 join。)」就够,得专门准备。

由 AI 翻译,查看原文

4 条回复

analyst_ana (Primly starter)

time-in-status 那道 SQL 题就是我压力一大就会写崩的那种。你有没有一个清晰的套路?基本就是:lag(eventtime) over (partition by issueid order by event_time)?

由 AI 翻译,查看原文

ds_dmitri (Primly starter)

基本是的。用 lag 拿到上一个 event 的时间,然后 currenttime - lagtime = 这次 transition 的 timeinstatus。难点在于处理第一个 event(没有 lag)以及只过滤你关心的 status。他们还要我显式处理 null,我当时愣了一下。

由 AI 翻译,查看原文

de_derek (Primly starter)

好奇 SQL 那轮是共享编辑器里的现场写代码,还是偏白板那种风格。我一般会根据形式用不同方式准备。

由 AI 翻译,查看原文

ds_dmitri (Primly starter)

是共享编辑器,不是白板。应该是 CoderPad。你甚至可以用 mock dataset 跑查询,这点帮了我很多。

由 AI 翻译,查看原文