Library / Case Studies

Scaling with Performance at Facebook - Bill Jia, VP of Infrastructure at Facebook

Bill is a Vice President at Facebook, in the Infrastructure group, overseeing AI/Applied Machine Learning infrastructure, performance and capacity engineering, and hardware validation engineering. Since joining Facebook in 2009, Bill has been responsible for defining overall Facebook software product performance…

By Facebook engineers · Facebook · Added 2026-10-12

Open original source

All content belongs to Facebook engineers / Facebook. We only link to it and give credit. Report a problem

Learn this case study

About 37 min left. Your work is saved as you go.

What you are about to study

Facebook explains a real system. You should know the basics: caching, queues and replication.

Ideas you will meet

Distributed Systems
Consensus, time, failure and the fundamentals of scale-out.

What we already know about this

Our own lessons on these ideas. Read them here before you start, so it makes sense.

  • Interview Preparation · 14 minPractice problem bankSixty prompts grouped by theme, each pointing to the lessons that teach its ingredients, so practice builds on what you have learned.Read here

    How to use this bank

    1. Pick a prompt, set a timer (45 minutes for system design, 30 for low-level design).
    2. Work the method from the previous lesson: clarify, estimate, sketch, deep-dive, wrap up.
    3. Compare with the lessons listed for that prompt. Note what you missed.
    4. Repeat later without notes.

    Prompts are grouped by core challenge, because most problems are variations on a handful of patterns. "Lessons" point to this site's courses: FND foundations, CSD classic designs, CORE core concepts, RWS real-world systems, BDP big data, SDE software design, LLD low-level design, ADS advanced distributed systems, DDV databases, NSD networking and security, MSV messaging and microservices.

    1. Simple services at scale

    PromptFocusLessons
    A link-shortening serviceKey generation, redirects, read-heavy cachingFND URL shortener; CSD unique ids
    A paste-sharing serviceStorage of large text, expiry, abuse limitsFND databases; RWS large uploads
    A file-sharing service with expiring linksObject storage, signed URLsCSD cloud file storage; RWS uploads
    A public status pageHigh availability for read-only content, CDNFND networking and CDN; ADS cloud architecture
    A feature-flag serviceLow-latency reads, safe defaults, targetingMSV operating microservices
    A configuration distribution serviceConsistency, versioning, propagationADS consensus; MSV discovery

    2. Rate, limits and counters

    PromptFocusLessons
    A rate limiter for a public APIAlgorithms, shared counters, racesCSD rate limiter
    A global limiter across regionsEventual consistency and over-admissionCSD rate limiter; DDV replication
    Usage metering and billing per customerAccurate counting, aggregation, idempotencyRWS metrics monitoring; MSV reliable messaging
    A system to detect and block abusive trafficSignals, thresholds, false positivesNSD proxies and attacks; CSD rate limiter
    A leaderboard for millions of playersSorted sets, sharding, rankingCORE Redis; ADS Redis internals

    3. Storage and data

    PromptFocusLessons
    A distributed key-value storePartitioning, replication, quorums, repairCSD key-value store; ADS storage engines
    A distributed cacheEviction, consistency, hot keysFND caching; CORE Redis
    A cloud file storage and sync serviceChunking, dedup, conflicts, notificationsCSD cloud file storage
    An object storage serviceDurability, erasure coding, metadataCORE erasure coding; RWS storage
    A time-series metrics databaseWrite-heavy ingestion, downsamplingDDV choosing a database; RWS metrics monitoring
    A multi-tenant SaaS databaseIsolation models, noisy neighboursDDV replication; FND replication and sharding
    A search service for a catalogueInverted index, relevance, freshnessCSD autocomplete; DDV choosing a database
    A deduplication system for uploaded mediaHashing, similarity, storageCSD cloud storage; CORE Bloom filters

    4. Feeds, social and communication

    PromptFocusLessons
    A news feed or timelineFan-out on write or read, cachingCSD news feed; RWS Twitter
    A photo-sharing appMedia pipeline, feed, CDNCSD news feed; CSD video streaming
    A chat application with presencePersistent connections, ordering, offlineCSD chat; CORE realtime
    A notification system for push, SMS and emailQueues, retries, dedupe, preferencesCSD notification system; MSV reliable messaging
    Nested comments at scaleTree storage, pagination, hot threadsDDV normalisation; DDV indexes
    Live score updatesPush at scale, fan-out, cachingCORE realtime; ADS load balancing
    A video conferencing serviceReal-time media, signalling, scaling roomsCORE realtime communication
    A collaborative whiteboard or editorMerging concurrent editsRWS collaborative editing

    5. Location and matching

    PromptFocusLessons
    Nearby places searchGeohash, quadtree, indexingRWS nearby places
    A ride-hailing serviceMatching, location updates, trip stateLLD cab booking; RWS nearby places
    A maps and navigation serviceTiles, routing, trafficRWS maps and navigation
    A food-delivery platformOrders, courier assignment, statusLLD food delivery
    A delivery route plannerOptimisation heuristics, batchingRWS maps; LLD cab booking

    6. Media

    PromptFocusLessons
    A video streaming platformUpload, transcoding, adaptive streaming, CDNCSD video streaming
    A music streaming serviceCatalogue, playback, recommendationsLLD video catalogue; CSD video streaming
    A large file upload serviceChunking, resume, integrityRWS large uploads
    A live-streaming platformLow latency, ingest, fan-outCSD video streaming; CORE realtime

    7. Commerce and money

    PromptFocusLessons
    A payment processing systemIdempotency, ledger, reconciliationRWS payment system; CORE payments
    A cross-border money transferFX, compliance, settlementRWS cross-border payments
    A flash sale or ticket dropHot items, queues, oversell preventionRWS flash sale; LLD movie ticket booking
    An e-commerce inventory serviceStock reservation, consistencyLLD shopping cart; CORE locking
    A stock exchange or order matching engineOrder book, determinism, latencyRWS stock exchange
    A subscription billing systemRecurring charges, retries, prorationRWS payment system; MSV reliable messaging
    A fraud detection serviceFeatures, streaming, latencyBDP batch and stream; MSV event-driven
    A hotel or seat booking systemAvailability, holds, double-bookingLLD hotel management; LLD movie booking

    8. Infrastructure and platform

    PromptFocusLessons
    A web crawlerFrontier, politeness, dedupCSD web crawler
    A distributed job scheduler or cronLeader election, retries, exactly-once effectsCORE distributed locks; ADS consensus
    A distributed lock serviceLeases, fencing, consensusCORE distributed locks; ADS consensus
    A unique id generatorTime-based ids, clocksCSD unique id generator
    A load balancer or API gatewayAlgorithms, health, L4 versus L7ADS load balancing
    A metrics and alerting platformCollection, storage, alerts, SLOsRWS metrics; MSV observability
    A log aggregation pipelineCollection, indexing, retentionMSV operating microservices
    A CI/CD and deployment systemPipelines, strategies, rollbacksCORE deployment strategies; RWS delivery
    A secrets management serviceEncryption, access control, rotationNSD OWASP; MSV operating microservices
    An uptime monitoring serviceProbes, global vantage points, alertingMSV observability
    An email delivery serviceQueues, reputation, bouncesRWS email system; CSD notification

    9. Machine learning and data

    PromptFocusLessons
    A recommendation systemOffline training, online serving, featuresBDP batch and stream; LLD video catalogue
    Serving model predictions at scaleLatency, batching, cachingADS cloud architecture; RWS AI coding assistant
    A real-time analytics dashboardStreaming aggregation, storageBDP batch and stream; DDV choosing
    A data pipeline for clickstream eventsIngest, stream processing, warehouseBDP lakes and warehouses; MSV brokers
    An AI coding assistantContext building, latency, privacyRWS AI coding assistant

    10. Low-level design prompts

    Practise these as classes and code; see the LLD course for worked solutions: parking lot, library, hotel, elevator, ATM, cab booking, food delivery, movie booking, expense sharing, shopping cart, chess, snake, chat, social feed and video catalogue. Extra prompts: a vending machine, a ticketing helpdesk, a task scheduler, a rate limiter as a class library, a text editor with undo, an in-memory file system, a logging framework and a cache with pluggable eviction.

    After each attempt

    • Did I clarify and estimate?
    • Is the core flow clear and correct?
    • Did I choose storage with a reason?
    • Did I handle scale, failure, consistency, security and monitoring?
    • Where did I hesitate? Review that lesson, then retry the problem later.

    Real-world reading

    Open this lesson with its quiz and exercise

Go deeper on this

A path through videos, articles, other case studies and code on the same ideas as Scaling with Performance at Facebook - Bill Jia, VP of Infrastructure at Facebook.

  1. Warm upGet the vocabulary first.

  2. WatchHow others solve the same problem, on video.

    Videos belong to their creators and play from YouTube. More on YouTube (opens in a new tab)

  3. ReadEngineers explain it in their own words.

  4. See it in another companyThe same ideas, a different system.

  5. Read the codeSee how it looks when it is real.

Keep learning

Loading community…