字节跳动飞书文档--模拟题
wen 2021/5/13  面试题
# 模拟题1
- react setState 是同步还是异步
 - 什么是高阶组件,请举例说明
 - 解释一下原型链
 - instanceof 原理
 - apply 和 call 的作用及区别
 - position 有哪些值,作用分别是什么
 - 说下你对 DOM 树的理解
 - 重排和重绘是什么,有什么区别
 - https加密过程是怎样的
 - 实现 add(1)(2)(3)
 
# 模拟题2
- react 为什么需要合成事件
 - 为什么有时 react 两次 setState,只执行一次
 - redux 有哪些原则
 - es5 实现继承
 - 实现一个 promise
 - CSS 选择器有哪些
 - 说下事件模型
 - 如何减少白屏的时间
 - 3次握手过程
 - 判断链表是否有环
 
# 模拟题3
- react 合成事件是什么,和原生事件的区别
 - react 如何处理异常
 - 闭包的作用和原理
 - 0.1+0.2 为什么不等于 0.3
 - 什么是 BFC,BFC 有什么作用,如何形成 BFC
 - 浏览器缓存策略是怎样的
 - 你知道的前端性能优化手段有哪些
 - 前端模块化机制有哪些
 - http2.0 做了哪些改进
 - 求解平方根(二分查找:求解平方根)
 
# 模拟题4
- react 为什么需要 fiber
 - redux 中间件机制
 - bind 的实现
 - 说下 generator 原理
 - flex 布局有什么好处
 - 如何定位内存泄露
 - 渲染合成层是什么
 - babel 是什么,怎么做到的
 - http2.0 有哪些不足,http3.0 是什么
 - 实现一个发布订阅模式
 
# 模拟题5
- vue 的数据绑定机制是如何实现的
 - vue next tick 实现原理
 - 谈谈变量提升
 - new 操作符具体做了什么
 - 介绍下盒子模型
 - 有哪些方式可以使 div 居中
 - 有听过前端性能优化指标 RAIL 吗
 - 进程和线程的区别
 - tcp 滑动窗口是什么
 - 实现一个斐波那契数列
 
# 模拟题6
- vue 的 computed 和 watch 的区别
 - 说下 vue 的 keep alive
 - 什么是立即执行函数
 - 谈下事件循环机制
 - css 优先级是怎么计算的
 - CSS 相关的性能优化
 - 谈下 webpack loader 机制
 - 进程通信方式有哪些
 - 爬楼梯问题
 - 实现一个 trim 方法
 
# 模拟题7
- react fiber 有哪些优点,怎样做到的
 - 谈谈你对作用域的理解
 - 双飞冀/圣杯布局
 - 浮动元素会造成什么影响,如何清除浮动
 - 网站首页有大量的图片,加载很慢,如何去优化呢?
 - 描述下浏览器从输入网址到页面展现的整个过程
 - uglify 原理的是什么
 - tcp 重试机制
 - 层次遍历二叉树
 - 实现节流函数
 
# 模拟题8
- react 有哪些性能优化的点
 - v8 垃圾回收机制
 - CSS 样式隔离手段
 - 行内元素、块级元素有哪些,区别是什么
 - 聊下你知道的浏览器架构
 - 是否有写过 webpack 插件
 - websocket 建立过程
 - 合并二维有序数组成一维有序数组
 - 实现防抖函数
 - 最近看了什么书,有什么心得
 
# 模拟题9
- CSS3 有哪些新特性
 - 层叠上下文是什么
 - history 和 hash 两种路由方式的最大区别是什么?
 - 动画性能如何优化
 - tree shaking 是什么,有什么作用,原理是什么
 - webpack 工作流程是怎样的
 - 什么场景下会用策略模式
 - 找出数组中和为 sum 的 n 个数
 - 判断括号字符串是否有效
 - 平常的学习途径
 
# 模拟题10
- node 模块机制是怎样的
 - node require 具体实现是什么
 - node 事件循环与浏览器的哪些不一样
 - cluster 原理是怎样的
 - pipe 原理是怎样的
 - node 的异常处理方式
 - 适配器和外观模式的区别
 - 重构的手段有哪些
 - 数组去重
 - 你比较擅长哪一块,不足的地方在哪里
 
