← Snapchat Interview Insights

Snapchat·Machine Learning Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
May 2026

Summary

Snapchat ML Engineer interview that went deep into recommendation system design. The whole session was basically one big open-ended question about building something like Yelp, and they kept pushing on specifics whenever I tried to stay high-level.

Questions Asked (4)

Q1

Design a restaurant recommendation system similar to Yelp. Walk through your model architecture, how you'd structure the retrieval and ranking stages, and what features you'd use.

System DesignTechnical Trade-offs
Author's notes

I started with two-tower retrieval and they seemed fine with that, but then they drilled into why I'd separate retrieval from ranking at all.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then propose a two-stage architecture with candidate retrieval and ranking. Detail the model choices, features, and trade-offs, emphasizing how you'd evaluate and iterate.

Pro tip: Show awareness of the cold-start problem and how you'd handle new restaurants and users, as this is a common real-world challenge. Also, mention how you'd incorporate Snapchat's unique data like location and social graph.

1. Clarify Requirements and Scale

Ask about scale (users, restaurants), latency requirements, and personalization needs. Confirm if it's for mobile, web, or both, and if real-time updates are needed.

2. High-Level Architecture

Propose a two-stage system: retrieval to get candidate restaurants (e.g., thousands) and ranking to order them (e.g., top 10). Mention offline training and online serving.

3. Retrieval Stage

Describe methods like collaborative filtering, content-based, or two-tower models to retrieve candidates based on user and context. Discuss indexing and approximate nearest neighbor search.

4. Ranking Stage

Explain a ranking model (e.g., GBDT or deep neural network) that takes features from user, restaurant, and context to predict relevance (e.g., click-through rate or rating).

5. Features and Evaluation

List key features: user (history, demographics), restaurant (cuisine, price, location), context (time, location, device). Discuss offline metrics (NDCG, recall) and online A/B testing.

Key Points to Mention

  • Two-stage architecture: retrieval and ranking for scalability and efficiency.
  • Use of embeddings and two-tower models for retrieval to handle large candidate sets.
  • Feature engineering: user, restaurant, and contextual features, including real-time signals.
  • Handling cold-start with content-based features and exploration strategies.
  • Evaluation metrics: offline (precision@k, NDCG) and online (CTR, user engagement).
  • Trade-offs between model complexity, latency, and personalization.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q2

How would you handle cold-start for both new users and new restaurants in this system?

System DesignAdaptability & Ambiguity
Author's notes

Knew this was coming and still didn't have a crisp answer ready.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system context—likely a recommendation or ranking system at Snapchat involving users and restaurants (e.g., Snap Map or food delivery). Then, address cold-start separately for users and restaurants, proposing a combination of content-based, contextual, and popularity-based fallbacks, and finally discuss how to transition to personalized models as data accumulates.

Pro tip: Emphasize that cold-start is not a one-time problem but a continuous challenge, and propose a unified framework that handles varying degrees of data sparsity, including meta-learning or transfer learning from similar domains (e.g., other business types on Snapchat).

1. Clarify the system and cold-start definitions

Ask clarifying questions about the system: what signals are available (e.g., user demographics, location, restaurant attributes), and what defines a 'new' user or restaurant (zero interactions vs. limited).

2. Handle new user cold-start

Propose using contextual and demographic features (age, location, time of day) and popularity-based recommendations initially, then quickly incorporate real-time interactions (e.g., clicks, views) via online learning.

3. Handle new restaurant cold-start

Leverage restaurant metadata (cuisine, price, location, images) and content-based filtering, plus explore-and-exploit strategies (e.g., multi-armed bandits) to gather initial feedback efficiently.

4. Design a unified cold-start pipeline

Propose a hybrid model that combines content-based, contextual, and collaborative signals, with a fallback hierarchy (e.g., global popularity → segment popularity → personalized) and a smooth transition as data grows.

5. Evaluate and iterate

Define metrics (e.g., CTR, conversion, diversity) and A/B test cold-start strategies, monitoring for biases and ensuring fairness across new users and restaurants.

Key Points to Mention

  • Content-based filtering using user/restaurant attributes
  • Contextual bandits for exploration-exploitation trade-off
  • Demographic and location-based fallbacks for new users
  • Transfer learning from similar domains or businesses
  • Online learning to adapt quickly as interactions arrive
  • Evaluation metrics and A/B testing for cold-start strategies

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q3

What offline and online metrics would you use to evaluate this recommendation system, and how do they connect to each other?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

Went through AUC and NDCG for offline, CTR and session engagement for online.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the recommendation system's goal (e.g., increasing engagement or satisfaction) and then outline offline metrics that measure model quality, online metrics that measure business impact, and how offline improvements should translate to online gains. Emphasize the importance of aligning offline and online metrics through experimentation and iteration.

Pro tip: Highlight the limitations of offline metrics and the need for online validation, and mention that at Snapchat, metrics like CTR and watch time are often used but must be balanced with user satisfaction and long-term retention.

1. Clarify the recommendation system's objective

Identify the primary goal of the recommendation system, such as increasing user engagement, satisfaction, or revenue, to select appropriate metrics.

2. Define offline metrics

List offline evaluation metrics like precision@k, recall@k, NDCG, MAP, and AUC that measure the model's ranking quality and predictive accuracy.

3. Define online metrics

List online metrics such as click-through rate (CTR), conversion rate, watch time, daily active users (DAU), and retention that measure real-world impact.

4. Connect offline and online metrics

Explain how offline metrics serve as proxies for online performance, and how improvements in offline metrics should lead to gains in online metrics, validated through A/B testing.

5. Discuss trade-offs and iteration

Acknowledge potential trade-offs (e.g., optimizing CTR might hurt long-term retention) and the need for continuous monitoring and iteration.

Key Points to Mention

  • Offline metrics: precision@k, recall@k, NDCG, MAP, AUC
  • Online metrics: CTR, conversion rate, watch time, DAU, retention
  • A/B testing to validate offline improvements in online setting
  • Correlation between offline and online metrics, and cases where they diverge
  • Long-term vs short-term metrics and potential trade-offs
  • Snapchat-specific metrics like story views, snaps sent, or time spent

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.

Q4

What training data would you use, and what are the key tradeoffs in how you collect and label it?

Technical Trade-offsData Modeling
Author's notes

Talked about implicit signals like clicks and dwell time versus explicit ratings.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the ML problem and Snapchat's product context (e.g., ranking, recommendations, AR effects), then propose specific data sources and labeling strategies. Structure your answer around key tradeoffs like cost, quality, bias, and latency, and tie them to business impact.

Pro tip: Emphasize that data collection and labeling are iterative and should be guided by offline metrics and online A/B tests; mention how you'd handle Snapchat's unique multimodal data (images, video, text) and privacy constraints.

1. Clarify the problem and data needs

Ask clarifying questions to understand the specific ML task, success metrics, and constraints (e.g., latency, privacy). Identify what types of data (user interactions, content, context) are required.

2. Propose data sources and collection methods

List potential data sources (e.g., user logs, public datasets, synthetic data) and how to collect them (e.g., implicit feedback, surveys, crowdsourcing). Consider Snapchat-specific data like Snaps, Stories, and Lenses.

3. Outline labeling strategies

Describe labeling approaches (manual, automatic, weak supervision) and tools (e.g., Labelbox, internal tools). Discuss how to ensure label quality and handle ambiguous cases.

4. Analyze key tradeoffs

Discuss tradeoffs such as cost vs. quality, scale vs. accuracy, bias vs. representativeness, and privacy vs. personalization. Relate these to Snapchat's scale and user expectations.

5. Propose evaluation and iteration

Explain how you would evaluate the data (offline metrics, online A/B tests) and iterate on collection/labeling based on model performance and business impact.

Key Points to Mention

  • Data quality vs. quantity: more data can help but noisy labels hurt; consider active learning or human-in-the-loop.
  • Labeling cost and scalability: manual labeling is accurate but expensive; automatic labeling is cheap but noisy; hybrid approaches can balance.
  • Bias and fairness: ensure training data represents diverse user demographics and content to avoid biased models.
  • Privacy and compliance: adhere to GDPR/CCPA and Snapchat's privacy policies; use anonymization and federated learning where possible.
  • Multimodal data: Snapchat involves images, video, text, and audio; discuss how to collect and label each modality effectively.
  • Feedback loops: use implicit signals (e.g., taps, views) as weak labels and combine with explicit labels for better performance.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.