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,300 challenges matching your filters
- Multiple ChoiceBeginner
[C Language] Bit fields Composite data type
qaccqa - Multiple ChoiceBeginner
[C Language] Flexible array Composite data type
qaccqa - Multiple ChoiceBeginner
[CI/CD] Stages Automated workflow steps
qacicdcicdqa - Multiple ChoiceBeginner
[CI/CD] Triggers Automated workflow steps
qacicdcicdqa - Multiple ChoiceBeginner
[CI/CD] YAML config Automated workflow steps
qacicdcicdqa - Multiple ChoiceBeginner
[CI/CD] Artifacts Automated workflow steps
qacicdcicdqa - Multiple ChoiceBeginner
[CI/CD] CI vs CD Automated workflow steps
qacicdcicdqa - 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 - Multiple ChoiceBeginner
Purpose of std::enable_if in overload resolution
templatessfinaeenable_if - Multiple ChoiceBeginner
Structured bindings and reference semantics
structured-bindingsautoc++17 - Multiple ChoiceBeginner
std::optional value semantics on engagement
optionalc++17api - Multiple ChoiceBeginner
Laziness of range views in C++20 ranges
rangesviewslazy - Multiple ChoiceBeginner
Why a base class needs a virtual destructor
virtual-destructorpolymorphismub - Multiple ChoiceBeginner
Rule of zero rationale for resource classes
rule-of-zeroraiismart-pointers - Multiple ChoiceBeginner
RAII core idea for exception safety
raiiexception-safetylifetime - Multiple ChoiceBeginner
Which smart pointer for exclusive ownership
unique-ptrownershipsmart-pointers - Multiple ChoiceBeginner
What happens on a noexcept function throwing
noexceptexceptionsterminate - Multiple ChoiceBeginner
nullptr versus NULL type safety
nullptrapitype-safety - Multiple ChoiceBeginner
memory_order_relaxed visibility
atomicsmemory-modelrelaxed - Multiple ChoiceBeginner
hardware_destructive_interference_size purpose
cache-lineC++17false-sharing - Multiple ChoiceBeginner
seqlock reader retry condition
seqlocksynchronizationreader-writer - Multiple ChoiceBeginner
std::format return type
std::formatC++20strings - Multiple ChoiceBeginner
flat_map underlying storage
flat_mapC++23containers - Multiple ChoiceBeginner
std::midpoint overflow safety
midpointC++20numericoverflow - Multiple ChoiceBeginner
std::assume contract semantics
assumeC++23optimization - Multiple ChoiceBeginner
span first subview
spanC++20ranges - Multiple ChoiceBeginner
initializer_list lifetime trap
initializer-listlifetimedangling - Multiple ChoiceBeginner
bitset count expression
bitsetpopcountC++20 - Multiple ChoiceBeginner
jthread RAII and Auto-join
jthreadraiicpp20
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.