滴滴秋储前端(已OC)
心里给自己定的规矩,过了来写个面经,投递部门是网约车技术部。中间题目可能有些会记不清了。面试的流程:6月7号投递简历 -> 6月11号笔试 -> 6月20号一面 -> 6月23号二面。跟牛客上的各位说的一样,面试体验很好,应该是大厂里面最舒服的了。
一面
- 自我介绍
- let、const和var的区别
- Object有几种遍历方式?Object.values()方法能遍历出来的属性?原型链上的行不行?不可枚举的行不行?
- 深浅拷贝的区别
- 介绍Promise(可以详细展开说,口头说一下Promise简单实现更好)
- 说说宏任务和微任务
- 输出题
setTimeout(() => { console.log('timer1') Promise.resolve().then(() => { console.log('promise1') Promise.resolve().then(() => { console.log('promise3') }) }) }, 0) setTimeout(() => { console.log('timer2') Promise.resolve().then(() => { console.log('promise2') }) }, 0) // timer1 // promise1 // promise3 // timer2 // promise2 // 输出宏任务队列之前会检查微任务队列并清空
8. 说一下http
9. http和https(我说了SSL/TLS对称加密和非对称加密,还有SSL在哪一层)
10. 说了个场景具体忘记了,具体问的就是http的队头阻塞是怎么解决的?
11. 好像还有几个网络问题,大厂前端还挺重视计算机网络的东西
12. Vue2和Vue3的区别
13. Vue双向数据绑定(问的Vue原理具体什么忘记了,我简历写了写过mini-vue我答了写源码的东西)
14. Tree-shaking原理?具体是怎么样实现删除未使用的导入的?(Vue区别那里我说了three-shaking)
15. Webpack相关的知识
16. Babel的原理(AST语法树,编译原理词法解析、语法解析那块,我这个答得没有很好)
17. 算法题: 给你一个数组Array,一个目标数Target,从Array中找到两个数相加等于Target。
18. 反问 一面时间是50分钟多一些,有些题目我有点忘记了可能不全,大家理解一下。总体面试感官还是很好的,刚开始有点紧张,可能有些东西一开始没理解到点上,面试官会开导,让你进入状态,体验很好。
二面
- 自我介绍
- 项目相关(因为项目是在学校实际使用了的,所以这块问多一些)
- 跨域相关
- cookie怎么跨域
- 浏览器发送请求前有一个预请求操作是因为什么?(问题记不太清楚了,我没遇到过,面试官说没事,学校可能遇不到这种情况,他就是想看看我能不能答上来。)
- 输出题
function Foo() { getName = function () { console.log('1'); }; return this; } Foo.getName = function () { console.log('2'); }; Foo.prototype.getName = function () { console.log('3'); }; var getName = function () { console.log('4'); }; function getName() { console.log(5); } Foo.getName(); //2 getName(); //4 Foo().getName(); // 1 getName(); //1 new Foo.getName(); // 2 new Foo().getName(); // 3 new new Foo().getName(); // 37. 反问
二面时间40分钟多一些,二面面试官主要考察的还是你的实际开发能力,项目都开发了什么功能,实际开发遇到的问题怎么解决,如果项目那块答得好,后面问的一些东西可能就会相对简单,因为一面通过就应该是已经认为你的基础能力达到了他们的用人标准,二面主要还是一些实际项目的东西。
offer是今天HR打电话来确认的,感谢滴滴给了这个机会吧,也感谢给我内推的姐姐。希望大家都能拿到自己心仪的offer~😀