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