记录一次 字节跳动外包 前端面试的 旁听
这个面试官问的题目比较开放,首先是自我介绍(一定要注意礼仪哦,工作年限,技术栈,最近写的项目,注意重点)
1.首先问了在项目中的难点,遇到的坑
(看你的思维逻辑,自学能力,会不会利用资源去找解决方案)
2.通过你的简历问一些基础的问题 像vue3的 hooks、组合式Api ......
以上的问题问得差不多就进入了在线笔试环节
3.不确定参数个数求和(ES6语法)(面试官就喜欢问新技术)
sum(...arr){
let result = arr.reduce((t,c)=>{
return t+=c
})
},
sum(1,3,5,8)
4.第二个笔记题是写sleep 延时执行
sleep(time){
return new Promise(res=>{
setTimeout(()=>{
res('22222222222')
},time)
})
},
外层有async
console.log(1111111111)
await this.sleep(2000).then(res=>{
console.log(res)
})
console.log(3333333333)
5.五次执行有成功返回成功,五次失败返回失败
test(){
return new Promise((resolve,reject)=>{
let errorTime = 0
let randomNum = 0
let resultBool = false
const logic = () =>{
console.log('***********')
return new Promise((res)=>{
randomNum = Math.floor(Math.random()*5)
if(randomNum < 4){
errorTime++
res(false)
}else{
resultBool = true
resolve(errorTime)
}
})
}
while(!resultBool && errorTime < 5){
logic().then(innerRes=>{
resultBool = innerRes
})
}
if(!resultBool && errorTime === 5){
reject(`5次失败-----${randomNum}`)
}
})
},
this.test().then((res)=>{
console.log(`第${res+1}次是成功`,'@@@@@@@@@')
}).catch(err=>{
console.log(err,'#########')
})

浙公网安备 33010602011771号