SorryToPerson logo
返回
后端2026-04-15

后端面试题:Node.js 与 Express

总结 Node.js 运行机制、Express 框架、异步编程与错误处理的常见面试题。

后端面试题:Node.js 与 Express

1. Node.js 的单线程模型如何处理并发?

  • Node.js 通过事件循环(Event Loop)调度任务。
  • I/O 操作异步执行,避免阻塞主线程。
  • 适合高并发 I/O 密集型场景。

2. process.nextTicksetImmediate 有何区别?

  • process.nextTick 在当前阶段末尾优先执行。
  • setImmediate 在下一次事件循环迭代执行。
  • 两者调度顺序不同,影响微任务调度行为。

3. Express 中间件有哪些类型?

  • 应用级中间件。
  • 路由级中间件。
  • 错误处理中间件。
  • 第三方中间件。

4. 如何处理 Express 中的异常?

  • 通过 next(err) 交给错误处理中间件。
  • 对异步函数使用 try/catch 或封装错误处理。

5. 如何避免阻塞 Node.js 事件循环?

  • 避免 CPU 密集型操作。
  • 将大文件处理、复杂计算交给 Worker Threads。
  • 使用流(Streams)处理大数据。

6. Node.js 模块系统有哪几种?

  • CommonJS:requiremodule.exports
  • ES Module:import / export
  • CommonJS 在运行时加载,ESM 使用静态分析。

7. 如何在 Express 中实现安全防护?

  • 使用 helmet 设置安全头。
  • 验证输入参数,避免注入攻击。
  • 使用 cors 控制跨域访问。

8. 你会如何设计一个可扩展的 REST API?

  • 使用分层架构:路由、控制器、服务、数据层。
  • 避免逻辑耦合到路由处理函数中。
  • 添加统一异常处理和日志。
后端Node.jsExpress