← Meta Interview Insights

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

SeniorPrefer not to say
Apr 2026

Summary

Meta system design round focused entirely on the classic news feed problem. The depth of follow-up questions made it clear they weren't just looking for a textbook answer, they wanted you to actually defend your choices under pressure.

Questions Asked (4)

Q1

Design Instagram (or a Facebook-style news feed) with personalized ranking at scale, supporting photo/video posts, follows, likes, and comments for roughly a billion daily active users.

System DesignTechnical Trade-offs
Author's notes

The part that tripped me up wasn't the storage or the read path, it was justifying the fan-out strategy without just reciting the hybrid answer.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying functional and non-functional requirements, then design a high-level architecture that separates write and read paths. Focus on the feed generation and ranking pipeline, discussing trade-offs between fan-out on write vs. read, and how to scale to a billion users with low latency.

Pro tip: Emphasize the importance of precomputing and caching ranked feeds for active users while using a pull-based approach for inactive users to balance cost and freshness. Also, discuss how to handle celebrity users (hotkeys) with a hybrid approach.

1. Clarify Requirements and Scale

Ask about functional requirements (post types, interactions, feed personalization) and non-functional requirements (latency, availability, consistency). Estimate scale: 1B DAU, ~2B posts/day, read-heavy workload.

2. High-Level Architecture

Outline core components: clients, API gateway, post service, graph service (follows), feed service, ranking service, and storage (SQL/NoSQL, cache, blob storage). Separate write path (post creation) from read path (feed retrieval).

3. Feed Generation and Ranking

Discuss feed generation strategies: fan-out on write (push) vs. fan-out on read (pull) vs. hybrid. Explain how to rank posts using signals (affinity, recency, engagement) and ML models, and how to precompute feeds for active users.

4. Scaling and Trade-offs

Address scaling challenges: sharding, replication, caching, CDN for media, and handling hotkeys (celebrities). Discuss trade-offs: latency vs. freshness, cost vs. personalization, consistency vs. availability.

5. Wrap Up and Metrics

Summarize the design, mention monitoring (latency, error rates, feed freshness), and potential bottlenecks. Suggest future improvements like real-time updates or more advanced ranking.

Key Points to Mention

  • Fan-out on write vs. read and hybrid approach for celebrities
  • Precomputation and caching of ranked feeds for active users
  • Use of graph database or social graph service for follow relationships
  • Ranking signals: affinity, recency, engagement, and ML model serving
  • Media storage and delivery via CDN, with transcoding for videos
  • Sharding and replication strategies for scalability and fault tolerance

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

Q2

Walk through how you'd handle the 'hot key' problem when a single celebrity post goes viral and hammers your cache layer.

System DesignTechnical Trade-offs
Author's notes

I said shard the cache and immediately got a follow-up asking what happens when the shard itself gets overwhelmed.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scenario and requirements, then propose a multi-layered caching strategy that includes request coalescing, local caching, and cache replication. Emphasize trade-offs between consistency, latency, and cost, and explain how you would monitor and adapt the solution.

Pro tip: Mention that you would simulate the hot key scenario with load tests and use real-time metrics to validate the solution, showing a proactive and data-driven approach.

1. Clarify Requirements and Constraints

Ask questions to understand the scale, read/write ratio, latency requirements, and existing infrastructure. This ensures your solution is tailored to the specific context.

2. Identify the Hot Key Problem

Explain that a single key overwhelming the cache can cause increased latency, cache misses, and potential outages. Highlight the need to distribute load and reduce redundant requests.

3. Propose Mitigation Strategies

Discuss techniques like request coalescing (single flight), local in-memory caching, key replication with random suffixes, and using a CDN or edge cache. Explain how each helps.

4. Evaluate Trade-offs

Compare consistency, latency, cost, and complexity of each approach. For example, key replication may cause stale data, while request coalescing adds slight latency but reduces load.

5. Monitor and Iterate

Describe how you would monitor cache hit rates, latency, and load, and set up alerts. Mention the importance of load testing and gradually rolling out changes.

Key Points to Mention

  • Request coalescing (single flight) to deduplicate concurrent requests for the same key
  • Local in-memory caching (e.g., using a small LRU cache) to absorb repeated reads
  • Key replication with random suffixes to spread load across multiple cache nodes
  • Using a CDN or edge cache to serve the viral content closer to users
  • Trade-offs: consistency vs. availability, latency vs. cost, and complexity of implementation
  • Monitoring and load testing to validate the solution and adapt to changing conditions

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

Q3

How would you design the ranking layer for a personalized feed? Walk through candidate generation through to the final ranked result.

System DesignProduct Sense & Ideation
Author's notes

Described a two-stage ranker: lightweight pass using recency and basic affinity signals, then a heavier model for the top candidates.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the product context and requirements, then walk through the multi-stage pipeline: candidate generation, filtering, scoring, and ranking. Emphasize the trade-offs between relevance, diversity, and freshness, and how you would measure and iterate on the system.

Pro tip: Show that you understand the end-to-end system, not just the ranking algorithm. Discuss how you would handle cold-start users, feedback loops, and real-time signals, and how you'd A/B test changes to avoid regressions.

1. Clarify Requirements and Constraints

Ask about the product (e.g., Facebook Feed), scale, latency requirements, and success metrics. Understand what 'personalized' means and what signals are available.

2. Candidate Generation

Describe how to retrieve a set of potentially relevant items from a large corpus. Mention techniques like inverted indices, embeddings, and graph-based retrieval, and how to balance recall and efficiency.

3. Filtering and Lightweight Scoring

Explain how to apply hard filters (e.g., blocked content, already seen) and compute cheap scores to prune the candidate set before expensive ranking.

4. Ranking Model

Detail the ranking model (e.g., gradient boosted trees, deep neural networks) that predicts engagement probabilities. Discuss feature engineering, training data, and online serving.

5. Final Re-ranking and Blending

Cover post-processing steps like diversity, freshness, and business rules. Explain how to blend multiple objectives and produce the final ordered list.

Key Points to Mention

  • Two-tower models for candidate generation and deep learning for ranking
  • Feature engineering: user, item, context, and cross features
  • Handling cold-start and exploration vs exploitation
  • Real-time signals and streaming updates
  • Evaluation metrics: offline (AUC, NDCG) and online (CTR, dwell time, user satisfaction)
  • Scalability and latency considerations (e.g., caching, sharding, model serving)

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

Q4

How do you handle cache invalidation when a user unfollows someone or a post gets deleted?

System DesignTechnical Trade-offs
Author's notes

Honestly a drill-down I wasn't expecting mid-conversation.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the scale and consistency requirements, then discuss a multi-layered caching strategy (client, CDN, application, database) and how invalidation propagates through each layer. Focus on trade-offs between consistency, latency, and complexity, and propose a concrete solution like write-through with versioning or event-driven invalidation.

Pro tip: Emphasize that perfect consistency is often unnecessary; instead, discuss how to bound staleness (e.g., TTLs) and use idempotent operations to handle race conditions gracefully. Mention monitoring and fallback mechanisms to detect and recover from cache inconsistencies.

1. Clarify Requirements and Constraints

Ask about scale (QPS, data size), consistency needs (strong vs eventual), and latency SLAs. This shows you tailor solutions to real-world constraints.

2. Map the Caching Layers

Identify all caches involved: client-side, CDN, application-level (e.g., Redis), and database query caches. Explain how each layer might store follow relationships or post data.

3. Design Invalidation Strategy

Propose a strategy such as write-through (update cache on write), write-behind (async invalidation), or versioned keys. For unfollow/delete, consider event-driven invalidation via a message queue to propagate changes.

4. Handle Race Conditions and Failures

Discuss how to handle concurrent updates, cache stampedes, and partial failures. Use techniques like idempotent operations, retries with exponential backoff, and circuit breakers.

5. Evaluate Trade-offs and Monitor

Compare consistency vs latency vs complexity. Suggest monitoring cache hit rates and staleness, and define fallback mechanisms (e.g., serving stale data with a warning).

Key Points to Mention

  • Event-driven invalidation using a message queue (e.g., Kafka) to decouple services and ensure reliable propagation.
  • Versioning or timestamping cache entries to avoid stale reads and simplify invalidation.
  • Time-to-live (TTL) as a fallback to bound staleness when immediate invalidation fails.
  • Idempotent operations to handle duplicate invalidation messages and race conditions.
  • Cache-aside pattern with lazy loading and explicit invalidation on writes.
  • Monitoring and alerting on cache hit ratio and inconsistency metrics to detect issues.

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