← Meta Interview Insights

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

Senior
May 2026

Summary

System design round at Meta for an MLE role. The prompt was a full-blown photo and video storage platform at global scale, covering basically everything from upload mechanics to disaster recovery. Brutally broad.

Questions Asked (1)

Q1

Design a system to store and deliver user-generated photos and short videos at global scale, covering upload, download, deletion, listing, thumbnail and transcode generation, search by owner or metadata, signed access URLs, and per-user quotas.

System DesignTechnical Trade-offsData Modeling
Author's notes

The scope of this thing is genuinely wild.

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 scalable architecture that separates metadata storage from blob storage, using CDN for global delivery. Focus on trade-offs around consistency, cost, and latency, and highlight ML-specific components like thumbnail/transcode generation and search indexing.

Pro tip: Emphasize how ML models (e.g., for thumbnail selection or content moderation) integrate into the pipeline, and discuss how to handle failures gracefully with retries and dead-letter queues.

1. Clarify Requirements and Scale

Ask about expected QPS, storage size, latency requirements, consistency needs, and budget constraints. Define core entities: users, photos, videos, metadata.

2. High-Level Architecture

Propose a microservices-based design with separate services for upload, download, metadata, and processing. Use object storage (e.g., S3) for blobs, a distributed database (e.g., Cassandra) for metadata, and a CDN for delivery.

3. Deep Dive into Key Components

Detail upload flow (pre-signed URLs, chunked uploads), download flow (CDN, signed URLs), deletion (soft delete, async cleanup), listing (pagination, indexing), and search (Elasticsearch with owner/metadata filters).

4. ML Integration and Processing Pipeline

Explain how to generate thumbnails and transcodes using asynchronous workers (e.g., AWS Lambda, Kubernetes jobs). Discuss ML models for auto-tagging, content moderation, and thumbnail selection, and how to handle model versioning and retraining.

5. Scalability, Reliability, and Trade-offs

Address partitioning, replication, caching, and quota enforcement. Discuss trade-offs between consistency and availability, cost of storage vs. compute, and how to handle hot spots and failures.

Key Points to Mention

  • Separation of metadata and blob storage for scalability and cost efficiency.
  • Use of CDN and signed URLs for secure, low-latency global delivery.
  • Asynchronous processing pipeline for thumbnails, transcodes, and ML inference.
  • Search indexing with Elasticsearch for owner and metadata queries.
  • Per-user quotas enforced via rate limiting and storage accounting.
  • Trade-offs: consistency vs. availability, cost vs. performance, and ML model latency.

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