滴滴前端秋招面经(一面过,拒)
2024年9月23日
投递
2024年9月26日
收到笔试链接,周六下午四点
2024年9月28日
赛码网,20道选择加两道编程题。
编程题看着难度很大,但实际只是题目长。第一题本来打算放弃的,但碰运气竟然蒙出来了。
两道都ac了。
2024年10月11日
收到面试时间预约,但只有12号的。就按这几场面试情况来看,我水平还不够,于是选了时间不合适,看看能不能延后了。
2024年10月22日
牛客上有hr找,我说自己上次面试推迟后就没消息了,请帮忙看看。虽然没回,但下午就收到了面试预约。好像还真有点用。
选在了明天下午两点。
2024年10月23日
下午两点面试。和我之前看的面经不一样啊。
- 自我介绍
- 实习介绍:我介绍了自己主要做的三块,以及目的
- 预览图的原理
- 类似于介绍项目难点
- 首屏优化:从url输入到内容展示的过程,以及针对此所做的
- react生命周期: 不够熟
- redux使用
- redux使用场景,这里我扯了些其他的状态管理,然后说redux更适合比较重的状态管理
- 渲染方式有考虑ssr或ssg吗?有考虑,但项目中后期再加难度比较大,但ssr的seo优化很好。所以部署了个开源服务,能够判断流量来源,如果是爬虫,那会用无头浏览器渲染出来。
- mysql,使用,orm
- redis
- 五道题
题一考察let,答错了
let $body = document.getElemnetById('body') let arr = [1,2,3,4,5] let i, length = arr.length, domA for (i = 0; i < length; i++) { domA = document.createElement(`<a>${i}</a> `) $body.append(domA) domA.click(function(){ alert(i) }) }
题二考察var,答错了
var a = 100 function create() { var a = 200 return function () { alert(a) } } var fn = create() fn() var a = 100 function invoke(fn) { var a = 200 fn() } function fn() { alert(a) } invoke(fn)
题三 css选择器
题四 折半比较
题五 实现深拷贝,我提供了两种写法,json的和递归
13.反问 q 注意到职业详情上着重突出了贵公司的开源的贡献,想进一步了解a 开源是为了共建
自己两道基础题没答上来,不过面试官挺好的,给出了解释。以为就这样结束了,没想到几分钟后约二面。我因为自己4点有事。和二面面试官说了下情况当天面试就结束了。
自己确实跟滴滴没啥缘分,好几次都是时间冲突,哈哈。
2024年10月30日
快3点hr打过来约面,想约在明天下午。我拒掉了,太累了也不想再面,就这样结束吧。