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 ...
Pick a difficulty and question count to begin.
From promise chains to async/await, this quiz focuses on how JavaScript schedules work across the call stack, task queue, and microtask queue.
Each question has 4 options and there’s no timer, so you can reason through tricky execution-order scenarios without rushing.
Difficulty is mixed on purpose: you’ll see quick concept checks alongside deeper “predict the output” items that test real understanding.
Choose your question count and difficulty before starting to tailor the session—short for warm-ups, longer for thorough review.
Many bugs come from assuming promises behave like setTimeout, or from forgetting that microtasks run before the next macrotask.
- Confusing microtasks (Promise callbacks) with macrotasks (timers, I/O) - Forgetting that async functions return a Promise immediately - Misreading then/catch/finally chaining and return values - Assuming await “blocks” the thread instead of yielding to the event loop - Missing error propagation rules and unhandled rejection behavior n## Tips for improving fast
Aim to explain the scheduling step-by-step (stack → microtasks → macrotasks) rather than guessing the final output.
Replaying missed questions with a smaller question count is a great way to lock in the patterns that keep showing up in real projects.
What does a Promise represent in JavaScript?
What method is used to handle the fulfillment of a Promise?
Which of the following is NOT a state of a Promise?
This quiz has 106 questions covering promises, async/await, and event loop behavior.
No. Every question is untimed, so you can work through execution order carefully.
Each question is multiple-choice with 4 options.
Yes. You can select your preferred question count and difficulty before you start.
Expect microtasks vs macrotasks, promise chaining, async/await semantics, and common error-handling pitfalls.

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.

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 usage, and wrapper functions. Pick your question count and difficulty to match your comfort level, then learn from each explanation as you go.
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.