JavaScript & TypeScript
Explain the event loop and microtask queue.
What to cover: Cover call stack, task queue, microtask queue ordering, and real async examples.
How would you implement debounce from scratch?
What to cover: Demonstrate closure, timer management, and leading/trailing edge variants.
Difference between var, let, and const in terms of scope.
What to cover: Cover hoisting, temporal dead zone, block vs function scope, and reassignment rules.
How does the TypeScript type system handle structural typing?
What to cover: Explain duck typing, excess property checking, and assignability rules.