ScaleDojo Learn: Forge Fundamentals
Solve 124 production engineering architecture challenges based on real infrastructure setups at top tech companies.
Or read the history behind it
The Infrastructure Chronicles - Production systems at scale
Big Billion Days
A high-pressure system design and engineering challenge inspired by the scale of Big Billion Days. Design a system that can handle millions of users, massive traffic spikes, real-time inventory updates, concurrent orders, payments, and flash-sale demand without compromising performance or reliability.
Compare stats and compete with top...
Forge Algorithm Lab
Progressive System Design Curriculum
Solve levels sequentially - each clear unlocks the next challenge
Tier 1
#1 Big-O Detective
Warm-UpAnnotate code with time complexity and explain why
#2 Stack from Scratch
EasyImplement push, pop, peek - understand why O(1) matters
#3 Queue from Scratch
EasyCircular buffer - the right way to build a queue
#4 HashMap from Scratch
MediumBuild a hashmap with separate chaining collision resolution
#5 Linked List Fundamentals
EasyReverse a linked list - the interview warm-up that trips people
#6 Binary Search Mastery
MediumStandard search, then rotated array - the real interview variant
#7 Recursion & Memoization
MediumFrom exponential to linear - the power of caching subproblems
#8 Min-Heap Implementation
MediumBuild a heap from scratch - the engine behind task schedulers
#9 Two Pointers & Sliding Window
MediumThe pattern behind 50% of array interview problems
#10 Two-Sum & Three-Sum Suite
MediumSDE 2AmazonGoogleThe most-asked interview question, plus its two most-asked variants
#11 Prefix Power
MediumSDE 2MetaMicrosoftOne array, three questions - all solved by never recomputing
#12 Frequency & Grouping
MediumSDE 2MetaLinkedInTurning raw counts into the answer an interviewer actually wants
#13 Pointer Puzzles
MediumSDE 2MetaGoogleDeep-copying graphs hiding inside a list, and rewiring pointers in place
#14 Quickselect Twins
MediumSDE 2MetaLinkedInFinding rank-k without a full sort, once on a static array, once on a live stream
#15 Water Between Walls
HardSDE 3AmazonGoogleTwo classic two-pointer problems that show up in almost every SDE3 loop
#16 Window of Extremes
HardSDE 3MetaAirbnbTwo sliding-window techniques: shrink-to-fit, and the monotonic deque
#17 Stack-Powered Parsing
HardSDE 3GoogleMetaThree stack-based interview staples: validation, O(1) min-tracking, and expression evaluation
#18 Monotonic Stack Mastery
HardSDE 3AmazonGoogleThe pattern behind 'next greater', 'days until warmer', and histogram-area problems
#19 Merge & Merge-K
HardSDE 3AmazonMicrosoftThe linked-list pattern behind every log-merge and external sort
#20 List Arithmetic
HardSDE 3AmazonAppleCarry propagation and fixed-size chunk reversal, both node by node
#21 Streaming Median
ExpertSDE 3GoogleNetflixTwo heaps for a running median, then the same idea over a sliding window
#22 Tier 1 Boss: DataStructure Toolkit
BossCombine everything - stack, queue, hashmap, and heap in one class
Tier 2
#23 LRU Cache
MediumThe most asked cache question - O(1) get and put
#24 LFU Cache
HardEvict the LEAST frequently used - smarter than LRU
#25 Bloom Filter
HardProbabilistic membership - "definitely no" or "probably yes"
#26 Consistent Hashing
HardAdd/remove servers without resharding everything
#27 TTL-based Cache
MediumExpire entries by time - the foundation of session management
#28 Write-Through vs Write-Behind Cache
MediumUnderstand consistency tradeoffs through implementation
#29 Count-Min Sketch
HardCount frequencies in data streams using constant memory
#30 Cache Stampede Prevention
HardMutex lock + probabilistic early expiry
#31 Two-Level Cache (L1 + L2)
MediumIn-memory hot cache + larger persistent cache
#32 Cache Eviction Policy Benchmark
MediumCompare FIFO, LRU, LFU - choose the right one for the job
#33 Memory Pool Allocator
ExpertCustom slab allocator - why databases avoid malloc
#34 Tier 2 Boss: ProductionCache
BossLRU + TTL + stampede prevention + telemetry in 50 lines
Tier 3
#35 Parking Lot System
EasyFresherAmazonGoogleMicrosoftComposition and size-based allocation - the classic LLD opener
#36 Vending Machine
EasyFresherMicrosoftAmazonState machine design - Idle, HasBalance, Dispensing
#37 Logging Framework
EasyFresherAmazonUberThe canonical Singleton - one shared logger, filtered by severity
#38 ATM Machine
EasySDE 2PayPalStripeState-guarded authentication and withdrawal, no shortcuts
#39 Elevator System
MediumSDE 2AmazonGoogleUberMicrosoftMulti-elevator dispatch - nearest-idle-first scheduling
#40 LRU Cache
MediumSDE 2AmazonGoogleMetaMicrosoftO(1) get/put with least-recently-used eviction
#41 Rate Limiter
MediumSDE 2GoogleAmazonStripeDeterministic request throttling, no wall-clock flakiness
#42 Library Management System
MediumFresherAmazonMicrosoftCheckout/return with per-member borrowing limits
#43 Notification System
MediumSDE 2AmazonUberMetaObserver pattern - fan out to Email, SMS, and more
#44 Chess Game
MediumSDE 3GoogleAmazonMicrosoftPiece movement legality and occupancy rules
#45 Tic-Tac-Toe
MediumFresherGoogleMicrosoftAmazonBoard state, move validation, and generalized win detection
#46 Splitwise / Expense Sharing
HardSDE 2UberPayPalExpense splitting and running balances between members
#47 Movie Ticket Booking System
HardSDE 2AmazonMicrosoftSeat booking across shows, no double-booking
#48 Chat System
HardSDE 2MetaGoogle1:1 and group messaging with membership-gated access
#49 Food Delivery System
HardSDE 2DoorDashUberOrder lifecycle state machine - placed to delivered
#50 Ride-Sharing System
HardSDE 3UberNearest-driver matching and fare estimation
#51 Hotel Booking System
HardSDE 2AmazonAirbnbDate-range availability with overlap-safe booking
#52 Stock Exchange / Order Matching Engine
HardSDE 3StripePayPalPrice-time priority matching for a single security
Tier 4
#53 Token Bucket Rate Limiter
MediumThe industry standard - Cloudflare, Stripe, AWS all use this
#54 Sliding Window Rate Limiter
HardPrecise rate limiting without fixed window boundary bugs
#55 Circuit Breaker
HardThe Netflix pattern - fail fast, recover gracefully
#56 Retry with Exponential Backoff
MediumHandle transient failures without overwhelming the service
#57 Thread-Safe Connection Pool
HardSemaphore-based DB connection pooling
#58 Caesar Cipher Codex
EasyBuild the ancient encryption that started it all
#59 Vigenere Vault
MediumThe unbreakable cipher (for 300 years)
#60 SHA-256 Sentinel
MediumImplement a cryptographic hash from scratch
#61 HMAC Guardian
MediumMessage authentication that prevents tampering
#62 JWT Journeyman
HardBuild JSON Web Tokens from scratch - no libraries
#63 Password Vault
MediumBcrypt, salting, and why MD5 passwords leak
#64 RSA Reckoning
HardImplement RSA key generation - the math of internet trust
#65 Tier 3 Boss: API Gateway
BossToken bucket + circuit breaker + retry in one class
Tier 5
#66 Symmetric Encryption (XOR)
EasyImplement the basic XOR cipher for symmetric encryption
#67 Diffie-Hellman Exchange
MediumCalculate shared secret key securely
#68 PBKDF2 Key Deriver
MediumDerive secure keys from user passwords
#69 Password Hashing with Salt
MediumBcrypt simulation - how passwords are actually stored
#70 SQL Injection Sanitizer
EasyEscape inputs to prevent SQL Injection attacks
#71 CORS Policy Validator
EasyVerify origin matching rules
#72 IP Rate Limiter
MediumSimple slide window rate limiting per IP
#73 JWT from Scratch
HardHeader.Payload.Signature - implement without libraries
#74 Secure Session Cookie
MediumPrevent session tampering using signed cookies
#75 CSRF Token Validator
MediumVerify anti-CSRF request tokens
#76 XSS Protection Filter
EasyHTML escape user inputs
#77 RBAC Access Control
MediumAccess control checker
#78 Tier 4 Boss: MiniAuthService
Bossbcrypt + JWT + HMAC API keys + token validation
Tier 6
#79 Vector Clocks
HardTrack causality in distributed systems
#80 Lamport Timestamps
MediumMaintain causality using Lamport Logical Clocks
#81 Consistent Hashing Ring
MediumAssign keys to nodes using hashing
#82 Bully Leader Election
MediumChoose the highest ID node as coordinator
#83 Write-Ahead Log (WAL)
HardHow databases survive crashes - log first, apply second
#84 Redlock Distributed Lock
HardAcquire consensus lock across replicas
#85 Two-Phase Commit (2PC)
HardCoordinate atomic transaction commits
#86 Quorum Reads & Writes
HardR + W > N - the math behind eventual consistency
#87 Raft Log Replication
HardReplicate log entries to cluster members
#88 Gossip Protocol
MediumSync node list statuses periodically
#89 MapReduce Coordinator
HardCoordinate word counts with Map and Reduce stages
#90 Tier 5 Boss: MiniDistributedKVStore
BossConsistent hashing + quorum + gossip + WAL in one
Tier 7
#91 Sort It Yourself
MediumMerge sort and quicksort - the two divide-and-conquer sorts everyone should be able to write
#92 Counting Sort & Radix Sort
EasySorting without ever comparing two elements
#93 Binary Search Tree from Scratch
MediumInsert, search, and delete - the three operations every BST needs
#94 Tree Traversal Toolkit
MediumPre-order, in-order, post-order, and level-order - and why each exists
#95 Trie from Scratch
MediumThe prefix tree behind every autocomplete box you've ever used
#96 Union-Find (Disjoint Set)
MediumTracking which things are connected, without ever redrawing the whole graph
#97 BST Guardian
MediumSDE 2MicrosoftAmazonThe BST validation bug that trips up half of interview candidates
#98 Common Ancestors
MediumSDE 2MetaLinkedInThe recursive pattern behind every 'closest shared node' interview question
#99 Shape of a Tree
MediumSDE 2GoogleUberTwo 'one more pass' interview traps disguised as easy tree problems
#100 Tree Teleportation
HardSDE 3AmazonMetaDesign your own wire format - then prove it round-trips
#101 Trie-Powered Search
HardSDE 3GoogleAirbnbMulti-pattern matching, the way autocomplete actually works
#102 Tier 6 Boss: Search Engine Autocomplete
BossCombine what you've built into one ranked-suggestion engine
Tier 8
#103 Backtracking Basics: Subsets & Permutations
MediumChoose, explore, un-choose - the template behind every brute-force search
#104 N-Queens Solver
HardBacktracking with pruning - cutting off bad branches before you fully explore them
#105 1D Dynamic Programming
MediumBottom-up tabulation, from climbing stairs to coin change
#106 2D Dynamic Programming
HardGrid-shaped subproblems - longest common subsequence and knapsack
#107 Greedy Algorithms
MediumWhen the locally-best choice is also the globally-best one
#108 Graph Representations & BFS/DFS
MediumRepresenting relationships, and visiting every node exactly once
#109 Dijkstra's Shortest Path
HardFinding the cheapest route through a weighted graph
#110 Topological Sort & Cycle Detection
MediumOrdering tasks so every dependency comes before what depends on it
#111 Island Counting
MediumSDE 2AmazonMetaFlood-fill your way through the most common grid interview question
#112 Graph Cloning & Validity
MediumSDE 2GoogleMetaDeep-copy a graph with cycles, then sanity-check another one's shape
#113 Robber's Dilemma
MediumSDE 2AmazonAppleNon-adjacent max sum, straight and circular
#114 Greedy Hops & Fuel Stops
MediumSDE 2AmazonMicrosoftThree classic greedy-array problems, one pattern
#115 Prerequisite Chains
HardSDE 3MetaGoogleTopological sort - the backbone of every build system and course planner
#116 Word Games
HardSDE 3AmazonLinkedInBFS shortest paths and topological sort, both hiding inside strings
#117 Constrained Backtracking
HardSDE 3UberDoorDashEnumerate every valid answer, not just find one
#118 String Segmentation
HardSDE 3MetaGoogleCan it be split? How many ways can it be decoded?
#119 Longest-Anything DP
HardSDE 3GoogleMetaLIS in O(n log n), and a deterministic longest palindrome
#120 Edit Distance & Distinct Subsequences
HardSDE 3GoogleMetaTwo classic 2D string DPs that look alike but aren't
#121 Subset Partitioning
HardSDE 3AmazonPayPalSubset-sum DP, twice: equal split and signed-sum counting
#122 Pattern Matching Nightmare
ExpertSDE 3GoogleMetaRegex vs wildcard matching - two DPs that look identical and aren't
#123 Design a Feed Ranking Engine
ExpertStaff+MetaX (Twitter)The heap-merge core powering every social feed's 'most recent' view
#124 Tier 7 Boss: RouteOptimizer
BossShortest paths and budget-constrained reachability, in one delivery-routing engine