Подумал что нужно рассказать как работает Nodejs внутри



В Nodejs у нас две главные состовные части: V8 и libuv.



Чем занимается V8:

У V8 есть что-то вроде конвейера с интерпретатором и конвейера с оптимизатором и компилятором. Интерпретатор генерирует байт-код, а оптимизатор выдаёт оптимизированный машинный код. Таким образом мы оптимизируем нагрузку



Чем занимается libuv:

Он занимается работой с операциями ввода-вывода, JS это только верхушка и он не может устраивать коммуникацию с возможностями системы (к примеру работы с файлами), поэтому как раз libuv дает эту возможность



Так же важно упомянуть что libuv как раз и дает в Nodejs работать с Event Loop, но там есть особенности. В Nodejs есть 8 фаз, то есть 8 групп событий разбиващихся на последовательное исполнение. Сейчас перечислю все фазы по порядку: nextTick, microtask, timers, pending callbacks, prepare, poll, check, close callback.



И последний момент для упоминания, это то что все операции крипто / чтения файлов попадают в thread pool для исполнения, так как они могут даже при асинхронном движении заблочить исполнение



🔥 Накидайте тут огней 🔥