Box · Primly Community

Box data scientist interview (SQL + case + stats), here's what they asked

ds_dmitri · 4 replies

Went through the Box DS loop last quarter. Applying for a mid-level data scientist role on the product analytics side. Writing this up because the process was different from what I expected based on how Box is positioned.

Phone screen: Talked with a DS on the team. 30 minutes. They asked about a past project in depth: what was the question, how did you approach it, what were the limitations of your analysis. One SQL question, written not executed: CTEs, window functions, a GROUP BY with a HAVING clause. Not hard but they wanted clean code, not clever shortcuts.

SQL round (live): Live SQL problem in a shared editor. 45 minutes, one interviewer. The problem was multi-step: start with a basic aggregation, then add a window function layer, then modify to handle a tricky edge case (NULLs in a join). The edge case is where most people slip. Know how NULL propagates through JOINs and how COALESCE interacts with aggregations.

Case/analytical round: This felt like a product sense round with a data layer. They gave me a scenario: a Box feature's engagement metric dropped 15% month over month. Walk me through your analysis. They wanted to see: segmentation (is it all users or a cohort?), hypothesis generation, SQL sketch for how you'd investigate, external factors, and what you'd recommend if the data was inconclusive.

They were pretty particular about me distinguishing correlation from causation when I was explaining what the data could tell us. Good sign.

Stats: One question on experiment design. Given a proposed A/B test, what sample size do you need and why? What are the risks of stopping early? Not deep statistics, more applied.

What they didn't ask: ML models, coding in Python, anything about machine learning pipelines. This role was clearly analytics-track DS, not ML-track. Know which one you're applying for.

Overall: Fair process, well-organized. Timeline was about 3 weeks from first screen to offer decision. The SQL expectations are real, Window functions are not optional.

4 replies

analyst_ana

The NULL in JOIN edge case is brutal if you're not expecting it. I've failed that exact thing twice. Do you remember what the join condition was or was it just a standard left join where the right side had NULLs?

ds_dmitri

Left join situation, then they asked me to aggregate a column from the right side that had NULLs. The trick was knowing that COUNT(column) ignores NULLs but COUNT(*) doesn't, and whether that matters for the business question they were asking. Super practical, not a gotcha, just something you need to actually understand vs. have memorized.

de_derek

Good callout on analytics-track vs. ML-track. That distinction matters a lot and job postings often blur it. Did the job description give any signals, or did you have to ask the recruiter?

sec_sasha

Slightly off-topic but did the role touch any security or compliance-related data? Box has a lot of enterprise customers with sensitive data policies and I've always wondered how that affects what DS teams can actually work with.