About Interview核心问题

20 阅读1分钟
  1. 解决过的亮点、困难的问题?
  2. 了解浏览器的事件循环么?为什么js在浏览器中有事件循环的机制?
  • js是单线程的,要完成非阻塞的异步任务,就采用事件循环机制
  1. 宏任务 & 微任务,为什么一定要区分出来两种任务
  • 宏任务:setTimeout, setInterval, I/O操作
  • 微任务:Promise, MutationObserver
  • 任务队列先进先出,那么默认就没有优先级的划分,紧急任务有可能被阻塞,所以就引入了两种任务类型
  1. 浏览器的事件循环和node中的事件循环有什么区别
  • timer -> pending callback -> idle -> poll -> check -> close callback
  • 每执行完一个任务阶段,清空一次微任务队列
  1. 事件循环这里可能会看代码说结果