京东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的区别
  • 项目技术栈
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务