最近的面试(一)
首先说一下面试的经过和流程:
- 咱BOSS上投了简历,约定的时间我提前了二十分钟,硬生生让我在办公室外面等了二十分钟。果然,守时很重要(我指的是自己)。
- 进公司以后,先递简历给前台,然后换来一份笔试题。
- 笔试题做完之后,开始了技术面试。
废话不说了,开始笔试部分:
1、画一条0.5xp的线
{
border:1px silid #ccc;
transform:scaleY(.5);
}
2、使用递归,从1加到100
function add(num,start,max){
num += start;
start++;
if(start > max){
console.log(num)
return num
}else{
add(num,start,max)
}
}
add(0,1,100)// 0:累加结果 1:加到了几 100:最终加到100
3、防抖的实现代码
function debounce(fn,delay){
var timer;
return function(){
if(timer) clearTimeout(tiemr)
const args = arguments
timer = setTimeout(()=>{
fn.applay(this,args)
},delay)
}
}
// 节流和防抖主要运用的还是闭包,清除定时器的时刻,和绑定执行函数的this
4、vue的响应式原理(2.0和3.0)
这里简单说一下:
2.0:主要是Object.defineProperty,getter还有setter对属性劫持,结合发布-订阅模式实现响应式
3.0:主要区别就是使用proxy替代了上述的Object方法
接下来是技术的面问:
- 自我介绍
- 判断数据类型
- 原型链
- 原型继承
- 数组扁平化:从concat、reduce、flat几个方面说
- 数组去重
- 深拷贝思路
- promise.all的原理
我本身是初级前端,面问答的不怎么样。深知自己技术不够过关,还是要加强学习啊,希望看到文章的大佬帮忙指出错误。
唉,打工人不容易,年底的面试是真的少,有大佬内推一下没啊【手动滑稽】