Challenge Library
Coding Challenges
5,893 curated questions across every arena — browse by topic, then jump into a live 3-minute battle to put them to the test.
Filter by type
Filter by difficulty
Popular topics
1,344 challenges matching your filters
- Multiple ChoiceHard
Lost update race
system-designconcurrencyconsistency - Multiple ChoiceHard
Optimistic vs pessimistic locking
system-designconcurrencydatabases - Multiple ChoiceHard
Tail-based sampling
system-designobservabilitytracing - Multiple ChoiceHard
Retry amplification
system-designavailabilityretry - Multiple ChoiceHard
Quorum without read repair
system-designquorumconsistency - Multiple ChoiceHard
Cache invalidation on write
system-designcachingcache-invalidation - Multiple ChoiceHard
LSM tree read amplification tradeoff
lsm-treestorage-engineread-amplification - Multiple ChoiceHard
Write skew under snapshot isolation
mvccwrite-skewisolation-levels - Multiple ChoiceHard
Raft safety vs Paxos roles
raftpaxosconsensus - Multiple ChoiceHard
Sliding window counter hybrid tradeoff
rate-limitingsliding-windowalgorithms - Multiple ChoiceHard
Distributed rate limiting consistency
rate-limitingdistributedconsistency - Multiple ChoiceHard
Fencing tokens for stale leaders
fencing-tokenssplit-brainleader-election - Multiple ChoiceHard
Redlock safety criticism
distributed-locksredlockclock-skew - Multiple ChoiceHard
OR-Set vs LWW register semantics
crdtor-setconflict-resolution - Multiple ChoiceHard
Cuckoo filter vs bloom filter trade-off
cuckoo-filterbloom-filterdeletion - Multiple ChoiceHard
t-digest for streaming percentiles
t-digestpercentilesstreaming - Multiple ChoiceHard
Tombstone accumulation in LSM
tombstoneslsmcompaction - Multiple ChoiceHard
HOT updates and indexed columns
postgreshot-updatesindexes - Multiple ChoiceHard
PgBouncer transaction vs session pooling
pgbouncerconnection-poolpostgres - Multiple ChoiceHard
Dual-write migration correctness
migrationdual-writeconsistency - Multiple ChoiceHard
Saga compensation ordering
sagacompensationorchestration - Multiple ChoiceHard
Ledger Immutability and Corrections
ledgerimmutabilitycorrections - Multiple ChoiceHard
Adaptive Bitrate Ladder Design
videoabrhls - Multiple ChoiceHard
Sharded Timers for Job Scheduler
schedulershardingtimers - Multiple ChoiceHard
Global and Per-Tenant Rate Limiting
rate-limitertenantdistributed - Multiple ChoiceHard
URL Shortener Hot Key Mitigation
url-shortenerhot-keycaching - Multiple ChoiceHard
[Testing] Playwright Test full user flows
qatestingtestingqa - Multiple ChoiceHard
[Testing] Page Object Model Test full user flows
qatestingtestingqa - Multiple ChoiceHard
[Testing] Visual testing Test full user flows
qatestingtestingqa - Multiple ChoiceHard
[Testing] Flaky tests Test full user flows
qatestingtestingqa - Multiple ChoiceHard
[Testing] CI integration Test full user flows
qatestingtestingqa - Multiple ChoiceHard
[TypeScript] ReturnType Extract types in conditionals
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Promise unwrap Extract types in conditionals
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Array element Extract types in conditionals
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Function param Extract types in conditionals
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Co-variance Extract types in conditionals
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] typeof Refine union types
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] instanceof Refine union types
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] in Refine union types
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] is predicate Refine union types
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] asserts Refine union types
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Partial<T> Built-in type transforms
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Required<T> Built-in type transforms
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Pick<T,K> Built-in type transforms
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Omit<T,K> Built-in type transforms
qatypescripttypescriptqa - Multiple ChoiceHard
[TypeScript] Record<K,V> Built-in type transforms
qatypescripttypescriptqa - Multiple ChoiceHard
[Webpack] Dynamic import Lazy load parts of app
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] SplitChunks Lazy load parts of app
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] Vendor bundle Lazy load parts of app
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] Prefetch Lazy load parts of app
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] Lazy routes Lazy load parts of app
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] ESM required Remove unused exports
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] Side effects flag Remove unused exports
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] Production mode Remove unused exports
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] CommonJS Remove unused exports
qawebpackwebpackqa - Multiple ChoiceHard
[Webpack] Lodash Remove unused exports
qawebpackwebpackqa - Code AnalysisHard
N+1 query in an ORM loop
system-designdatabasesn-plus-one - Code AnalysisHard
Cache stampede on expiry
system-designcachingstampede - Code AnalysisHard
Read-modify-write lost update
system-designconcurrencydatabases - Code AnalysisHard
Hot shard from a skewed key
system-designshardinghot-partition
Practice now, dominate the arena
Every challenge here is drawn from the live Code Royale pool. Review a question, then head to the arena to answer under pressure against a real opponent — 3-minute matches, Elo ranking, and badge tiers on the line.