CrackML by @ml.with.umang
Interview questions / ML System Design
ML System Design interview question

Design a cold-start recommender

Design a recommendation system for a product with severe cold-start constraints. Explain how you would handle new users, new items, sparse feedback, candidate generation, ranking, experimentation, and monitoring.

hardsystem designEvidence 77/1001 source reportLinkedIn

The 60-second answer

Separate new-user and new-item cold start because the available signals are different. For new users, use onboarding/context/session behavior and popularity priors; for new items, use metadata/content embeddings until interactions accumulate.

Build the answer in this order

1
Frame the problem

Separate new-user and new-item cold start because the available signals are different.

2
Design the data path

For new users, use onboarding/context/session behavior and popularity priors; for new items, use metadata/content embeddings until interactions accumulate.

3
Choose the modeling stack

Mix collaborative, content-based, trending, and exploration candidate sources, then rank with both behavioral and cold-start features.

4
Serve, evaluate, iterate

Evaluate warm and cold slices separately; aggregate metrics can hide failure on the exact cold-start population.

A useful interview mental model

This is the shape of a strong answer—not a script to memorize.

01Requirements
02Data
03Model / Retrieval
04Serving
05Monitor

Senior-level signal

  • Allocate exploration traffic deliberately and discuss delayed feedback/propensity correction.
  • Design the migration from cold-start priors to behavioral representations as evidence accumulates.

What the interviewer is really testing

Product framing, data design, modeling choices, serving constraints, reliability, evaluation, and explicit trade-offs.

Likely follow-up questions

What changes at 10× traffic or data volume?
Which failure mode would you monitor first in production?
How would you evaluate this offline and online before rollout?

Common weak-answer patterns

  • Jumping to a model before defining the product contract.
  • Listing components without bottlenecks, metrics, or failure handling.
  • Ignoring data quality, serving latency, monitoring, and iteration.