模拟题四
1. 左边宽度已知,右边自适应方案
2. 手写 Object.create
3. 作用域
谈下你的作用域的理解
考察点:作用域 js 的作用域是词法作用域,其特点是在那里定义它就作用在那里,与定义位置有关而与调用位置无关 作用域分为全局作用域、函数作用域、块级作用域 全局作用域顾名思义,全局中只有一个 函数作用域只作用于函数中,函数内的变量函数外不能调用。 块级作用域仅在 let、const 声明时才会形成 因为函数作用域的特点使得作用域有链状,即作用域链 作用域又有闭包的产生
3. 继承
考察点:继承 原型链继承、借用构造函数继承、组合继承、原型式继承(Object.create)、寄生式继承、寄生组合式继承
4. Class
Class 继承
5.setState 是同步的还是异步
代码是同步的,但是 setState 做批处理,当非原生事件和 setTimeout 等事件下,它的表现为异步。
什么事件可以触发异步,什么会触发同步
React17 更新
React18 更新
6.Redux 中间件机制
考察点:redux 核心逻辑
增强器 applyMiddleware 函数,装饰器模式
7.浏览器:如何定位内存泄露
https://febook.hzfe.org/awesome-interview/book3/browser-memory-leaks
内存泄露有哪些情况
最常见的情况就是异步任务的回调未清除或者定时器任务没有清楚,其他的还有DOM引用未清除等。
如何排查内存泄露
通过开发者工具中的
Performance
模块,可以对页面加载和执行流程进行录制,之后在录制快照里查看内存的使用情况。如果发现有内存异常,则可以进一步缩小排查范围,最终找到引发内存泄露的代码。
8.工程化:split code 代码分割的原理是什么
9.微前端有什么用
https://juejin.cn/post/7242623208841592869
10. 算法题:二叉树的前序遍历 ⭐
二叉树的前序、中序、后序遍历