# 微医 - 介绍JS数据类型,基本数据类型和引用数据类型的区别 - Array是Object类型吗 - 数据类型分别存在哪里 - var a = {name: "前端开发"}; var b = a; a = null 那么b输出什么 - var a = {b: 1} 存放在哪里 - var a = {b: {c: 1}} 存放在哪里 - 栈和堆的区别 - 垃圾回收时栈和堆的区别 - 数组里面有10万个数据,取第一个元素和第10万个元素的时间相差多少 - 栈和堆具体怎么存储 - 介绍闭包以及闭包为什么没清除 - 闭包的使用场景 - JS怎么实现异步 - 异步整个执行周期 - Promise的三种状态 - Async/Await怎么实现 - Promise和setTimeout执行先后的区别 - JS为什么要区分微任务和宏任务 - Promise构造函数是同步还是异步执行,then呢 - 发布-订阅和观察者模式的区别 - JS执行过程中分为哪些阶段 - 词法作用域和this的区别 - 平常是怎么做继承 - 深拷贝和浅拷贝 - loadsh深拷贝实现原理 - ES6中 let 块作用域是怎么实现的 - React中 setState 后发生了什么 - setState 为什么默认是异步 - setState 什么时候是同步的 - 为什么3大框架出现以后就出现很多native(RN)框架(虚拟DOM) - 虚拟DOM主要做了什么 - 虚拟DOM本身是什么(JS对象) - 304是什么 - 打包时Hash码是怎么生成的 - 随机值存在一样的情况,如何避免 - 使用webpack构建时有无做一些自定义操作 - webpack做了什么 - a,b两个按钮,点击aba,返回顺序可能是baa,如何保证是aba(Promise.then) - node 接口转发有无做什么优化 - node 起服务如何保证稳定性,平缓降级,重启等 - RN有没有做热加载 - RN遇到的兼容性问题 - RN如何实现一个原生的组件 - RN混原生和原生混RN有什么不同 - 什么是单页项目 - 遇到的复杂业务场景 - Promise.all实现原理