Write a short Node.js program with a synchronous log, an already-fulfilled promise, a timer, and an await. Before running it, mark each line as synchronous work, promise continuation, timer callback, or I/O completion.
Then add a CPU-heavy loop and predict which callbacks are delayed. Run the program in the same Node.js version and record the observed order; do not generalize an output ordering beyond the runtime guarantees that apply to that case.
The goal is to distinguish “the function is suspended” from “the code is running on another thread.” Use the Node.js documentation to check event-loop and worker-pool details.