滴滴前端面经-一二三面都有(已挂版)
14号一二面,15号三面,差不多一周后挂的,面经还是发出来吧,好像base北京还挂着前端的岗位,造福一下后来人
被挂后自己分析了下,可能还是有个别八股不熟悉,就像三面被问的那个,以及其实对实习的项目深挖的不够,还有就是运气也不咋地吧哈哈,被挂了emo了挺久,现在也释怀了,命运给我什么我就接受什么吧
【一面】
1.js单线程还是多线程?为什么被设计成为单线程语言?单线程不能充分利用cpu的并发能力,设计成多线程不好吗?(我回答可能就是多个线程同时操作一个dom元素导致浏览器不知道咋办)
2.既然这样,不可以加锁吗?(我回答可能跟浏览器调配各种进程资源的能力有关.......?)
3.听说过web worker吗?
4.和主线程最核心的区别?
5.所以js还是单线程语言吗?(面试官说最完整的描述应该是:操作跟dom有关的线程是单线程,但是为了解决CPU密集型任务,他可以通过web worker来解决,但这个worker线程和主线程有能力上的区别)
6.this指向输出题
7.事件循环输出题
8.能不能宏任务优先,微任务低优?
9.服务端渲染有什么好处吗?(ssr不是比csr更快,只是渲染在哪做,但是渲染的那块时间也不会少,并没有优化性能)
10.ssr为何有利于seo?
11.webpack五要素
12.loader和plugin的区别
13.什么叫树摇
14.让你实现一个plugin,必须实现哪个方法?
15.webpack声明周期
16.webpack在production的优化?(多线程,面试官说是在构建时的优化,应该答splitchunks)
17.splitchunks有哪些好处
18.vite比webpack快,最根本的点?(应该是答基于esm)
19.为什么vite开发不全量打包是为何?(面试官说是因为webpack那时候浏览器还没有esm模块化)
20.手撕无重复最长子串
【二面】
1.项目难点介绍
2.koa2的洋葱模型是为什么(代码层面)?
3.中间层维护?怎么确保中间层服务的稳定?(实习项目相关)
4.多个接口调用,怎么并发执行?(promise.all,描述如何实现)
5.怎么实现有最大请求数的并发控制?(异步调度器scheduler实现,手写)
6.promise的then是返回新的promise还是原来的?总是返回一个新的实例。
7.为什么promise的then/catch/finally可以链式调用?
8.then里面可以return this吗?
9.首屏可以有哪些优化手段?
10.懒加载组件怎么做?
11.打包完成之后是怎么懒加载的?浏览器请求下载这个单独的bundle的方式是什么?(不懂,这块不知道)
12.settimeout怎么理解?
13.webpack/vite热更新怎么做的?
14.react组件间通信
15.为何redux同步修改状态在reducer,异步操作在thunk中?(不知道,因为不可变更新吗)
16.react的diff算法?
【三面】
1.你参加的那些比赛分别做了什么?
2.研究方向是什么?
3.为什么选择那个公司实习?(不知道怎么回答)
4.讲一下小程序做的啥?
5.taro设计的dsl,到支付宝/微信小程序/h5的dsl有看过吗?怎么设计的(dsl啥意思不知道,下来查了才知道原来就是让我解释taro的编译型跨端原理orz)
6.请求层重构讲一下?(实习相关,重复请求拦截+支持主动取消请求)
7.业务层主动取消是在什么情况下?(实习项目相关用户操作触发了请求但是用户又很快退出这个页面了)
8.bff层做的什么?(实习项目相关)
9.接口编排具体指的什么?(实习项目相关)
10.bff用的什么启动?node还是express?或者pm2?
11.node启动有做什么维护稳定?(我答错了,不是指和grpc的连接那块怎么提供稳定服务,这里面试官问的是怎么保证中间层服务的稳定性)
12.做轻量化社交平台的契机?
13.选react18的原因?(我大概从18的提升上说的,并发渲染还有和ssr的结合)
14.在这个练习项目中,最大的收获?(验证自己的学习成果,提升技术掌握熟练度,以及接触一些新的技术比如nextjs、websocket)
15.耗时比较久的是哪块?
16.讲一下原型链
17.类之间的继承,原型发挥了什么作用?(没答好,直接说了子类继承父类的原型需要手动写,但下来查了这是es5之前的,有了原型es6之后就不用手动写,super的调用就包含了原型的继承)
18.事件循环讲讲?
19.对未来半年到一年的职业发展?
20.对自己的技术学习有什么规划?(我回答的跟业务深度契合的技术栈上深入学习)
21.抛开业务层面的话,想学习什么技术?
【一面】
1.js单线程还是多线程?为什么被设计成为单线程语言?单线程不能充分利用cpu的并发能力,设计成多线程不好吗?(我回答可能就是多个线程同时操作一个dom元素导致浏览器不知道咋办)
2.既然这样,不可以加锁吗?(我回答可能跟浏览器调配各种进程资源的能力有关.......?)
3.听说过web worker吗?
4.和主线程最核心的区别?
5.所以js还是单线程语言吗?(面试官说最完整的描述应该是:操作跟dom有关的线程是单线程,但是为了解决CPU密集型任务,他可以通过web worker来解决,但这个worker线程和主线程有能力上的区别)
6.this指向输出题
7.事件循环输出题
8.能不能宏任务优先,微任务低优?
9.服务端渲染有什么好处吗?(ssr不是比csr更快,只是渲染在哪做,但是渲染的那块时间也不会少,并没有优化性能)
10.ssr为何有利于seo?
11.webpack五要素
12.loader和plugin的区别
13.什么叫树摇
14.让你实现一个plugin,必须实现哪个方法?
15.webpack声明周期
16.webpack在production的优化?(多线程,面试官说是在构建时的优化,应该答splitchunks)
17.splitchunks有哪些好处
18.vite比webpack快,最根本的点?(应该是答基于esm)
19.为什么vite开发不全量打包是为何?(面试官说是因为webpack那时候浏览器还没有esm模块化)
20.手撕无重复最长子串
【二面】
1.项目难点介绍
2.koa2的洋葱模型是为什么(代码层面)?
3.中间层维护?怎么确保中间层服务的稳定?(实习项目相关)
4.多个接口调用,怎么并发执行?(promise.all,描述如何实现)
5.怎么实现有最大请求数的并发控制?(异步调度器scheduler实现,手写)
6.promise的then是返回新的promise还是原来的?总是返回一个新的实例。
7.为什么promise的then/catch/finally可以链式调用?
8.then里面可以return this吗?
9.首屏可以有哪些优化手段?
10.懒加载组件怎么做?
11.打包完成之后是怎么懒加载的?浏览器请求下载这个单独的bundle的方式是什么?(不懂,这块不知道)
12.settimeout怎么理解?
13.webpack/vite热更新怎么做的?
14.react组件间通信
15.为何redux同步修改状态在reducer,异步操作在thunk中?(不知道,因为不可变更新吗)
16.react的diff算法?
【三面】
1.你参加的那些比赛分别做了什么?
2.研究方向是什么?
3.为什么选择那个公司实习?(不知道怎么回答)
4.讲一下小程序做的啥?
5.taro设计的dsl,到支付宝/微信小程序/h5的dsl有看过吗?怎么设计的(dsl啥意思不知道,下来查了才知道原来就是让我解释taro的编译型跨端原理orz)
6.请求层重构讲一下?(实习相关,重复请求拦截+支持主动取消请求)
7.业务层主动取消是在什么情况下?(实习项目相关用户操作触发了请求但是用户又很快退出这个页面了)
8.bff层做的什么?(实习项目相关)
9.接口编排具体指的什么?(实习项目相关)
10.bff用的什么启动?node还是express?或者pm2?
11.node启动有做什么维护稳定?(我答错了,不是指和grpc的连接那块怎么提供稳定服务,这里面试官问的是怎么保证中间层服务的稳定性)
12.做轻量化社交平台的契机?
13.选react18的原因?(我大概从18的提升上说的,并发渲染还有和ssr的结合)
14.在这个练习项目中,最大的收获?(验证自己的学习成果,提升技术掌握熟练度,以及接触一些新的技术比如nextjs、websocket)
15.耗时比较久的是哪块?
16.讲一下原型链
17.类之间的继承,原型发挥了什么作用?(没答好,直接说了子类继承父类的原型需要手动写,但下来查了这是es5之前的,有了原型es6之后就不用手动写,super的调用就包含了原型的继承)
18.事件循环讲讲?
19.对未来半年到一年的职业发展?
20.对自己的技术学习有什么规划?(我回答的跟业务深度契合的技术栈上深入学习)
21.抛开业务层面的话,想学习什么技术?
全部评论
相关推荐
点赞 评论 收藏
分享
查看5道真题和解析