2024-8-15 滴滴一面 过

2024-8-15 滴滴一面 过

顺序和实际估计相差挺大

问题

  • 自我介绍
  • 项目主要负责什么,遇到的问题,如何解决
  • vue 数据响应式原理
    • vue3 Proxy
    • vue2 defineProperty
  • 为什么对数组原型链处理,怎么做的处理
  • 组件通信
  • 生命周期
  • script defer async
  • 跨域
  • 性能优化手段
  • 原生小程序和其他的优缺点,性能,原理
  • 讲输出
async function async1() {
console.log('async1 start')
await async2()
console.log('async1 end')
}
async function async2() {
console.log('async2')
}
console.log('script start')
setTimeout(function () {
console.log('setTimeout')
})
async1()
new Promise(function (resolve) {
console.log('promise1')
resolve()
}).then(function () {
console.log('promise2')
})
console.log('script end')
// 结果顺序

// hong
// 微任务
// log
// script start
// async1 start
// async2
// async1 end
// promise1
// script end
// promise2
// setTimeout
  • 实现 promise.all
Promise.prototype.myAll = function (promises) {
return new Promise((resolve, reject) => {
let allRes = []
let num = 0
for (let p of promises) {
p.then(res => {
allRes.push(res)
num++
if (num === promises.length) {
resolve(allRes)
}
}).catch(err => {
reject(err)
})
}
})
}

反问

  • 工作强度
    • 10 ~ 8/9
  • 负责的内容
    • app,可能有 rn 之类的内嵌进去

总结

实习真没时间准备面试,感觉很多还是需要像八股一样突击的 😌