滴滴一面 — 面试总结

973 阅读2分钟

滴滴出行一面面试经历

滴滴是和阿里同一天面的,阿里的面试总结点击这里,滴滴的面试官人也很好,很有耐心,大概面了一个多小时,其中有两道编程题,一道算法题。

面试题

你做的难度最大的项目是什么?

我: 就是我简历中写的第一个项目(个人记账)。

面试官:用到了那些技术?

我:前端:Vue3+TSX、VueRouter、Pinia、Vite、Vant、Faker.js

为什么用Vite呢,它和Webpack有什么区别?

我:打包速度更快,热更新更快,因为用到了ES Module的标准,动态打包加载模块,并用WebSocket推送到服浏览器。

为什么Vite的热更新比Webpack的热更新快

我:因为Vite的热更新是动态打包,采用了ES Module模块标准,当浏览器用到对应的模块时才会打包,并用WebSocket推送至浏览器。而Webpack会全部重新打包。(Webpack这一块我了解的不多,所以我就跟面试官说,关于Webpack了解的不是很多,就下一题了。。。。)

讲一下JS中的this

做一下以下的编程题,看一下console.log的结果

 let obj = {
dev: 'bfe',
a: function() {
  return this.dev
},
b() {
  return this.dev
},
c: () => {
  return this.dev
},
d: function() {
  return (() => {
    return this.dev
  })()
},
e: function() {
  return this.b()
},
f: function() {
  return this.b
},
}
console.log(obj.a())
console.log(obj.b())
console.log(obj.c())
console.log(obj.d())
console.log(obj.e()) 
console.log(obj.f()())
// bfe bfe undefined bfe bfe undefined

做完之后,面试官要求解释一下

React中的useMemo和useCallback的区别

他们的应用场景分别是什么

JS中的事件队列

编程题,看一下console.log会输出什么

console.log('1')
 
setTimeout(()=>{
    console.log('2')  
},0)
 
Promise.resolve().then((a)=>{
    console.log('3') 
})
 
new Promise((resolve)=>{
    console.log('4')
    resolve()
    console.log('5')
}).then(()=>{
    console.log('6') 
})

new Promise((resolve)=>{
    setTimeout(() => {
        resolve();
    }, 100); 
}).then(() => {
    console.log('7'); 
});

// 1  4 5   3 6  2 7

同样,做完之后,面试官要求解释。

你在React中使用Hooks遇到过什么bug

Cookie和localStorage、seesionStorage的区别

追问,怎么实现Cookie两个子域名之间共享

Get请求和Post请求的区别

我:幂等性······

面试官:复杂请求是过程是什么样的。

我:post请求之前会有一个options请求······。

怎么实现两个子域名之间的登录功能

  1. sessionID
  2. jwt放在cookie中

(刚开始我理解错了。。。以为是微服务那样的。。。一直以为是两个服务器,后面才发现面试官说的是两个子域名。)

怎么实现CORS跨域

追问 后端怎么设置响应头实现跨域

为什么使用zustand作为第三方状态管理库,而不是使用redux

算法题 返回二叉树最大深度

function maxDepth(root: TreeNode | null): number {
    if(root===null){
        return 0;
    }
    else{
        const rl :TreeNode=root.left;
        const rr :TreeNode=root.right;
        return Math.max(maxDepth(rl)+1,maxDepth(rr)+1)
    }
};

TS用的多吗?

能实习多久

能来北京实习吗?

总结

💡 💡 💡

这次的面试体验非常不错,跟面试官的互动很愉快,面试官的问题也是由浅入深,先问项目,再一点点拓展。面试题所涵盖的知识点也很多。对技术提升也很有帮助。