字节前端一面面经

  1. vue通信方式
  2. 手写事件总线(发布——订阅)
    class EventEmitter {
      constructor() {
        // 事件对象,存放订阅的名字和事件
        this.events = {};
      }
      // 订阅事件的方法
      on(eventName,callback) {
        if (!this.events[eventName]) {
          // 注意数据,一个名字可以订阅多个事件函数
          this.events[eventName] = [callback];
        } else  {
          // 存在则push到指定数组的尾部保存
          this.events[eventName].push(callback)
        }
      }
      // 触发事件的方法
      emit(eventName) {
        // 遍历执行所有订阅的事件
        this.events[eventName] && this.events[eventName].forEach(cb => cb());
      }
    }


  3. 手写vue2双向绑定
  4. 手写观察者模式
  5. 简介装饰者模式
  6. 观察者模式和发布/订阅模式区别
  7. vue参数获取(www.baidu.com/?a=123,www.baidu.com/detail/123)
  8. react hooks
  9. Typescript 泛型  书写一个泛型函数,入参共两个,分别为指定 object
  10. 重绘与回流(display: none,visibility: hidden)
  11. http缓存,浏览器缓存
  12. 程序阅读
  13. setTimeout(_ => console.log(1))
    new Promise(resolve => {
      resolve()
      console.log(2)
    }).then(_ => {
      setTimeout(_ => console.log(3))
      console.log(4)
      Promise.resolve().then(_ => {
        console.log(5)
      }).then(_ => {
        Promise.resolve().then(_ => {
          console.log(6)
        })
      })
    })
    console.log(7)


#面经##字节跳动##实习##前端工程师#
全部评论
双向绑定要写到什么哪种程度。。全写完吗。。。
点赞 回复
分享
发布于 2021-06-16 20:41
请问楼主面的哪个部门
点赞 回复
分享
发布于 2021-06-23 11:29
联想
校招火热招聘中
官网直投

相关推荐

2 61 评论
分享
牛客网
牛客企业服务