字节暑期实习二面面经前端
全程七十分钟
1.自我介绍
2.js数据类型?
3.为啥引用类型需要用栈和堆 基本类型只需要栈
4.看代码打印输出的一道题:
具体记不太清,复现一下大体.
var obj={ name:'tonny' } var b={ name:'tom' getelement()=>{ console.log(this.name) } } var a=b().getelement(); a()
5.面试官紧接上一题问,如果是箭头函数和普通函数,this的指向分别会指向什么会输出什么
6.看代码说输出,是关于promise的一道题
console.log(1) new promise(resolve){ console.log(2) setTimeout()=>{for(let i=0;i<9999;i++) { resolve(i) } console.log(3) } } .then{ console.log(4) } console.log(5)
7.面试官又问了为啥,
8.eventloop 事件循环解释一下?
9.手写一道编程题:涉及柯里化闭包之类的
题目简介:实现sum(),能够实现加功能,并且能够使用sum(x,y)和sum(x)(y)调用
附上我的代码:
function sum(){ if(argumengts.length==1){ const x=arguments[0] return function(y){ return x+y } }else{ let ans=0; for(let i=0;i<arguments.length;i++) { ans+=arguments[i] } return ans } }
11.手写题;判断数组是不是数组的方法
12.css盒模型的理解;
13.浅拷贝深拷贝解释一下
14.instanceof typeof 区别?intanceof 的实现原理简单说一下
15.var let const区别:
16.vue双向数据绑定原理
17.v-if v-show的区别:
18.是否了解react?
19.http https区别?
20.https加密过程:
21.反问环节
面试官小哥哥人超好!过程轻松,很有耐心~
希望对大家有所帮助。