← Reddit Interview Insights

Reddit·Software Engineer·Onsite - System Design / Architecture·Senior

Senior
Apr 2026

Summary

Reddit ML infrastructure design round, basically a full system design for a comment-likelihood prediction platform. Pretty open-ended but they were clearly looking for depth on feature stores and serving architecture, not just hand-waving at 'use Kafka'.

Questions Asked (5)

Q1

Design an end-to-end ML platform that predicts the likelihood a user will comment on a post, covering feature pipelines, a feature store, training, online inference, and production monitoring.

System DesignTechnical Trade-offs
Author's notes

This was the whole interview basically.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale, then walk through the ML lifecycle end-to-end, emphasizing how each component (feature pipeline, feature store, training, inference, monitoring) integrates with the others. Highlight trade-offs and Reddit-specific considerations like real-time engagement signals and cold-start users.

Pro tip: Anchor your design around the feature store as the central contract between offline and online, and explicitly discuss how you'd prevent training-serving skew and handle feature freshness for real-time commenting behavior.

1. Clarify requirements and constraints

Ask about scale (users, posts, QPS), latency requirements, data availability, and business goals (e.g., ranking comments, notifications). Define success metrics like AUC, precision@k, and online engagement lift.

2. Design feature pipelines and feature store

Describe batch and streaming pipelines for user, post, and interaction features. Explain how a feature store (e.g., Feast, Tecton) serves consistent features offline for training and online for inference, with low-latency lookups.

3. Outline training and model selection

Cover data splitting (time-based), model choices (e.g., gradient boosted trees, logistic regression, or deep models), and training infrastructure (distributed training, hyperparameter tuning). Emphasize handling class imbalance and temporal drift.

4. Implement online inference service

Design a low-latency prediction service that fetches features from the online store, runs the model, and returns a probability. Discuss caching, fallbacks, and scaling (e.g., Kubernetes, serverless).

5. Set up production monitoring and iteration

Monitor data quality, feature drift, prediction drift, and model performance (delayed labels). Set up alerts, A/B testing, and a feedback loop to retrain models regularly.

Key Points to Mention

  • Feature store as a single source of truth to avoid training-serving skew
  • Streaming features for real-time signals (e.g., recent user activity, post velocity)
  • Time-based data splitting to prevent leakage and simulate production
  • Low-latency online inference with feature retrieval and model serving
  • Monitoring for data drift, concept drift, and delayed label feedback
  • Trade-offs between model complexity, latency, and freshness of features

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

Q2

How would you handle training/serving feature skew in this system?

System DesignTechnical Trade-offs
Author's notes

I talked about logging features at serving time and using those logs to reconstruct training data, which is the right idea.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining feature skew and its impact on model performance, then outline a systematic approach to detect, prevent, and monitor skew. Emphasize collaboration between ML and platform teams, and propose concrete tools and processes like a feature store and shared transformation code.

Pro tip: Highlight the importance of logging raw feature values at serving time and comparing them to training data distributions to catch skew early. Mention that at Reddit, where user behavior is dynamic, skew can arise from real-time interactions, so a robust monitoring system is crucial.

1. Define and Detect Skew

Explain what training/serving skew is and how to detect it using statistical tests (e.g., KL divergence) and monitoring dashboards comparing feature distributions.

2. Prevent Skew via Shared Pipelines

Advocate for a feature store or shared transformation library to ensure identical feature computation logic in training and serving, reducing code duplication.

3. Validate and Test

Implement unit tests for feature transformations and integration tests that simulate serving conditions, including edge cases like missing values or time-based features.

4. Monitor and Alert

Set up real-time monitoring of feature distributions and model predictions, with alerts for significant deviations, and log raw features for offline analysis.

5. Iterate and Improve

Establish a feedback loop where detected skew triggers investigation and updates to pipelines, and consider techniques like online learning or periodic retraining.

Key Points to Mention

  • Feature store (e.g., Feast, Tecton) to centralize feature definitions and ensure consistency.
  • Shared transformation code (e.g., using Python libraries or SQL) between training and serving.
  • Monitoring tools (e.g., Prometheus, Grafana) for real-time skew detection.
  • Logging raw feature values at serving time for offline comparison.
  • Statistical methods (e.g., KL divergence, PSI) to quantify skew.
  • Collaboration between ML engineers and platform teams to maintain pipelines.

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

Q3

How would you approach cold start for new users or newly created posts?

System DesignAdaptability & Ambiguity
Author's notes

Went with fallback features: content-based signals for posts, demographic or onboarding data for new users.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the two distinct cold start problems: new users (personalization) and new posts (ranking). Then propose a layered solution that combines content-based signals, exploration strategies, and fallback mechanisms, while acknowledging trade-offs between relevance and diversity.

Pro tip: Emphasize that cold start is not a one-time problem but a continuous process—new users become warm, and new posts gain engagement—so design systems that adapt quickly and avoid overfitting to early signals.

1. Clarify the problem and constraints

Ask clarifying questions to distinguish between new user and new post cold start, and understand scale, latency, and business goals. This shows you can handle ambiguity.

2. Leverage available signals

For new users, use demographic, contextual, or onboarding data; for new posts, use content features (text, images, metadata) and author reputation. Avoid relying solely on collaborative filtering.

3. Design exploration and fallback strategies

Implement multi-armed bandits or epsilon-greedy to explore new items, and fallback to popularity or trending content when signals are sparse. Ensure diversity to gather feedback.

4. Iterate and learn quickly

Set up fast feedback loops to update models as soon as interactions occur. Use online learning or incremental updates to transition from cold to warm start.

5. Evaluate and monitor

Define metrics (e.g., CTR, engagement, diversity) and monitor cold start performance. A/B test strategies and be ready to adapt based on results.

Key Points to Mention

  • Content-based filtering using post text, images, and metadata
  • Exploration vs exploitation trade-off (e.g., multi-armed bandits)
  • Fallback to popularity or trending content for new users
  • Onboarding and demographic signals for new users
  • Author reputation and historical data for new posts
  • Online learning and fast feedback loops to reduce cold start duration

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

Q4

Walk through how you'd support A/B testing and safe rollout for a new model version.

A/B Testing & ExperimentationSystem Design
Author's notes

Shadow mode first, then traffic splitting with a feature flag layer, then full cutover with rollback capability.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem around measurable impact and risk reduction, then walk through a phased rollout plan that includes offline evaluation, shadow deployment, canary release, and A/B testing. Emphasize how you'd instrument metrics, define guardrails, and automate rollback to ensure safety.

Pro tip: Tie every phase to a clear decision gate and success metric—this shows you think like an owner, not just a coder. Also, mention that you'd align with data science early to define the experiment's primary and guardrail metrics.

1. Define success metrics and guardrails

Work with product and data science to specify primary metrics (e.g., CTR, engagement) and guardrail metrics (e.g., latency, error rate, toxicity). Establish minimum detectable effect and required sample size.

2. Offline evaluation and shadow deployment

Evaluate the new model on historical data and run it in shadow mode alongside the current model to compare predictions without affecting users. Check for regressions in key slices.

3. Canary release and progressive rollout

Deploy to a small percentage of traffic (e.g., 1-5%) and monitor system health and business metrics. Gradually increase traffic if metrics stay within guardrails.

4. A/B test with statistical rigor

Randomize users into control and treatment groups, run the experiment for the precomputed duration, and analyze results with appropriate statistical tests. Ensure no interference between groups.

5. Automated rollback and post-mortem

Set up automated alerts and rollback triggers if guardrails are breached. After the experiment, document learnings and decide whether to fully launch, iterate, or abandon.

Key Points to Mention

  • Randomization unit (user, session, etc.) and avoiding network effects
  • Statistical significance, power analysis, and p-hacking risks
  • Guardrail metrics and automated rollback mechanisms
  • Feature flags and configuration management for easy toggling
  • Monitoring and observability (dashboards, alerts, logging)
  • Ethical considerations and bias detection in model outputs

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

Q5

What monitoring would you put in place, and what would trigger a model retraining?

System DesignProduct Analytics & Metrics
Author's notes

Talked about input feature distribution drift, prediction score drift, and downstream engagement metrics as the ground truth signal.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining a layered monitoring strategy covering data quality, model performance, and business impact. Then define specific triggers for retraining based on degradation thresholds, data drift, and business metrics. Emphasize the importance of automation and continuous evaluation.

Pro tip: Tie monitoring metrics directly to Reddit's key business metrics (e.g., engagement, retention) to show product sense. Also, mention that retraining triggers should be configurable and versioned to allow for safe rollbacks.

1. Define Monitoring Layers

Cover data quality (input drift, missing values), model performance (accuracy, latency), and business metrics (CTR, user engagement).

2. Set Up Data Drift Detection

Use statistical tests (e.g., KL divergence, PSI) to monitor feature distributions and detect covariate shift.

3. Monitor Model Performance

Track online metrics like prediction distribution and offline metrics like precision/recall on labeled data.

4. Define Retraining Triggers

Trigger retraining when performance drops below threshold, significant data drift occurs, or on a scheduled basis (e.g., weekly).

5. Automate and Iterate

Implement automated retraining pipelines with A/B testing and rollback capabilities, and continuously refine triggers.

Key Points to Mention

  • Data drift detection techniques (e.g., PSI, KL divergence)
  • Model performance metrics (e.g., AUC, F1, latency)
  • Business metrics (e.g., click-through rate, user retention)
  • Retraining triggers: performance degradation, data drift, scheduled retraining
  • Automated retraining pipelines and CI/CD for ML
  • A/B testing and shadow deployment for safe model updates

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