字节前端一面面经

  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-23 11:29
双向绑定要写到什么哪种程度。。全写完吗。。。
点赞 回复 分享
发布于 2021-06-16 20:41

相关推荐

强大的马里奥:不太可能,我校计算机硕士就业率99%
点赞 评论 收藏
分享
05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
3
63
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务