拼多多前端面经 前端面经(附内推)

一面

面试官:先来个布局的吧!如何让一个元素垂直居中

我:行内元素就line-height、块级元素就flex、grid、table-cell布局都可以,还有定位+translate,这个兼容性较好。

面试官:了解过新的css属性?比如layer

我:没有

面试官:说一下this

我:this是运行时上下文,是函数内为了访问类的属性而存在,其中箭头函数的this就是其定义时外部的this,而bind、call、apply都可以改变函数内this的指向。

面试官:箭头函数的this可以改变吗?

我:没试过

面试官:做道题吧,深拷贝

我:知道,但是没写过

我:写了个递归+复制对象的属性

面试官:如果入参不是对象怎么办,比如boolean、number、string、null、undefined、array

我:补充了很多判断代码,基础数据类型/null/undefined就直接返回、array/objet就forin遍历然后返回

面试官:如果a对象引用了b对象,b对象引用了a对象怎么办,引用循环问题

我:写了一个cache缓存器,如果遍历过程中cache中有a,则直接返回,不再深拷贝

面试官:你这个cache怎么清空,什么时候清空

我:这里我并没有将cache传入给深拷贝函数,在函数体里面清空,而是在函数体外定义、清空cache。然后面试官推荐了一个写法,将cache传入进去,然后在深度为1时清空它。属于缓存优化

面试官:再做一道题吧,promise相关的

我:如果了解promise的话,这题不难,说出打印顺序即可

一面说实在我还是很菜的,深拷贝得面试官多次提醒才能完善,但至少还在可接受范围内,面试官很柔和。

二面

面试官:你先做一下这道题,只能使用队列,不能使用别的数据结构来实现栈的功能。

我:考虑了几分钟后,我说出了思路,在入栈时,调用的入队,同时更新min最小值。

出栈时将队列中的最后一位的前面的元素都拿出来,然后放入队列后,然后拿出最后一个就是出栈元素。

但是打印最小值时有点问题,我想了一会,然后得出,在出栈时,会遍历到所有的元素,所以可以在这个过程更新最小值。

面试官:好,那你写出来吧

我:写呀写,写完之后,有个用例没法通过,然后人脑debug一下,原来在出栈时,更新最小值时,得先将最小值重置。

面试官:问了简历里,写的所有的项目

面试官:那你说一下vue和react的差别吧

我:vue2了解的多,react了解不多,两者最大的区别是虚拟dom结构,vue2是一颗结构很正常的树,react是一个fiber树,两者树的实现方式不一样。react的patchnode算法和vue的不一样,react是全量比较vDom,vue是组件层级比较vDom。react和vue的对于children的比较算法也不一样,然后,个人觉得vue高效一些(这里答的有点模糊了我)。

二面面试官属于硬核派,上来先做题,但确实是知识面碾压。

三面-主管面-电话面

之前不知道主管面是什么,我以为还是技术面,所以我回答的有点牛头不对马嘴了。

面试官就主要问项目实现方式(不需要硬核的技术层)就没了。

内推链接:(实习生招聘)

https://careers.pinduoduo.com/campus/intern?t=Q1RKK3fACC,内推码:Q1RKK3fACC

欢迎随时咨询联系
图片说明

#拼多多##拼多多内推##拼多多暑期实习##拼多多面经##拼多多前端面经#
全部评论
1 回复
分享
发布于 03-13 11:25 上海
点赞 回复
分享
发布于 03-13 11:27 上海
联易融
校招火热招聘中
官网直投
点赞 回复
分享
发布于 03-13 11:30 上海
点赞 回复
分享
发布于 03-13 11:36 上海
点赞 回复
分享
发布于 03-13 11:37 上海
有没有应届生前端内推
点赞 回复
分享
发布于 03-13 11:39 重庆
mark
点赞 回复
分享
发布于 03-15 22:59 广东
你好,有应届内推吗 24届前端
点赞 回复
分享
发布于 03-15 23:14 广东
主管面不是技术面?
点赞 回复
分享
发布于 04-16 21:35 湖北

相关推荐

头像
不愿透露姓名的神秘牛友
昨天 11:48
点赞 评论 收藏
转发
投递数字马力(杭州)信息技术有限公司等公司10个岗位 牛客在线求职答疑中心
点赞 评论 收藏
转发
7 11 评论
分享
牛客网
牛客企业服务