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
38 challenges matching your filters
Clear topic filter- Code AnalysisHard
Dangling string_view from temporary
cppstring_viewdanglingcode-analysis - Code AnalysisHard
Pessimizing std::move on return
cppmove-semanticsrvoanti-pattern - Code AnalysisHard
shared_ptr reference cycle
cppsmart-pointersshared_ptrmemory-leak - Code AnalysisHard
Cross-TU static init order
cppstatic-initodrundefined-behavior - Code AnalysisHard
Lifetime extension of temporary subobject binding
cppreferenceslifetimetemporary - Code AnalysisHard
Missing std::forward loses rvalueness
cpptemplatesperfect-forwardingstd-forward - Code AnalysisHard
Exception-unsafe member update
cppexception-safetycode-analysis - Code AnalysisHard
static_cast vs dynamic_cast downcast
cppcastingundefined-behaviorcode-analysis - Code AnalysisHard
Relaxed store publish bug
cppatomicsmemory-ordercode-analysis - Code AnalysisHard
initializer_list in emplace_back
cppstlemplacebraced-init - Code AnalysisHard
Self-deadlock non-recursive mutex
cppthreadingmutexdeadlock - Code AnalysisHard
Lifetime extension of returned-by-value ref
cppreferenceslifetimetemporary - Code AnalysisHard
Lambda in loop capturing by reference
cpplambdacapturegotcha - Code AnalysisHard
string_view elements dangle
cppstring_viewdanglinglifetime - Code AnalysisHard
Header function missing inline
cppodrinlinelinker - Code AnalysisHard
weak_ptr use_count check is racy
cppsmart-pointersweak_ptrthread-safety - Code AnalysisHard
Forwarding reference deduction
cpptemplatesforwarding-referencecode-analysis - Code AnalysisHard
decltype(auto) vs auto
cppautodecltypetype-deduction - Multiple ChoiceHard
Pass-by-value then move idiom
cppmove-semanticsparameter-passing - Multiple ChoiceHard
shared_ptr aliasing constructor
cppsmart-pointersshared_ptraliasing - Multiple ChoiceHard
enable_shared_from_this caveat
cppsmart-pointersenable_shared_from_this - Multiple ChoiceHard
const correctness of value params
cppconst-correctnessapi-design - Multiple ChoiceHard
Object slicing by value parameter
cppobject-slicingvirtualgotcha - Multiple ChoiceHard
final on class disables devirtualization?
cppvirtualfinaloptimization - Multiple ChoiceHard
SFINAE meaning
cpptemplatessfinae - Multiple ChoiceHard
Concepts vs SFINAE error quality
cppconceptstemplatesc++20 - Multiple ChoiceHard
Class template argument deduction
cpptemplatesctadc++17 - Multiple ChoiceHard
COW string status
cppstlstringcow - Multiple ChoiceHard
std::function type-erasure overhead
cppstd-functiontype-erasureperformance - Multiple ChoiceHard
variant visit return type & exhaustive
cppvariantvisitc++17 - Multiple ChoiceHard
string_view as function parameter
cppstring_viewlifetimeapi-design - Multiple ChoiceHard
Empty base optimization
cppsizeofempty-base-optimizationtemplates - Multiple ChoiceHard
Static initialization order fiasco
cppstatic-initodrinitialization - Multiple ChoiceHard
Construct on first use idiom
cppstatic-initsingletoninitialization - Multiple ChoiceHard
Virtual base construction order
cppvirtual-inheritancediamondconstruction - Multiple ChoiceHard
relaxed atomic does not synchronize
cppatomicsmemory-orderdata-race - Multiple ChoiceHard
acquire-release pairing
cppatomicsmemory-orderacquire-release - Multiple ChoiceHard
compare_exchange_weak vs strong
cppatomicscompare-exchangecas
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.