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
52 challenges matching your filters
Clear topic filter- Code AnalysisBeginner
Returning reference to local
cppdanglingreferencescode-analysis - Code AnalysisBeginner
Iterator invalidation in vector loop
cppstlvectoriterator-invalidation - Code AnalysisBeginner
Slicing via by-value base parameter
cppobject-slicingvirtualcode-analysis - Code AnalysisBeginner
Move on const object copies
cppmove-semanticsconst-correctnessgotcha - Code AnalysisBeginner
remove vs erase semantics
cppalgorithmserase-removecode-analysis - Code AnalysisBeginner
unique_ptr copy attempt
cppsmart-pointersunique_ptrcode-analysis - Code AnalysisBeginner
Signed integer overflow
cppundefined-behaviorinteger-overflowcode-analysis - Code AnalysisBeginner
vector<bool> auto deduction
cppstlvector-boolauto - Code AnalysisBeginner
dynamic_cast requires polymorphic type
cppcastingrtticode-analysis - Code AnalysisBeginner
condition_variable wait predicate
cppthreadingcondition-variablespurious-wakeup - Code AnalysisBeginner
reserve prevents reallocation
cppstlvectorreserve - Code AnalysisBeginner
Missing return in non-void function
cppundefined-behaviorcode-analysis - Code AnalysisBeginner
operator[] inserts default element
cppstlmapoperator-subscript - Code AnalysisBeginner
map::at vs operator[] on missing
cppstlmapcode-analysis - Code AnalysisBeginner
unique_lock needed for condition_variable
cppthreadingcondition-variableunique-lock - Code AnalysisBeginner
sizeof empty class
cppsizeofcode-analysis - Code AnalysisBeginner
Lambda capturing loop var by value
cpplambdacapturecode-analysis - Code AnalysisBeginner
Copy-init from derived to base object
cppobject-slicingvirtualcode-analysis - Code AnalysisBeginner
Use after move of string
cppmove-semanticsmoved-fromcode-analysis - Code AnalysisBeginner
Returning data() pointer of local vector
cppdanglingstlvector - Multiple ChoiceBeginner
Value category of std::move result
cppvalue-categoriesmove-semantics - Multiple ChoiceBeginner
Returning a named local and NRVO
cpprvomove-semantics - Multiple ChoiceBeginner
Rule of Three triggers
cpprule-of-threeraii - Multiple ChoiceBeginner
Rule of Zero rationale
cpprule-of-zeroraii - Multiple ChoiceBeginner
Moved-from object guarantees
cppmove-semanticsmoved-from - Multiple ChoiceBeginner
make_shared single allocation
cppsmart-pointersmake_shared - Multiple ChoiceBeginner
unique_ptr is not copyable
cppsmart-pointersunique_ptr - Multiple ChoiceBeginner
weak_ptr lock pattern
cppsmart-pointersweak_ptrthread-safety - Multiple ChoiceBeginner
unique_ptr custom deleter size
cppsmart-pointersunique_ptrsizeof - Multiple ChoiceBeginner
Reference reseating
cppreferences - Multiple ChoiceBeginner
const member function mutability
cppconst-correctnessmutable - Multiple ChoiceBeginner
Pointer to const vs const pointer
cppconst-correctnesspointers - Multiple ChoiceBeginner
Virtual destructor necessity
cppvirtualdestructorundefined-behavior - Multiple ChoiceBeginner
override keyword purpose
cppvirtualoverride - Multiple ChoiceBeginner
Default argument vs virtual dispatch
cppvirtualdefault-argumentsgotcha - Multiple ChoiceBeginner
vector reallocation invalidates iterators
cppstlvectoriterator-invalidation - Multiple ChoiceBeginner
vector reserve and pointer stability
cppstlvectoriterator-invalidation - Multiple ChoiceBeginner
unordered_map rehash pointer stability
cppstlunordered_mapiterator-invalidation - Multiple ChoiceBeginner
deque memory layout
cppstldeque - Multiple ChoiceBeginner
string SSO
cppstlstringsso - Multiple ChoiceBeginner
Emplace_back vs push_back
cppstlvectoremplace - Multiple ChoiceBeginner
Exception guarantee levels
cppexception-safety - Multiple ChoiceBeginner
Lambda capture by reference risk
cpplambdacapturedangling - Multiple ChoiceBeginner
Init-capture move semantics
cpplambdainit-capturemove-semantics - Multiple ChoiceBeginner
mutable lambda capture
cpplambdamutable - Multiple ChoiceBeginner
variant valueless_by_exception
cppvariantexception-safetyc++17 - Multiple ChoiceBeginner
string_view dangling from temporary
cppstring_viewdanglingc++17 - Multiple ChoiceBeginner
sizeof with padding
cppalignmentsizeofpadding - Multiple ChoiceBeginner
constexpr vs const
cppconstexprconst-correctness - Multiple ChoiceBeginner
Function-local static init is thread-safe
cppstatic-initthread-safetysingleton - Multiple ChoiceBeginner
operator<< as friend vs member
cppoperator-overloadingfriend - Multiple ChoiceBeginner
std::atomic<bool> vs volatile
cppatomicsvolatilememory-model
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.