分享
NodeJS 面试题 - 30题
输入“/”快速插入内容
NodeJS 面试题 - 30题
用户8691
用户8691
2025年9月18日修改
1. 什么是 Node.js?它的主要特点是什么?
参考答案:
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,让 JavaScript 可以在服务器端运行。
主要特点:
•
单线程事件循环
:基于事件驱动的非阻塞 I/O 模型
•
高并发
:适合处理大量并发连接
•
跨平台
:支持 Windows、Linux、macOS
•
NPM 生态
:拥有丰富的第三方模块
•
轻量高效
:内存占用小,启动速度快
2. 解释 Node.js 的事件循环机制
参考答案:
事件循环是 Node.js 处理非阻塞 I/O 操作的核心机制。
执行阶段:
1.
Timer 阶段
:执行 setTimeout 和 setInterval 回调
2.
Pending callbacks 阶段
:执行延迟到下一个循环的 I/O 回调
3.
Idle, prepare 阶段
:内部使用
4.
Poll 阶段
:获取新的 I/O 事件,执行相关回调
5.
Check 阶段
:执行 setImmediate 回调
6.
Close callbacks 阶段
:执行关闭事件回调
3. Node.js 中的模块系统是如何工作的?
参考答案:
Node.js 使用 CommonJS 模块系统:
代码块
JavaScript
// 导出模块
module.exports = {
name: 'example',
getValue: () => 'value'
};
// 或者
exports.name = 'example';
// 导入模块
const module = require('./module');
const { name } = require('./module');
模块加载过程:
1.
路径解析
:解析模块路径
2.
缓存检查
:检查模块缓存
3.
文件定位
:找到对应文件
4.
编译执行
:包装并执行模块代码
5.
缓存模块
:将模块缓存起来