Untangle how Python finds names and keeps state across calls with this focused quiz on scopes, closures, and decorators. You’ll work through real-world patterns like nested functions, nonlocal/global ...
Pick a difficulty and question count to begin.
Scopes, closures, and decorators are where Python’s “it just works” can suddenly feel subtle. This quiz helps you build a reliable mental model for name resolution (LEGB), captured variables, and function-wrapping patterns.
Each question uses 4 options and there’s no timer, so you can reason carefully about execution order, bindings, and what actually gets evaluated.
Choose how many questions you want to answer before you start, and select an easier or harder difficulty if you want to focus your practice. The overall difficulty is balanced by mixing quick concept checks with code-reading items that require step-by-step tracing.
A common approach is to begin with a shorter run at Mixed difficulty, then repeat with a higher difficulty once you can predict outputs without guessing.
When you miss a question, rewrite the snippet in your head using explicit steps: define-time vs call-time behavior, which scope owns each name, and which object the decorator returns. With no timer and 4 options per question, treat each item like a mini-debugging session rather than a speed test.
What is the term for the area of the program where a variable is accessible?
Which keyword is used to declare a global variable in Python?
What type of function allows you to attach behavior to an existing function?
This quiz has 128 questions on Python scopes, closures, and decorators.
No. There’s no timer, so you can take your time reading code and reasoning about scope and bindings.
Each question is multiple-choice with 4 options.
Yes. Before starting, choose your question count and select a difficulty level; Mixed blends easy, medium, and harder items.
You’ll see LEGB lookup, global/nonlocal, closure capture, late binding, decorator patterns, and common wrapper mistakes.
Untangle JavaScript’s async behavior with questions on Promises, async/await, microtasks, and the event loop. You’ll practice predicting execution order, spotting subtle timing bugs, and choosing the right async pattern for real code. Pick your preferred question count and difficulty, then learn at your own pace with no timer.

Sharpen your understanding of Rust’s ownership model, borrowing rules, and lifetime annotations with practical, code-focused questions. You’ll work through common compiler errors, choose the safest fixes, and build intuition for how the borrow checker thinks. Pick your preferred difficulty and question count, then learn at your own pace with no timer.
Identify common cyber threats and the best defensive practices used to reduce risk. Covers phishing, malware, passwords, MFA, encryption basics, and safe browsing habits.
Test your knowledge of common programming syntax across popular languages. Questions focus on variables, loops, functions, and basic data structures without requiring deep computer science theory.
Check your understanding of how cloud services are delivered and used. Covers IaaS, PaaS, SaaS, containers vs VMs, regions/availability zones, and shared responsibility basics.
Match key PC components to what they do and how they affect performance. Covers CPU, GPU, RAM, storage types, motherboards, power supplies, and ports.