全部学科
Python全栈
python
NodeJS全栈
nodejs
小程序首页

NodeJS事件驱动基础专题测试

22 题 30 分钟 难度:

考察知识点

知识模块题目数核心考点
事件循环机制5题核心特点、阶段组成、setTimeout/setImmediate顺序、微任务与宏任务、阻塞问题
EventEmitter4题基本使用、继承方式、监听器限制、内置应用
监听与触发事件3题on/once区别、emit返回值、监听器移除、执行顺序
异步回调4题Error-first模式、回调地狱、执行时机、解决方案
错误处理4题try-catch局限、uncaughtException、Promise错误、错误传播
1
单选题

Node.js事件循环的核心特点是什么?

A

多线程并发执行

B

单线程异步非阻塞

C

同步阻塞执行

D

进程池模式

2
单选题

在IO回调中,setTimeout和setImmediate的执行顺序是什么?

A

setTimeout总是先执行

B

setImmediate总是先执行

C

执行顺序不确定

D

按添加顺序执行

3
判断题

process.nextTick的回调会在当前事件循环阶段结束后立即执行,优先于setTimeout和setImmediate。

A

B

4
多选题

Node.js事件循环包含以下哪些主要阶段?

A

timers(定时器阶段)

B

poll(IO回调阶段)

C

check(setImmediate阶段)

D

close(关闭回调阶段)

5
单选题

Node.js中创建自定义事件发射器需要继承哪个类?

A

EventTarget

B

EventEmitter

C

Observable

D

Subject

6
判断题

EventEmitter默认单个事件最多注册10个监听器,超过限制会发出警告。

A

B

7
单选题

EventEmitter的on方法和once方法的主要区别是什么?

A

on只能触发一次

B

once只能触发一次

C

on立即触发事件

D

once不触发事件

8
判断题

emitter.emit()方法返回true表示有监听器执行,返回false表示没有监听器。

A

B

9
单选题

Node.js异步回调函数的第一个参数通常是什么?

A

返回数据

B

错误对象(Error-first模式)

C

状态码

D

配置对象

10
单选题

多层异步回调嵌套导致的代码难以维护问题,通常称为?

A

异步循环

B

回调地狱(Callback Hell)

C

同步阻塞

D

内存泄漏

11
判断题

异步回调函数不会立即执行,而是在异步操作完成后,由事件循环调度执行。

A

B

12
单选题

Node.js中try-catch语句无法捕获哪种类型的错误?

A

同步代码错误

B

异步回调中的错误

C

JSON解析错误

D

类型错误

13
判断题

Promise中未处理的拒绝会触发unhandledRejection事件,如果不处理会导致Node.js进程退出(Node.js v15+)。

A

B

14
填空题

EventEmitter常用方法: ______ 注册持久监听器; ______ 注册 ______ 监听器; ______ ______ 事件; ______________ ______ 监听器; _______________ 设置最大监听器数量(默认 ______ 个)。

15
判断题

CPU密集型同步操作会阻塞Node.js事件循环,导致其他异步操作延迟执行。

A

B

16
判断题

回调函数是Node.js处理异步操作的基本方式,它将后续操作封装为函数,在异步操作完成后执行。

A

B

17
多选题

Node.js哪些内置类继承了EventEmitter?

A

Stream流对象

B

HTTP Server

C

Socket连接

D

Process进程对象

E

File文件对象

18
单选题

移除EventEmitter上的事件监听器,应使用哪个方法?

A

emitter.off()

B

emitter.removeListener()

C

emitter.deleteListener()

D

emitter.clearListener()

19
多选题

解决回调地狱的方法包括哪些?

A

使用Promise替代回调

B

使用async/await语法

C

将回调拆分为独立函数

D

增加回调嵌套层级

E

使用工具库(如async.js)

20
判断题

setTimeout(callback, 0)设置的回调不会立即执行,而是在当前事件循环的timers阶段执行。

A

B

21
填空题

Node.js微任务包括 ____________________________ ,在 ______ 阶段末尾执行。宏任务包括 _________________________________ ,在 ______ 阶段执行。微任务 ______ 宏任务, ________ 优先于Promise.then。

22
判断题

EventEmitter监听器按注册顺序执行,先注册的监听器先执行。

A

B

← 上一个试卷 NodeJS事件循环与异步模型专题测试
下一个试卷 → NodeJS全局对象专题测试

📝 发现内容有误?点击此处直接编辑

想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库