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.