面试问题
- 进程和线程什么区别
- 浏览器是如何渲染页面的
- V8是如何解析js的
- 什么是闭包,闭包原理,js的垃圾回收机制
- 异步的原理,js与内核之间的交互 √
- 深拷贝,浅拷贝区别,如何深拷贝,有什么问题 √
- cookie localstorage sessionstorage 区别
- nginx
- webpack
- 虚拟dom 及其实现原理 √
- 组件如何去区分 √
- npm 和 node 有什么区别和联系 √
- 箭头函数和普通函数的区别 √
这些问题在工作中有什么用呢
工作中的作用
- 闭包…
- 异步的原理
宏任务&微任务
js 是单线程的,主线程 同时只做一件事,是从一个任务队列里去取任务做
同步代码,先执行(同步代码就是已经开始干活的代码)
异步代码,后执行
promise 里的代码(未改变状态前)的代码是同步代码
promise then 会放到微任务队列里 (优先级最高 1)
setTimeout DOM渲染 rendering(异步任务)宏任务队列(次高级 2)
知道了异步的原理,可以在使用异步的时候能够写出更符合逻辑的代码
例如,同步大量计算的运算拆分优化
浅拷贝 是共享同一个内存区域,拷贝后的变量会影响到