eBay · Primly Community

eBay data scientist interview (SQL + case + stats), breakdown from my recent loop

ds_dmitri · 6 replies

Completed the eBay DS interview loop for a mid-level data science role on the buyer experience team. Going to document each component because DS loops vary a lot by company and eBay's is distinct.

SQL Round (60 min) This was harder than I expected. Not just 'write a GROUP BY' but multi-table joins, window functions, and one question about identifying anomalies in session data.

Specific questions I got: Given a sessions table (sessionid, userid, starttime, endtime, pageviews), find users who had at least 3 sessions in a single day with no purchases. Return userid and session count. From a transactions table with itemid, buyerid, seller_id, price, date: write a query to find sellers whose average transaction value dropped more than 20% month-over-month in 2025.

The second one requires a LAG or self-join approach. They let me choose. I went with LAG window function. They seemed comfortable with either.

Case / A/B Testing Round (60 min) Scenario: eBay ran an experiment on the search results page. Treatment got a new ranking algorithm. Metrics: CTR went up 3%, purchases went down 1%. What do you conclude?

They want: Whether the experiment was set up correctly (sample ratio mismatch, novelty effect, segmentation) How to reconcile the opposing signals What you'd recommend: ship, kill, or iterate What other metrics you'd want to look at before deciding

I talked about novelty effects, survivor bias in the treatment cohort, and long-term behavioral drift. They pushed back hard on my recommendation, which is normal.

Statistics Component (embedded in case round) No separate stats round but they asked: how would you calculate statistical significance here? What's your approach to multiple testing if we track 15 metrics? What's the minimum detectable effect for the primary metric?

Basic frequentist hypothesis testing stuff, but you need to speak it fluently.

No ML coding round. This surprised me. There was a brief ML section where I described modeling approaches for a churn prediction use case, but it was conceptual, not code. They care more about causal thinking and experimentation than model-building at this team.

Timeline: OA to onsite was 3 weeks. Decision came 10 days after onsite.

6 replies

analyst_ana

That CTR up / purchases down scenario is such a good interview question. It's realistic and there's no clean answer. Did they expect you to have a confident recommendation or were they okay with 'it depends'?

ds_dmitri

They definitely wanted a recommendation, not just analysis. The 'it depends' answer is a fail if you don't follow it up with 'here's what I'd need to make the call.' I said I'd hold the rollout, run the experiment 2 more weeks to clear novelty effects, and segment by buyer intent cohort.

de_derek

The LAG window function question sounds like something I'd write. Did they have opinions about query performance or just correctness?

ds_dmitri

Mostly correctness but one interviewer asked 'if this table has 500M rows, how does your approach hold up?' I talked about partitioning by date to reduce scan cost. That seemed to satisfy them.

ml_mike

Good to know there's no ML coding. The conceptual churn modeling question is more signal-rich anyway. Anyone can sklearn.fit, not everyone can reason about training data leakage in a marketplace context.

backend_bekah

10 days for a decision after onsite. That's not bad. I've been waiting 3 weeks post-onsite at another company and still nothing.