前端面试题201903

js基础

  • 事件循环(Event loop)和nodejs循环事件
  • bind实现
Function.prototype.newBind = function(target){
  var target = target || window;
  var self = this;
  var args = [].slice.call(arguments,1);
  return function(){
     var _args = [].slice.call(arguments,0);
     return  self.apply(target,args.concat(_args));
  }
}
// 继承原型上的属性和方法
Function.prototype.newBind = function(target){
   var target = target || window;
   var self = this;
   var args = [].slice.call(arguments,1);
   var temp = function(){};
   var F = function(){
      var _args = [].slice.call(arguments,0);
      return self.apply(this instanceof temp ? this : target , args.concat(_args));
   }
   temp.prototype = this.prototype;
   F.prototype = new temp;
   return F;
}
  • 类继承
  • new 做了哪些事情
  • this
  • 宏任务和微任务
  • Promise实现
  • 闭包
  • 用了哪些es6

vue

  • MVVM
  • 什么是虚拟dom
  • diff算法
  • 生命周期
  • 与react对比
  • 父组件与子组件之间传值
  • 怎么写一个弹框
  • 数据双向绑定原理

css

  • 居中
  • flex布局
  • 盒模型
  • BFC

网络

  • https
  • http2
  • 输入网址到页面的过程
  • 缓存

webpack

  • plugin,loader含义
  • webpack打包过程
  • 哪些优化

你可能感兴趣的:(前端面试题201903)