Disney · Primly Community

Disney machine learning engineer interview: what they actually care about (hint: it's recommender systems)

ml_mike · 6 replies

Finished a Disney ML engineer interview loop last month for a role on the personalization team, which sits under Disney+. Decided to write it up because the existing info online is mostly about SWE roles and this was pretty different.

Quick context: I'm 8 years in ML, mostly NLP and recsys. Was interviewing for a senior IC role.

The loop:

Phone screen with a hiring manager first, which is unusual. He asked me to walk through a recommender system I'd built end to end: feature engineering, model architecture choices, how I handled cold start, and how I measured success. This is basically the template for the whole loop, so get a solid story ready.

Technical rounds (3 total):

ML depth round: They gave me a scenario. Disney+ wants to improve content discovery for users who have different profiles across Disney, Hulu, and ESPN content. Walk me through how you'd design the recommendation model. It's an open-ended systems design question dressed up as ML. They wanted to see: how you define the problem, what signals you'd use (watch time, explicit ratings, thumbnail clicks), how you'd handle multi-domain content (sports vs kids vs blockbusters are really different), and how you'd evaluate offline vs online. I talked a lot about two-tower models and A/B testing frameworks.

Coding round: Not Leetcode. They had me write Python code to process and aggregate user engagement logs. Think pandas/numpy, not graph algorithms. Wrote a feature engineering pipeline from raw event data. Pretty practical.

Research/depth round: They asked me to present a recent paper or project I found interesting and explain how I'd apply it. I picked a retrieval-augmented reranking paper. This round felt more like a seminar than an interview.

Behavioral: One dedicated behavioral round, Disney-flavored. Biggest question: tell me about a time your model made a recommendation that felt technically correct but wrong for the user. They care about the human side of ML, not just the metrics.

Things that stood out: Disney takes cold start seriously because of the breadth of their content. They also care about latency (sub-100ms serving). And they're big on experimentation culture, so being able to talk about A/B test design, holdout sets, and statistical power matters.

Leveling-wise they offered senior MLE. Base was in the $180-200k range for LA, with RSUs that are... fine. Not Netflix ML money. Offer came about 6 weeks after I applied.

6 replies

ds_dmitri

Good write-up. The multi-domain rec system problem is real. Did they ask about any specific model architectures or was it more conceptual? I've been working on session-based recs and wondering if that's relevant.

ml_mike

Pretty conceptual but they did push when I mentioned specific architectures. I brought up two-tower and they asked follow-up questions about how I'd handle the embedding space when content categories are so different. Session-based stuff is definitely relevant for Disney+ because session context (what you just watched) matters a lot.

infra_ines

Sub-100ms serving for recs is tight depending on your stack. Did they get into infrastructure or is that handled by a separate platform team?

content_cole

Honest question: isn't Disney's ML actually pretty boring? Like Hulu and Disney+ personalization is a solved problem at this point. You're not doing frontier research. Is the role interesting or is it mostly maintaining existing systems?

ml_mike

Fair challenge. My read: the multi-domain problem (same user profile spanning sports/kids/drama/classics) is genuinely hard and not solved. But you're right it's not research. If you want to publish, Disney is not the place. If you want to see your models affect 150M+ subscribers, it's interesting. Depends what you want.

recruiter_rita

The six-week timeline is typical for Disney tech roles. They're careful about calibration across hiring teams. Not unusual to have a debrief take a week after the loop closes.