京东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的区别
- 项目技术栈