How does JS handle asynchronous code?
What's the difference between "synchronous" and "asynchronous" code? Why might synchronous code be called "blocking"?
What are the event loop and the call stack?
How do callbacks and promises help us?
How do different testing methodologies try to improve the way we write tests?
What is Test-Driven Development (TDD)? Can it help us write better code?
What is Behavior-Driven Development (BDD)? How do we translate user requirements into automated tests?
What is test coverage? Can this tell us about the quality of our tests?