# 十三、挖财

# 1.工作收获

# 2.JS 的原型

# 3.变量作用域链

# 4.call、apply、bind 的区别

# 5.防抖和节流的区别

function throttle(fn,wait){
  var timer
  return function(){
    var context = this
    var args = arguments
    if(!timer){
      timer = setTimeout(()=>{
        timer =null
        fn.apply(this,args)
      },wait)
    }
  }
}
function debounce(){
  var timer
  return function(){
    var context =this
    var args = arguments
    clearTimerout(timer)
    timer = setTimeout(()=>{
      fn.apply(context,args)
    },wait)
  }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

# 6.介绍各种异步方案

# 7.react 生命周期

# 8.介绍 Fiber

# 9.前端性能优化

# 10.介绍 DOM 树对比

# 11.react 中的 key 的作用

# 12.如何设计状态树

# 13.介绍 css,xsrf

# 14.http 缓存控制

1.强制缓存 :命中就会从本地获取缓存资源,没有命中就会判断是否命中协商缓存 expires、cache-control 2.协商缓存:如果命中,服务器将请求返回但是不会返回资源,而是告诉客户端直接从缓存中获取 last-modified、if-modified-since、etag、if-none-match

# 15.项目中如何应用数据结构

# 16.native 提供了什么能力给 RN

# 17.如何做工程上的优化

# 18.shouldComponentUpdate 是为了解决什么问题

提高性能

# 19.如何解决 props 层级过深的问题

# 20.前端怎么做单元测试

# 21.webpack 生命周期

# 22.webpack 打包的整个过程

# 23.常用的 plugins

# 24.pm2 怎么做进程管理,进程挂掉怎么处理

# 25.不用 pm2 怎么做进程管理

上次更新: 2022/6/29 上午12:09:44