Node.js 资料收集区
五月君的面试题
如何分析 Node.js 中的内存泄漏
Node.js 的特点
I/O 和 CPU 完全分离, 实现非阻塞 I/O, 保证 Event loop 高效
async/await 异步中异常捕获的问题
问题: 在如下场景中 try/catch 是否能够成功捕获错误
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  | async function test() {
  // throw new Error('Test Error');
  return Promise.reject('Test Error');
}
async function handle() {
  try {
    // case 1:  能捕获
    const res = await test();
    return res;
    // case 2: 能捕获
    return await test();
    // case 3: 不能捕获
    return test();
  } catch (err) {
    console.log('成功捕获 Error', err.toString());
  }
}
handle()
  .then()
  .catch((err) => {
    console.log('未捕获到 Error', err.toString());
  });
  | 
结论: 在 try 中异步方法调用前有 await 就能捕获到错误
IO 多路复用
设计高并发系统?
多线程
- 原理: 多线程, 每个线程处理一个请求(RPC 框架很多这样实现的),
 - 问题: - 多线程存在上下文切换开销大的问题 - 多线程需要的内存资源比较多, 会有瓶颈
 
单线程
用单线程处理网络连接
怎么保证数据不丢失, DMA
用户态? 内核态?