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
2,019 challenges matching your filters
- Multiple ChoiceIntermediate
[CI/CD] jobs/runner GitHub's CI/CD
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] actions/checkout GitHub's CI/CD
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] Secrets GitHub's CI/CD
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] Matrix strategy GitHub's CI/CD
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] Unit first Automated quality gates
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] Integration Automated quality gates
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] E2E Automated quality gates
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] Flaky handling Automated quality gates
qacicdcicdqa - Multiple ChoiceIntermediate
[CI/CD] Coverage reports Automated quality gates
qacicdcicdqa - Multiple ChoiceIntermediate
std::move in return statement pessimizes
cpprvomove-semanticsanti-pattern - Multiple ChoiceIntermediate
Declared move ctor disables implicit copy
cpprule-of-fivespecial-member-functions - Multiple ChoiceIntermediate
make_shared weak_ptr memory retention
cppsmart-pointersmake_sharedweak_ptr - Multiple ChoiceIntermediate
shared_ptr cycle leak
cppsmart-pointersshared_ptrweak_ptr - Multiple ChoiceIntermediate
shared_ptr thread safety scope
cppsmart-pointersthread-safetyshared_ptr - Multiple ChoiceIntermediate
const and the trailing return / APIs
cppconst-correctnessapi-design - Multiple ChoiceIntermediate
Top-level const in function parameters
cppconst-correctnessfunction-types - Multiple ChoiceIntermediate
vtable pointer location
cppvtableabi - Multiple ChoiceIntermediate
Calling virtual from constructor
cppvirtualconstructiongotcha - Multiple ChoiceIntermediate
void_t detection idiom
cpptemplatessfinaevoid_t - Multiple ChoiceIntermediate
Two-phase name lookup
cpptemplatestwo-phase-lookuptypename - Multiple ChoiceIntermediate
Dependent base member access
cpptemplatesdependent-nametwo-phase-lookup - Multiple ChoiceIntermediate
map insert hint with end()
cppstlmaphint - Multiple ChoiceIntermediate
vector<bool> proxy reference
cppstlvector-boolproxy - Multiple ChoiceIntermediate
Strong guarantee via copy-and-swap
cppexception-safetycopy-and-swap - Multiple ChoiceIntermediate
noexcept effect on move_if_noexcept
cppexception-safetyvectornoexcept - Multiple ChoiceIntermediate
Throwing from a noexcept function
cppnoexceptexception-safety - Multiple ChoiceIntermediate
Destructors are implicitly noexcept
cppnoexceptdestructorexception-safety - Multiple ChoiceIntermediate
Stateless lambda to function pointer
cpplambdafunction-pointer - Multiple ChoiceIntermediate
Generic lambda and auto capture
cpplambdageneric-lambdac++14 - Multiple ChoiceIntermediate
optional value access errors
cppoptionalstl - Multiple ChoiceIntermediate
any heap allocation properties
cppanystlc++17 - Multiple ChoiceIntermediate
string_view not null-terminated
cppstring_viewc-apilifetime - Multiple ChoiceIntermediate
Member reordering changes sizeof
cppalignmentpaddingsizeof - Multiple ChoiceIntermediate
alignas effect
cppalignmentalignasfalse-sharing - Multiple ChoiceIntermediate
Member pointer size
cppsizeofpointer-to-memberabi - Multiple ChoiceIntermediate
consteval vs constexpr
cppconstevalconstexprc++20 - 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 ChoiceIntermediate
CRTP static polymorphism
cppcrtptemplatesstatic-polymorphism - Multiple ChoiceIntermediate
Diamond inheritance ambiguity
cppdiamondvirtual-inheritance - Multiple ChoiceIntermediate
Non-member swap idiom
cppswapadloperator-overloading - Multiple ChoiceIntermediate
atomic default memory order
cppatomicsmemory-modelmemory-order - Multiple ChoiceIntermediate
The immediate context rule in SFINAE
sfinaetemplatesoverload-resolution - Multiple ChoiceIntermediate
Requires-clause vs requires-expression with concepts
conceptsc++20requires - Multiple ChoiceIntermediate
decltype of a parenthesized id-expression
decltypelvaluetype-deduction - Multiple ChoiceIntermediate
How std::declval may be used in unevaluated context
declvalsfinaeunevaluated-context - Multiple ChoiceIntermediate
Accessing the wrong alternative in std::variant
variantexceptionsstd-get - Multiple ChoiceIntermediate
Iterator invalidation after unordered_map insert
unordered-mapiterator-invalidationrehash - Multiple ChoiceIntermediate
Why condition_variable wait needs a predicate loop
condition-variablespurious-wakeupconcurrency - Multiple ChoiceIntermediate
Why the Meyers singleton is thread-safe
singletonstatic-initthread-safety - Multiple ChoiceIntermediate
std::atomic double operations
atomicsfloating-point - Multiple ChoiceIntermediate
latch vs barrier reusability
synchronizationbarrierlatchC++20 - Multiple ChoiceIntermediate
counting_semaphore acquire
semaphoreC++20concurrency - Multiple ChoiceIntermediate
expected has_value check
std::expectedC++23error-handling - Multiple ChoiceIntermediate
to_chars result contract
to_charsC++17numeric
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.