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
150 challenges matching your filters
Clear topic filter- Multiple ChoiceBeginner
string_view dangling from temporary
cppstring_viewdanglingc++17 - Multiple ChoiceHard
string_view as function parameter
cppstring_viewlifetimeapi-design - Multiple ChoiceIntermediate
string_view not null-terminated
cppstring_viewc-apilifetime - Multiple ChoiceBeginner
sizeof with padding
cppalignmentsizeofpadding - Multiple ChoiceIntermediate
Member reordering changes sizeof
cppalignmentpaddingsizeof - Multiple ChoiceIntermediate
alignas effect
cppalignmentalignasfalse-sharing - Multiple ChoiceHard
Empty base optimization
cppsizeofempty-base-optimizationtemplates - Multiple ChoiceIntermediate
Member pointer size
cppsizeofpointer-to-memberabi - Multiple ChoiceBeginner
constexpr vs const
cppconstexprconst-correctness - Multiple ChoiceIntermediate
consteval vs constexpr
cppconstevalconstexprc++20 - Multiple ChoiceHard
Static initialization order fiasco
cppstatic-initodrinitialization - Multiple ChoiceBeginner
Function-local static init is thread-safe
cppstatic-initthread-safetysingleton - Multiple ChoiceHard
Construct on first use idiom
cppstatic-initsingletoninitialization - Multiple ChoiceIntermediate
Aggregate initialization rules
cppaggregate-initinitialization - Multiple ChoiceIntermediate
Narrowing conversion in braces
cppaggregate-initnarrowinginitialization - Multiple ChoiceIntermediate
inline function ODR exception
cppodrinlinelinker - Multiple ChoiceIntermediate
ODR violation no diagnostic
cppodrundefined-behaviorlinker - Multiple ChoiceIntermediate
inline variables C++17
cppinlineodrc++17 - Multiple ChoiceIntermediate
Template instantiation in TUs
cpptemplatesodrlinker - Multiple ChoiceIntermediate
extern template purpose
cpptemplatesextern-templatecompilation - Multiple ChoiceBeginner
operator<< as friend vs member
cppoperator-overloadingfriend - Multiple ChoiceIntermediate
CRTP static polymorphism
cppcrtptemplatesstatic-polymorphism - Multiple ChoiceIntermediate
Diamond inheritance ambiguity
cppdiamondvirtual-inheritance - Multiple ChoiceHard
Virtual base construction order
cppvirtual-inheritancediamondconstruction - Multiple ChoiceIntermediate
Non-member swap idiom
cppswapadloperator-overloading - Multiple ChoiceIntermediate
atomic default memory order
cppatomicsmemory-modelmemory-order - Multiple ChoiceHard
relaxed atomic does not synchronize
cppatomicsmemory-orderdata-race - Multiple ChoiceHard
acquire-release pairing
cppatomicsmemory-orderacquire-release - Multiple ChoiceBeginner
std::atomic<bool> vs volatile
cppatomicsvolatilememory-model - 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.