Advanced Node.js Interview QuestionsAdvancedCode Output
Node.js · Question 86
What is the output of nextTick vs setImmediate in Node.js?
Direct answer
Outside I/O: sync, nextTick, setImmediate — nextTick runs before the event loop continues to the check phase where setImmediate fires; inside an I/O callback, setImmediate often runs before setTimeout(0).
Two snippets cover top-level vs I/O callback context — interviewers may ask either variant (Q6, Q7).
nexttick-setimmediate-top.mjs
console.log("sync");
process.nextTick(() => console.log("nextTick"));
setImmediate(() => console.log("setImmediate"));
setTimeout(() => console.log("timeout"), 0);Output
sync nextTick timeout setImmediate
Note: timeout vs setImmediate order can vary slightly by Node version at top level — inside fs.readFile callback, setImmediate always runs before setTimeout(0).
nexttick-setimmediate-io.mjs
import fs from "node:fs";
fs.readFile(import.meta.url, () => {
console.log("readFile callback");
process.nextTick(() => console.log("nextTick"));
setImmediate(() => console.log("setImmediate"));
setTimeout(() => console.log("timeout"), 0);
});
console.log("sync");Output
sync readFile callback nextTick setImmediate timeout