На последнем собеседовании засыпался на этом вопросе. Вроде, рассказал про 6 этапов Node.js и что в браузере очередь задач микрозадач выполняется после выполнения каждой макрозадачи, а в Node.js микрозадача будет выполняться между различными этапами цикла событий. А как вы бы ответили на этот вопрос?
И еще пытался найти примеры кода, которые работали бы по разному в браузере и ноде (из-за отличий в EventLoop)
setTimeout(()=>{
console.log('timer1')
Promise.resolve().then(function() {
console.log('promise1')
})
}, 0)
setTimeout(()=>{
console.log('timer2')
Promise.resolve().then(function() {
console.log('promise2')
})
}, 0)
но видимо это устаревшая информация, у меня в 16 ноде и в браузере исполняются одинаково timer1=>promise1=>timer2=>promise2