背景描述: 今年三月初入职网易,近期因业务调整从网易离职,然后裸辞后就直接上了(周五离职,然后周六开始面,连续七天。。。),打算争取一下最后的直接转正机会。
最后结果:百度二面后收到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难度反正。。。