How do tasks, microtasks, and rendering tasks interact within the Event Loop?
How does JavaScript's prototype chain work and what are the implications for object creation and property access?
What types of declarations are hoisted and what issues might arise from hoisting?
Explain the behavior of let and const in relation to the Temporal Dead Zone.
Provide examples where JavaScript's type coercion might produce unexpected results and how to handle these cases.