ScaleDojo Learn: Forge Fundamentals
Solve 76 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
The Scale Wars
25% off on all challenges
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 Tier 1 Boss: DataStructure Toolkit
BossCombine everything - stack, queue, hashmap, and heap in one class
Tier 2
#11 LRU Cache
MediumThe most asked cache question - O(1) get and put
#12 LFU Cache
HardEvict the LEAST frequently used - smarter than LRU
#13 Bloom Filter
HardProbabilistic membership - "definitely no" or "probably yes"
#14 Consistent Hashing
HardAdd/remove servers without resharding everything
#15 TTL-based Cache
MediumExpire entries by time - the foundation of session management
#16 Write-Through vs Write-Behind Cache
MediumUnderstand consistency tradeoffs through implementation
#17 Count-Min Sketch
HardCount frequencies in data streams using constant memory
#18 Cache Stampede Prevention
HardMutex lock + probabilistic early expiry
#19 Two-Level Cache (L1 + L2)
MediumIn-memory hot cache + larger persistent cache
#20 Cache Eviction Policy Benchmark
MediumCompare FIFO, LRU, LFU - choose the right one for the job
#21 Memory Pool Allocator
ExpertCustom slab allocator - why databases avoid malloc
#22 Tier 2 Boss: ProductionCache
BossLRU + TTL + stampede prevention + telemetry in 50 lines
Tier 3
#23 Token Bucket Rate Limiter
MediumThe industry standard - Cloudflare, Stripe, AWS all use this
#24 Sliding Window Rate Limiter
HardPrecise rate limiting without fixed window boundary bugs
#25 Circuit Breaker
HardThe Netflix pattern - fail fast, recover gracefully
#26 Retry with Exponential Backoff
MediumHandle transient failures without overwhelming the service
#27 Thread-Safe Connection Pool
HardSemaphore-based DB connection pooling
#28 Caesar Cipher Codex
EasyBuild the ancient encryption that started it all
#29 Vigenere Vault
MediumThe unbreakable cipher (for 300 years)
#30 SHA-256 Sentinel
MediumImplement a cryptographic hash from scratch
#31 HMAC Guardian
MediumMessage authentication that prevents tampering
#32 JWT Journeyman
HardBuild JSON Web Tokens from scratch - no libraries
#33 Password Vault
MediumBcrypt, salting, and why MD5 passwords leak
#34 RSA Reckoning
HardImplement RSA key generation - the math of internet trust
#35 Tier 3 Boss: API Gateway
BossToken bucket + circuit breaker + retry in one class
Tier 4
#36 Symmetric Encryption (XOR)
EasyImplement the basic XOR cipher for symmetric encryption
#37 Diffie-Hellman Exchange
MediumCalculate shared secret key securely
#38 PBKDF2 Key Deriver
MediumDerive secure keys from user passwords
#39 Password Hashing with Salt
MediumBcrypt simulation - how passwords are actually stored
#40 SQL Injection Sanitizer
EasyEscape inputs to prevent SQL Injection attacks
#41 CORS Policy Validator
EasyVerify origin matching rules
#42 IP Rate Limiter
MediumSimple slide window rate limiting per IP
#43 JWT from Scratch
HardHeader.Payload.Signature - implement without libraries
#44 Secure Session Cookie
MediumPrevent session tampering using signed cookies
#45 CSRF Token Validator
MediumVerify anti-CSRF request tokens
#46 XSS Protection Filter
EasyHTML escape user inputs
#47 RBAC Access Control
MediumAccess control checker
#48 Tier 4 Boss: MiniAuthService
Bossbcrypt + JWT + HMAC API keys + token validation
Tier 5
#49 Vector Clocks
HardTrack causality in distributed systems
#50 Lamport Timestamps
MediumMaintain causality using Lamport Logical Clocks
#51 Consistent Hashing Ring
MediumAssign keys to nodes using hashing
#52 Bully Leader Election
MediumChoose the highest ID node as coordinator
#53 Write-Ahead Log (WAL)
HardHow databases survive crashes - log first, apply second
#54 Redlock Distributed Lock
HardAcquire consensus lock across replicas
#55 Two-Phase Commit (2PC)
HardCoordinate atomic transaction commits
#56 Quorum Reads & Writes
HardR + W > N - the math behind eventual consistency
#57 Raft Log Replication
HardReplicate log entries to cluster members
#58 Gossip Protocol
MediumSync node list statuses periodically
#59 MapReduce Coordinator
HardCoordinate word counts with Map and Reduce stages
#60 Tier 5 Boss: MiniDistributedKVStore
BossConsistent hashing + quorum + gossip + WAL in one
Tier 6
#61 Sort It Yourself
MediumMerge sort and quicksort - the two divide-and-conquer sorts everyone should be able to write
#62 Counting Sort & Radix Sort
EasySorting without ever comparing two elements
#63 Binary Search Tree from Scratch
MediumInsert, search, and delete - the three operations every BST needs
#64 Tree Traversal Toolkit
MediumPre-order, in-order, post-order, and level-order - and why each exists
#65 Trie from Scratch
MediumThe prefix tree behind every autocomplete box you've ever used
#66 Union-Find (Disjoint Set)
MediumTracking which things are connected, without ever redrawing the whole graph
#67 Tier 6 Boss: Search Engine Autocomplete
BossCombine what you've built into one ranked-suggestion engine
Tier 7
#68 Backtracking Basics: Subsets & Permutations
MediumChoose, explore, un-choose - the template behind every brute-force search
#69 N-Queens Solver
HardBacktracking with pruning - cutting off bad branches before you fully explore them
#70 1D Dynamic Programming
MediumBottom-up tabulation, from climbing stairs to coin change
#71 2D Dynamic Programming
HardGrid-shaped subproblems - longest common subsequence and knapsack
#72 Greedy Algorithms
MediumWhen the locally-best choice is also the globally-best one
#73 Graph Representations & BFS/DFS
MediumRepresenting relationships, and visiting every node exactly once
#74 Dijkstra's Shortest Path
HardFinding the cheapest route through a weighted graph
#75 Topological Sort & Cycle Detection
MediumOrdering tasks so every dependency comes before what depends on it
#76 Tier 7 Boss: RouteOptimizer
BossShortest paths and budget-constrained reachability, in one delivery-routing engine