這個面試官問的題目比較開放,首先是自我介紹(一定要注意禮儀哦,工作年限,技術棧,最近寫的項目,注意重點)
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,'#########')
})
