京东2面
2024.9.11,北京,一面是hr面
- 自我介绍
- 项目难点和解决
- 看代码写输出,有点问题 Promise里面不resolve,下面的会执行吗
const { log } = console
const async1 = async () => {
log('async1')
setTimeout(() => {
log('timer1')
}, 2000)
await new Promise(resolve => {
log('promise1')
})
log('async1 end')
return 'async1 success'
}
log('script start')
async1().then(res => log(res))
log('script end')
Promise.resolve(1)
.then(2)
.then(3)
.catch(4)
.then(res => log(res))
setTimeout(() => {
log('timer2')
}, 1000)
- 写一个倒计时,传3min,每s输出倒计时的时间,会有什么问题,会不准吗
const sleep = (time = 1000) =>
new Promise((resolve, reject) => {
setTimeout(() => {
resolve()
}, time)
})
const timeToString = time => {
const m = Math.floor(time / 60)
const s = time % 60
const strM = m < 10 ? `0${m}` : m.toString()
const strS = s < 10 ? `0${s}` : s.toString()
return `${strM}:${strS}`
}
const fn = async time => {
let timeS = time / 1000
while (timeS--) {
await sleep()
console.log(timeToString(timeS))
}
}
fn(60 * 1000 * 3)
- webworker是什么,做了什么
- 打包了解多少,esbuild为什么快,webpack和vite的区别
- 项目技术栈
