前端进阶之旅前端进阶之旅
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
  • 基础篇HTML/CSS/JS 打底
  • 进阶篇原理与工程化
  • 高频篇面试最常问的那批
  • 精选篇按模块收敛的总结
  • 手写篇常考代码手写实现
  • 面经篇真实面试问题复盘
  • AI 篇NEWAI 时代的前端考点
  • 历年面经NEW按年份追踪真实考点
  • 每日一题每天一道,攒手感
  • 专项自测100 题快速查漏
  • 小程序题库小程序专项刷题
  • 算法题库NEW在线编码即时判题
  • 知识卡片NEW碎片时间过考点
  • 面试题大全常见问题解析
  • AI 答疑NEW随时提问,即时解析
  • AI 模拟面试NEW模拟真实面试 + 报告
  • AI 定制路线NEW按你的简历现排
  • AI 知识地图NEW串起全站知识点
  • 原理篇React / Vue 源码拆解
  • HTTP从报文一路讲到 HTTPS
  • 浏览器渲染、事件循环、进程
  • 计算机基础Linux、网络、操作系统
  • 设计模式23 种模式怎么用
  • Node学习指南从环境搭建到服务端
  • NPM工作流script、依赖与发布
  • Docker容器化部署上手
  • Canvas图形与动画实战
  • 前端系统进阶学习大型项目工程化
  • 前端综合文章长期沉淀的实践文
  • 思维导图知识点全景图
  • 学习路线按图索骥不跑偏
  • AI 热点NEWAI 每日动态
  • 公众号动态公众号历史文章
  • 博客动态站长的技术博客
  • 开发者导航常用工具与文档站
首页程序员面试题库Node.js · 异步编程面试题
面试知识索引 · 分类、标签与搜索

Node.js · 异步编程面试题,38 道完整答案

Node.js · 异步编程面试题第 1 页,显示第 1–38 题,共找到 38 道完整解析,可继续按分类、标签与关键词缩小范围。

38筛选结果
52技术分类
178检索标签
1索引分页
按分类建立知识面,再用标签和搜索定位问题

每页只渲染 50 道题。分类与标签分页可抓取,自由搜索结果不会制造无限 SEO 页面。

快速定位

分类、标签与关键词搜索

清除全部筛选
题库检索
技术分类52 个
全部分类5000Node.js217AI Agent511浏览器301JavaScript285React281AI 开发262CSS240TypeScript206Vue180前端工程化138React Native135
查看全部 52 个分类
操作系统135数据库134Docker95计算机网络94API 设计90Kubernetes90HTML89Redis89全栈开发88分布式系统88系统设计86HTTP85Next.js60Angular58Linux53Nuxt51PostgreSQL46可观测性46设计模式46小程序45身份与权限45无障碍44MongoDB43PWA43Web 安全43Git42前端测试42前端性能41WebAssembly40测试40AI 工程37SvelteKit37Go35前端数据管理30React Router29AI 全栈28Svelte27算法12Java10数据结构5前端手写题3
Node.js 标签22 个
全部标签异步编程38并发编程61流与二进制47模块与工具链45服务端工程42进程与线程42运行时与调度41流处理32HTTP18事件循环18安全11性能优化6缓存6可观测性4实时通信4
查看其余 7 个标签
测试4CI/CD2容器化2网络协议2路由2Agent 记忆1构建工具1
当前页01 / 1

正在显示第 1–38 题

Node.js38
第 1 页

本页面试问题

按稳定语义路径排序

  1. 0001
    Node.js进程与线程

    spawn 找不到命令时为什么触发 error,try/catch 能接住吗?

    区分 spawn 的参数校验异常、异步启动失败和程序非零退出,解释 ENOENT 的命令与 cwd 来源,并用 Promise 包装示例展示及时监听 error 以及只结算一次的调用接口。

    核心关键词spawn ENOENT error 事件
    #进程与线程#异步编程#并发编程
  2. 0002
    Node.js进程与线程

    Node.js 的 spawn 与 exec 有什么区别,怎么选择?

    从 shell 解析、参数传递、输出消费和进程生命周期比较 spawn 与 exec,说明 execFile 的位置、大输出与长任务的选择,以及异步创建进程为什么仍需要处理背压和错误。

    核心关键词child_process spawn exec 区别
    #进程与线程#异步编程#流处理
  3. 0003
    Node.js进程与线程

    在 Worker 线程中 AsyncLocalStorage 等异步上下文能否跨线程传递?

    围绕“在 Worker 线程中 AsyncLocalStorage 等异步上下文能否跨线程传递”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出每个 Worker 有独立事件循环与上下文、跨线程传递需显式携带数据。

    核心关键词worker_threads AsyncLocalStorage 上下文
    #进程与线程#异步编程#事件循环
  4. 0004
    Node.js进程与线程

    worker.terminate() 的语义是什么,调用后还能复用该 Worker 吗?

    围绕“worker.terminate() 的语义是什么,调用后还能复用该 Worker 吗”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须答出 terminate 强制结束线程返回 Promise、Worker 不可复用需重建。

    核心关键词worker terminate 终止 复用
    #进程与线程#异步编程#并发编程
  5. 0005
    Node.js运行时与调度

    Node.js 的 CPU 密集任务应该切片、用 Worker,还是交给独立进程?

    比较同线程切片、工作线程、独立进程和外部作业的适用边界,说明数据传输、线程池、并发配额、取消和结果关联,避免把 async 或无限 fork 当作 CPU 优化。

    核心关键词Node.js CPU 密集任务 拆分 setImmediate worker_threads
    #运行时与调度#异步编程#并发编程
  6. 0006
    Node.js运行时与调度

    为什么在同一个 I/O 回调内 setImmediate 通常先于 setTimeout(0)?

    以 fs.readFile 回调为具体上下文比较 setImmediate 与零延时定时器,说明 poll 到 check 的关系、定时器阈值,以及同步注册、await 续体和自定义事件的区别。

    核心关键词I/O 回调内 setImmediate setTimeout 顺序
    #运行时与调度#异步编程
  7. 0007
    Node.js运行时与调度

    Node.js 事件循环有哪些阶段,Node 20 之后定时器位置有什么变化?

    按回调职责解释 timers、pending callbacks、idle/prepare、poll、check 和 close callbacks,说明 libuv 1.45 后的定时器调整,并区分阶段图、nextTick 和 Promise 微任务。

    核心关键词Node.js 事件循环阶段 timers poll check
    #运行时与调度#异步编程#事件循环
  8. 0008
    Node.js运行时与调度

    async_hooks 的 init、before、after、destroy 四个回调分别在异步资源生命周期的什么时候触发?

    围绕“async_hooks 的 init、before、after、destroy 四个回调分别在异步资源生命周期的什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须逐一说明四个钩子的触发点及 before/after 可能多次出现的原因。

    核心关键词async_hooks init before after destroy 时机
    #运行时与调度#异步编程
  9. 0009
    Node.js运行时与调度

    Node.js 的 async_hooks 模块能追踪什么,为什么它被标记为实验性但仍被广泛使用?

    围绕“Node.js 的 async_hooks 模块能追踪什么,为什么它被标记为实验性但仍被广泛使用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明它能给每个异步资源分配 asyncId 并触发 init/before/after/destroy 回调,及性能与稳定性代价。

    核心关键词async_hooks 用途 实验性 asyncId
    #运行时与调度#异步编程#性能优化
  10. 0010
    Node.js运行时与调度

    AsyncLocalStorage 如何在 Node.js 中实现跨异步调用的请求级上下文(如 traceId)传递?

    围绕“AsyncLocalStorage 如何在 Node.js 中实现跨异步调用的请求级上下文(如 traceId)传递”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 run 建立上下文、getStore 在后续异步回调中取值的机制。

    核心关键词AsyncLocalStorage 请求上下文 traceId 传递
    #运行时与调度#异步编程#可观测性
  11. 0011
    Node.js运行时与调度

    哪些写法会导致 AsyncLocalStorage 的上下文在 Node.js 中丢失,比如事件监听或连接池复用?

    围绕“哪些写法会导致 AsyncLocalStorage 的上下文在 Node.js 中丢失,比如事件监听或连接池复用”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出 emit 绑定的是 emit 时刻而非注册时刻上下文、资源复用导致串上下文等丢失场景。

    核心关键词AsyncLocalStorage 上下文丢失 EventEmitter 连接池
    #运行时与调度#异步编程
  12. 0012
    Node.js运行时与调度

    在 Node.js 里做请求上下文传递,为什么优先 AsyncLocalStorage 而不是第三方 cls 或 zone 方案?

    围绕“在 Node.js 里做请求上下文传递,为什么优先 AsyncLocalStorage 而不是第三方 cls 或 z”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须从官方维护、性能与对 async/await 的正确支持论证选型。

    核心关键词AsyncLocalStorage 对比 cls 请求上下文方案
    #运行时与调度#异步编程#性能优化
  13. 0013
    Node.js运行时与调度

    Node.js 的 AsyncResource 类解决什么问题,自定义异步资源(如手写队列)为什么要显式使用它?

    围绕“Node.js 的 AsyncResource 类解决什么问题,自定义异步资源(如手写队列)为什么要显式使用它”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明用户态异步抽象不会自动纳入 async_hooks 追踪需用 AsyncResource.runInAsyncScope 绑定。

    核心关键词AsyncResource 自定义异步资源 AsyncLocalStorage
    #运行时与调度#异步编程
  14. 0014
    Node.js运行时与调度

    Node.js 中 executionAsyncId 和 triggerAsyncId 分别代表什么,如何用它们还原异步调用因果链?

    围绕“Node.js 中 executionAsyncId 和 triggerAsyncId 分别代表什么,如何用它们还原”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分当前执行栈所属资源与触发创建该资源的资源,并说明因果链还原方式。

    核心关键词executionAsyncId triggerAsyncId 区别
    #运行时与调度#异步编程
  15. 0015
    Node.js运行时与调度

    Node.js EventEmitter 的 captureRejections 选项解决了异步监听器里的什么问题?

    围绕“Node.js EventEmitter 的 captureRejections 选项解决了异步监听器里的什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 async 监听器 rejection 默认变 unhandledRejection 而该选项自动转为 error 事件。

    核心关键词EventEmitter captureRejections 异步监听器 rejection
    #运行时与调度#异步编程
  16. 0016
    Node.js运行时与调度

    设计一个 Node.js 内部模块时,什么时候应该继承 EventEmitter 而不是直接回调或返回 Promise?

    围绕“设计一个 Node.js 内部模块时,什么时候应该继承 EventEmitter 而不是直接回调或返回 Promis”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按事件多次发生、多订阅者、生命周期事件的标准给出选择依据。

    核心关键词继承 EventEmitter 设计决策 回调 Promise 对比
    #运行时与调度#异步编程
  17. 0017
    Node.js运行时与调度

    Node.js 的 events.on() 把 EventEmitter 转成异步迭代器,适用于什么场景,背压如何处理?

    围绕“Node.js 的 events.on() 把 EventEmitter 转成异步迭代器,适用于什么场景,背压如何处”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明用 for await 消费事件的场景及内部缓冲与溢出行为。

    核心关键词events.on 异步迭代器 EventEmitter Node.js
    #运行时与调度#异步编程
  18. 0018
    Node.js运行时与调度

    Node.js 的 EventEmitter.emit 是同步还是异步派发?这对监听器里的异常有什么后果?

    围绕“Node.js 的 EventEmitter.emit 是同步还是异步派发?这对监听器里的异常有什么后果”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须明确 emit 同步按注册顺序调用监听器且未捕获异常会冒泡中断后续监听器。

    核心关键词EventEmitter emit 同步 监听器异常
    #运行时与调度#异步编程
  19. 0019
    Node.js运行时与调度

    Node.js 中 async 函数里 await 一个 Promise 后,后续代码作为什么类型的任务恢复执行?

    围绕“Node.js 中 async 函数里 await 一个 Promise 后,后续代码作为什么类型的任务恢复执行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 await 之后的续体以微任务形式排入队列及其对执行顺序的影响。

    核心关键词await 恢复执行 微任务 Node.js async
    #运行时与调度#异步编程
  20. 0020
    Node.js运行时与调度

    在 fs 回调等 I/O 回调里创建的 Promise.then 和 setImmediate 谁先执行?

    围绕“在 fs 回调等 I/O 回调里创建的 Promise.then 和 setImmediate 谁先执行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须利用 poll 阶段后先清空微任务再进入 check 的规则判断微任务先执行。

    核心关键词I/O 回调内 Promise setImmediate 执行顺序
    #运行时与调度#异步编程
  21. 0021
    Node.js运行时与调度

    Node.js 中 new Promise 的 executor 是同步还是异步执行,这对错误捕获有什么影响?

    围绕“Node.js 中 new Promise 的 executor 是同步还是异步执行,这对错误捕获有什么影响”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须明确 executor 同步执行且其抛错转为 rejection,区别于 then 回调的微任务时机。

    核心关键词Promise executor 同步执行 错误捕获 Node.js
    #运行时与调度#异步编程
  22. 0022
    Node.js运行时与调度

    在 Node.js 中嵌套的 Promise.then 链与多个并行 Promise 的回调按什么顺序交错执行?

    围绕“在 Node.js 中嵌套的 Promise.then 链与多个并行 Promise 的回调按什么顺序交错执行”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按 FIFO 队列逐次入队的规则推演链式与并行 then 的交错顺序。

    核心关键词Promise then 执行顺序 嵌套 微任务队列 Node.js
    #运行时与调度#异步编程
  23. 0023
    Node.js运行时与调度

    Node.js 的 queueMicrotask() 与 process.nextTick、Promise.resolve().then() 有什么语义差别?

    围绕“Node.js 的 queueMicrotask() 与 process.nextTick、Promise.reso”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较三者进入的队列及错误处理行为差异,说明 queueMicrotask 属标准微任务队列。

    核心关键词queueMicrotask process.nextTick 区别 Node.js
    #运行时与调度#异步编程
  24. 0024
    Node.js运行时与调度

    官方建议哪些场景使用 process.nextTick,例如保证回调总是异步的 API 设计?

    围绕“官方建议哪些场景使用 process.nextTick,例如保证回调总是异步的 API 设计”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出统一同步/异步回调时机、在事件派发前让调用者先绑监听器等官方场景。

    核心关键词process.nextTick 使用场景 回调异步化
    #运行时与调度#异步编程
  25. 0025
    Node.js运行时与调度

    process.nextTick 队列和 Promise 微任务队列都清空时谁先执行?为什么?

    围绕“process.nextTick 队列和 Promise 微任务队列都清空时谁先执行?为什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出 nextTick 队列优先于 Promise 微任务队列的结论并解释队列分离的实现。

    核心关键词process.nextTick Promise 微任务 执行顺序
    #运行时与调度#异步编程
  26. 0026
    Node.js模块与工具链

    CommonJS 从哪个 Node.js 版本可以 require ESM,为什么仍可能失败?

    区分 require ESM 的引入版本、默认启用和警告变化,解释同步模块图、间接顶层 await、返回命名空间与动态 import 的边界,避免只按 Node 大版本判断兼容性。

    核心关键词require ESM Node.js 22 synchronous ESM graph
    #模块与工具链#异步编程
  27. 0027
    Node.js模块与工具链

    在 Node.js ESM 中直接 import .wasm 文件需要满足什么条件?

    围绕“在 Node.js ESM 中直接 import .wasm 文件需要满足什么条件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明需要 --experimental-wasm-modules 标志及顶层 await 的配合。

    核心关键词Node.js WebAssembly modules experimental-wasm-modules
    #模块与工具链#异步编程#实时通信
  28. 0028
    Node.js服务端工程

    Node.js 的 domain 模块为什么被废弃,现在用什么机制做请求级错误上下文传播?

    围绕“Node.js 的 domain 模块为什么被废弃,现在用什么机制做请求级错误上下文传播”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须指出 domain 的缺陷及 AsyncLocalStorage/AsyncHooks 作为替代的定位。

    核心关键词Node.js domain 废弃 AsyncLocalStorage 替代
    #服务端工程#异步编程
  29. 0029
    Node.js服务端工程

    Node.js 服务进程退出码(0/1 及 process.exitCode 与 process.exit())应该如何规范使用?

    围绕“Node.js 服务进程退出码(0/1 及 process.exitCode 与 process.exit())应该”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明设置 exitCode 让事件循环自然排空优于立即 exit()(避免截断异步写)。

    核心关键词Node.js 退出码 exitCode 与 process.exit 规范
    #服务端工程#异步编程#事件循环
  30. 0030
    Node.js服务端工程

    在 Express 4 中如何为所有异步路由统一建立错误边界而不漏掉 Promise 拒绝?

    围绕“在 Express 4 中如何为所有异步路由统一建立错误边界而不漏掉 Promise 拒绝”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须给出包装函数或路由层统一 catch 转 next(err) 的模式及漏包后果。

    核心关键词Express 4 异步路由统一错误边界
    #服务端工程#路由#异步编程
  31. 0031
    Node.js服务端工程

    Express 的错误处理中间件为什么必须是四个参数,异步路由抛错为何不会自动进入它?

    围绕“Express 的错误处理中间件为什么必须是四个参数,异步路由抛错为何不会自动进入它”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按函数长度识别错误中间件及 Express 4 不捕获 Promise 拒绝的边界(注明版本)。

    核心关键词Express 错误中间件 四参数 异步错误捕获
    #服务端工程#路由#异步编程
  32. 0032
    Node.js服务端工程

    Node.js HTTP 监听失败的 EADDRINUSE、EACCES 应怎样处理?

    区分 listen 参数同步异常与异步 server error,解释 EADDRINUSE、EACCES 的启动处理、就绪状态、退出码及有限重试,提供能真实复现端口占用的验证步骤。

    核心关键词Node.js http server error 事件 EADDRINUSE 处理
    #服务端工程#异步编程#HTTP
  33. 0033
    Node.js服务端工程

    Node.js 的 unhandled-rejections 五种模式有什么区别?

    逐项解释未处理 Promise 拒绝的五种 Node.js 模式,区分 throw 与 strict 的事件顺序、警告与退出码,以及监听器对行为的影响,提供独立进程验证方法。

    核心关键词Node.js --unhandled-rejections 模式取值 生产选择
    #服务端工程#异步编程#并发编程
  34. 0034
    Node.js流与二进制

    为什么 for await 遍历 Node.js Readable 时提前 break 会自动销毁流,这替代不了哪种显式错误处理?

    围绕“为什么 for await 遍历 Node.js Readable 时提前 break 会自动销毁流,这替代不了哪种”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要说明异步迭代消费触发读并在提前退出时销毁流,但仍需捕获迭代抛出的上游错误。

    核心关键词Node.js readable for await break destroy
    #流与二进制#异步编程#流处理
  35. 0035
    Node.js流与二进制

    Node.js Writable 在 end 之后再 write 会触发什么错误,为什么不能靠 try/catch 捕获异步流错误?

    围绕“Node.js Writable 在 end 之后再 write 会触发什么错误,为什么不能靠 try/catch ”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要说明状态机拒绝 end 后写入并异步报 error,应用需监听 error 或用 promises API。

    核心关键词Node.js write after end ERR_STREAM_WRITE_AFTER_END
    #流与二进制#异步编程#流处理
  36. 0036
    Node.js流与二进制

    Node.js fs.createReadStream 打开失败时错误发生在哪一步,调用方如何避免把 open 错误当作数据错误重试?

    围绕“Node.js fs.createReadStream 打开失败时错误发生在哪一步,调用方如何避免把 open 错误”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要回答路径错误异步触发 error/close,pipeline 可统一捕获,重试策略需区分 ENOENT 与读中 EIO。

    核心关键词Node.js createReadStream open error ENOENT
    #流与二进制#异步编程
  37. 0037
    Node.js流与二进制

    Node.js stream/promises 的 pipeline 与 finished 相比事件回调写法解决了哪些收尾竞态?

    围绕“Node.js stream/promises 的 pipeline 与 finished 相比事件回调写法解决了哪”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要回答 Promise 化便于 await 完成或失败并统一清理,但仍不替代业务状态码处理。

    核心关键词Node.js stream promises pipeline finished
    #流与二进制#异步编程#HTTP
  38. 0038
    Node.js流与二进制

    Node.js Readable.from 把数组或异步迭代器转成流时,背压是否自动生效?

    围绕“Node.js Readable.from 把数组或异步迭代器转成流时,背压是否自动生效”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖要回答 Readable.from 按拉取节奏消费迭代器并支持对象模式,但仍受下游 write/drain 制约。

    核心关键词Node.js Readable.from async iterator 背压
    #流与二进制#异步编程#流处理
上一页
1
下一页
前端进阶之旅本地 Markdown 维护 · 服务端分页 · 完整内容对用户与搜索引擎一致