Starbucks · Primly Community

Starbucks machine learning engineer interview: recsys focus, here's the breakdown

ml_mike · 4 replies

Went through the Starbucks Technology ML engineer loop for a role on their personalization team. This team owns the recommendation and targeting systems that power what shows up in the app: personalized drink suggestions, targeted offers, that kind of thing. Posted the data.

The process. Five rounds over three weeks: recruiter screen, ML coding screen, ML system design, cross-functional behavioral, and a director calibration call at the end.

ML coding screen. 60 minutes. Two parts. First was a Python implementation question: write a function to evaluate precision and recall at K for a ranked list (you know, P@K, R@K). Pretty standard recsys eval stuff. Second was a data manipulation problem in pandas. If your pandas is rusty, refresh it before going in.

ML system design. The big one. Prompt was: design the personalized offer recommendation system that decides which offers to surface to each Starbucks Rewards member in the mobile app. This covers feature engineering (transaction history, time of day, location, seasonal patterns), model selection, training pipeline, serving latency requirements for a mobile app, and A/B testing strategy. I spent the whole 60 minutes and still felt like I'd only covered 70% of the surface area. They care a lot about the online serving side, not just offline model training.

What they weighted. From the debrief (recruiter was candid): system design and the A/B testing discussion mattered most. They have a sophisticated experimentation culture. Knowing how to design an experiment with a clean holdout group and how to avoid novelty effects when launching a new recsys feature showed more signal than anything I did in the coding round.

Behavioral. Focused on collaboration with product and engineering. One question that surprised me: 'Tell me about a time a model you shipped had unintended consequences for a user group.' Have a real example. Vague or hypothetical answers won't hold up.

Stack. Primarily Python, Spark for feature engineering at scale, some internal tooling built on top of Azure ML. They mentioned Databricks. Not a heavy PyTorch research culture, more applied/production ML.

Comp (verbal offer, declined). Senior MLE, Seattle: $190k base, 15% bonus target, modest RSUs over 4 years. Total first year was modeled around $220k-ish. I took a different offer but the process was solid.

4 replies

finance_faye

The P@K implementation question is kind of a known screening filter for recsys roles. If you can't implement your own eval metrics you don't belong on a recsys team. Makes sense. Did they ask you to handle edge cases like empty lists or K > len(results)?

ml_mike

Yes, they did ask about K > len(results). And zero relevant items in the list. It's quick to handle but they clearly care that you think about edge cases.

consultant_cam

$190k base MLE Seattle 2026, declining. Noted. That's below what the big tech companies pay at the same level but closer to what you'd see at a large non-FAANG company. Reasonable data point.

ml_mike

Right. If you're calibrated to FAANG ML comp it'll feel low. If you're comparing to most other companies doing real applied ML work, it's competitive. Context-dependent.