← Whatnot Interview Insights

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

Senior
Jul 2026

Summary

Whatnot MLE interview focused on designing a full trending livestream recommendation system, which sounds scoped until you realize they want you to cover everything from feature collection to failure handling. The follow-up about stream liveness caught me a little flat-footed.

Questions Asked (4)

Q1

Design an end-to-end ML system for surfacing trending livestreams to users on a live-commerce platform. A scoring model already exists as a service. Walk through product goals, success metrics, feature collection, candidate generation, ranking, architecture, and scaling.

System DesignProduct Analytics & MetricsTechnical Trade-offs
Author's notes

This is a beast of a question and I think I spent too long on the feature collection part early on, which left me rushing through the online/offline architecture at the end.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying product goals and success metrics, then walk through the ML pipeline from feature collection to serving, emphasizing how the existing scoring model integrates. Focus on scalability, real-time constraints, and trade-offs specific to live-commerce.

Pro tip: Emphasize the unique aspects of live-commerce: real-time engagement signals, inventory urgency, and the need to balance trending with personalization. Discuss how you'd handle cold-start for new streamers and prevent feedback loops.

1. Define Product Goals and Success Metrics

Clarify what 'trending' means for the platform (e.g., high viewer engagement, sales conversion) and align with business objectives. Define offline and online metrics like CTR, conversion rate, watch time, and diversity.

2. Design Feature Collection and Candidate Generation

Identify real-time and batch features (viewer count, chat rate, sales velocity, streamer reputation) and sources. Generate candidates via multiple strategies: popularity, recency, personalization, and social signals.

3. Integrate Scoring Model and Ranking

Use the existing scoring model as a service to rank candidates. Incorporate business rules (e.g., diversity, freshness) and blend with personalized scores. Discuss how to handle model updates and versioning.

4. Architecture and Scaling

Outline a scalable architecture: data ingestion (Kafka), feature store, candidate generation service, ranking service, and caching. Address low-latency serving, fault tolerance, and horizontal scaling.

5. Evaluation and Iteration

Plan for A/B testing, online evaluation, and monitoring. Discuss how to measure success, detect degradation, and iterate on the system.

Key Points to Mention

  • Real-time feature computation (e.g., sliding windows for viewer count, chat messages per second)
  • Candidate generation strategies: trending, personalized, fresh, and diverse
  • Integration of the existing scoring model as a microservice with fallbacks
  • Low-latency serving using caching, precomputation, and approximate nearest neighbors
  • Handling cold-start for new streamers and items
  • Avoiding feedback loops and ensuring diversity in recommendations

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

Q2

How would you prevent stale, ended, low-quality, or spammy streams from appearing in the trending feed?

System DesignTechnical Trade-offsRoot Cause Analysis
Author's notes

I jumped straight to a blocklist and stream-status polling, which is fine but pretty surface level.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the definition of 'trending' and the failure modes (stale, ended, low-quality, spammy). Then propose a multi-layered system that combines real-time signals, ML-based quality scoring, and business rules, emphasizing trade-offs between freshness, quality, and engagement.

Pro tip: Frame your answer around a feedback loop: use offline evaluation to tune thresholds and online A/B testing to measure impact on user engagement and retention. This shows you think about long-term system health, not just immediate filtering.

1. Define and Detect

Clearly define what each failure mode means (e.g., stale = no activity for X minutes, ended = stream ended, low-quality = poor audio/video, spammy = promotional content). Propose detection methods: real-time signals (viewer count, chat rate), metadata (duration, category), and content analysis (audio/video quality, text classification).

2. Feature Engineering and ML Models

Design features that capture freshness, engagement, and quality. Train models to predict a 'trending score' or classify streams as spam/low-quality. Use supervised learning with labels from human review or user reports, and consider unsupervised anomaly detection for spam.

3. Ranking and Filtering

Combine model scores with business rules (e.g., minimum viewer count, maximum age) to filter out bad streams. Use a ranking algorithm that balances freshness, quality, and personalization. Consider a two-stage approach: candidate generation then ranking.

4. Monitoring and Feedback

Set up dashboards to monitor the prevalence of each failure mode in the trending feed. Implement a feedback loop where user reports and manual reviews retrain models. Use A/B testing to measure the impact of changes on key metrics like CTR, watch time, and retention.

5. Trade-offs and Iteration

Discuss trade-offs: aggressive filtering may reduce diversity or miss emerging trends; too lenient may allow spam. Propose iterative improvements, such as starting with rule-based filters and gradually incorporating ML as data accumulates.

Key Points to Mention

  • Real-time vs. batch processing: use streaming for freshness signals and batch for model training.
  • Feature examples: stream duration, time since last chat message, viewer-to-chat ratio, audio loudness, video resolution, text analysis of stream title/description.
  • Model choices: gradient boosted trees for tabular features, CNNs for video/audio quality, NLP for spam detection.
  • Cold start problem: how to handle new streams with little data (e.g., use content-based features or exploration).
  • Evaluation metrics: precision/recall for spam detection, NDCG for ranking, and online metrics like engagement and retention.
  • Ethical considerations: avoid bias against certain categories or new streamers, ensure transparency in moderation.

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

Q3

Follow-up: How do you guarantee that a stream shown in the trending feed is actually still live at the moment a user sees it?

System DesignTechnical Trade-offsAPI & Integrations
Author's notes

Blanked for a second here.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Acknowledge the inherent staleness in any distributed system, then propose a multi-layered approach combining real-time stream status checks, client-side validation, and graceful fallbacks. Emphasize the trade-offs between latency, accuracy, and system load, and how you would measure and optimize them.

Pro tip: Mention that you would instrument the system to track the 'staleness rate' and use it to tune the freshness threshold, showing a data-driven mindset. Also, highlight that perfect real-time guarantees are impossible, so you aim for a bounded staleness with clear SLAs.

1. Clarify requirements and constraints

Ask about acceptable staleness (e.g., seconds), scale (QPS, number of streams), and user experience expectations. This shows you understand the problem context before jumping to solutions.

2. Design a real-time status service

Propose a dedicated service that tracks stream liveness via heartbeats from broadcasters and exposes a low-latency API to check status. Discuss using in-memory stores (e.g., Redis) with TTLs for fast reads.

3. Integrate client-side validation

When a user views the trending feed, the client can call the status API for each stream (or batch) and filter out offline streams. Alternatively, use WebSocket or SSE to push updates and remove stale items in real-time.

4. Handle fallbacks and edge cases

If the status check fails or is slow, fall back to a cached status with a short TTL, and show a placeholder or error message. Also, consider optimistic UI updates and reconciliation.

5. Monitor and iterate

Define metrics like false positive rate (showing offline streams) and latency, and set up alerts. Use A/B testing to balance freshness vs. system load.

Key Points to Mention

  • Heartbeat mechanism from broadcasters to update liveness
  • Use of in-memory data stores (e.g., Redis) with TTL for low-latency status checks
  • Client-side polling or server-sent events/WebSockets for real-time updates
  • Caching strategies and trade-offs between freshness and load
  • Graceful degradation and fallback UI when status is uncertain
  • Metrics and monitoring to track staleness and system performance

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

Q4

How would you approach experimentation and monitoring for this trending feed system?

A/B Testing & ExperimentationProduct Analytics & MetricsSystem Design
Author's notes

Talked through A/B testing on the ranking layer, using engagement metrics like click-through, watch time, and purchase conversion as the primary signals.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the goals of the trending feed (e.g., engagement, retention) and the ML components involved. Then outline a structured experimentation plan covering offline evaluation, online A/B testing, and guardrail metrics, followed by a monitoring strategy for model performance, data quality, and system health.

Pro tip: Emphasize the importance of defining clear success metrics and guardrails upfront, and discuss how you would handle potential interference between experiments in a feed setting. Show awareness of the trade-offs between rapid iteration and statistical rigor.

1. Define Objectives and Metrics

Clarify the business goals (e.g., increase user engagement, session time) and translate them into measurable ML and product metrics. Identify primary, secondary, and guardrail metrics.

2. Design Offline Evaluation

Use historical data to evaluate model changes offline, ensuring they meet baseline performance. Consider counterfactual evaluation and bias correction to estimate online impact.

3. Plan Online Experiments

Design A/B tests with proper randomization, sample size calculation, and duration. Address potential network effects and interference by using techniques like switchback or cluster randomization if needed.

4. Implement Monitoring

Set up dashboards to track model predictions, feature distributions, and system latency in real-time. Monitor for data drift, concept drift, and anomalies in key metrics.

5. Iterate and Learn

Analyze experiment results, conduct post-hoc analysis, and feed insights back into the model development cycle. Continuously refine metrics and monitoring thresholds.

Key Points to Mention

  • A/B testing best practices: randomization unit, sample size, statistical power, and avoiding peeking.
  • Guardrail metrics to ensure no degradation in user experience or system performance.
  • Offline-online metric alignment and potential discrepancies.
  • Monitoring for data drift, model staleness, and feedback loops in the feed.
  • Handling interference and network effects in social feeds.
  • Use of sequential testing or Bayesian methods for faster iteration.

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