El event loop ejecuta tu JavaScript en un solo hilo (single thread), por lo que cualquier cosa síncrona que tarde mucho lo bloquea — y mientras está bloqueado, Node no atiende ningún otro request, timer ni callback. El bloqueo casi siempre es trabajo ligado a la CPU (CPU-bound) o una API *Sync, nunca I/O asíncrono correctamente awaited.
