記錄一次 位元組跳動外包 前端面試的 旁聽
阿新 • • 發佈:2021-12-23
這個面試官問的題目比較開放,首先是自我介紹(一定要注意禮儀哦,工作年限,技術棧,最近寫的專案,注意重點)
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,'#########')
})