首页 > 笔经面经 > 字节前端一面面经

字节前端一面面经

头像
陈星201909192329959
编辑于 2021-06-16 16:40:19 APP内打开
赞 1 | 收藏 47 | 回复3 | 浏览3012
  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)


更多模拟面试

3条回帖

回帖
加载中...
话题 回帖

推荐话题

相关热帖

笔经面经近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐