What is the difference between synchronous and asynchronous callbacks?
Synchronous callbacks execute immediately within the function call flow, while asynchronous callbacks execute later, after the function has returned. Synchronous callbacks block the execution flow until they complete (examples include Array methods like map, filter, and reduce). Asynchronous callbacks don't block execution; instead, they're typically triggered by events, timers, or the completion of I/O operations (examples include setTimeout, event listeners, and fetch API callbacks). Understanding this distinction is crucial for writing efficient JavaScript code and avoiding performance bottlenecks.