背景描述: 今年三月初入职网易,近期因业务调整从网易离职,然后裸辞后就直接上了(周五离职,然后周六开始面,连续七天。。。),打算争取一下最后的直接转正机会。

最后结果:百度二面后收到oc(此时距离裸辞5天);字节正常流程三面+hr,收到offer(此时距离裸辞10天),决定入职;阿里走完技术面(共四轮技术面),看反馈是交叉面已经过了,等待hr面

其中基本没有特殊的面试题,都比较友好常规。

记不住具体的了,混一起说了。。。

js 方面

  • for of / for in 区别,for of原理,为什么引入迭代器,对象什么时候可以使用for of? symbol.iterator 返回的数据类型是什么?一般使用for in需要注意什么?为什么要用obj.hasOwnproperty?
  • promise用过么,一个特别麻烦的promise+setTimeout让把输出结果写出来。它解决了什么问题? es7引入的async的原理是什么?生成器函数的原理是什么?
  • js 的垃圾回收能说说么,为什么要分为旧生代和新生代。内存泄漏是怎么发生的?
  • 闭包是什么?它是怎么形成的,能从词法分析角度说说么?
  • new 绑定过程
Function.prototype.a = 1; 
Object.prototype.b = 2; 
function Test(){} 
let t = new Test(); 
t.a? t.b?
  • this 相关,输出结果是什么,为什么?
var obj = { 

  fn: function(){ 
       console.log(this) //this-> 
       return ()=>{ 
           console.log(this) // this-> 
           (function(){console.log(this)})(); //this->window 
           setTimeout(function(){console.log(this)},1);  //this-> 
       } 
  } 
} 

obj.fn()();
  • 词法分析相关,输出结果是什么,为什么?(其实这个变了好多次,从简单到难。。。)
var a = 1; 

(function(a){ 

     alert(a++); 
   let a = 2; 
})(a); 


alert(++a); 

//1,3; NAN,2; NAN,2; 1,2
  • let const var 区别,为什么下面代码不会报错?
const a = {};
a.b = 1;
  • symbol.iterator symbol.hasInstance, symbol.toPrimitive 的作用是什么?

css 问的确实不多

flex用的多么?flex-shrink flex-grow 是什么意思?

浏览器相关

  • 说说从输入url到页面出现经历了什么,越详细越好
  • csrf xss 分别是什么?
  • http缓存说一下
  • https的原理能不能说一下
  • 说说你知道的http状态码吧

vue相关

  • vue与react区别
  • vue变换侦测原理
  • vue为什么引入虚拟dom
  • vue 3.0 出现了什么新东西
  • vue虚拟dom与传统二叉树有什么区别
  • vue的key的作用是什么

算法题部分

  • [{id:1, name: 1, parent:1000}, {id:1, name: 1, parent:1000}]把它变成树形结构,要求o(n)复杂度

  • 手写 柯里化函数

  • 实现indexOf函数

  • 无重复字符的最长子串

  • 分发饼干

  • 想不起来了,都是easy&middle难度反正。。。