拼多多前端实习面经

一面(4.19)

1.项目
2.组件自适应
3.手写防抖
function debounce(fn,delay) {
let timer
return function () {
let args = Array.prototype.slice.call(arguments)

clearTimeout(timer)
timer = setTimeout(()=>{

fn.apply(this,args)

},delay)

}
}

然后追问如何改写才能使得3次then获得相同的结果
我想不到,此处要@一个大佬
const fun = debounce()
fun().then()
fun().then()
fun().then()

4.原型链
5.apply的第二个参数可以是伪数组吗,我说伪数组会有问题(可以是伪数组的)
6.伪数组如何转成数组
Array.slice
Array.from
数组解构
7.styled-components的原理,里面有scoped包裹(类似vue 的style的scoped)
8.对框架的感受
9.js隐式转换
10.隐式转换遇到过哪些坑

二面(4.27)

1.自我介绍
2.每个项目中遇到的问题及解决方案
3.多页面通信的方法
4.Vue和React的异同
    重点:
    vue和react diff算法差异
    vue3怎么优化diff算法
    指定key和不指定key的diff算法有什么不同
    vue和react怎么实现驱动试图更新,什么区别,为什么会有这种区别(随便说的,已经答蒙了)
    vue2修改数组如何更新视图
    vue3新特性
        react hooks和compsitions api有什么不同(只说上了依赖收集的不同)
     虚拟DOM是什么,优点是什么
        性能
        跨端
        (知道的大佬可以补充一下)   
      浏览器渲染过程
      重排重绘
              什么操作会造成重绘
              减少重绘的方法
5.TS中unknown和any的区别
6.浏览器跨域,问题的解决方法
        代理服务器能跨域吗?为什么能访问代理服务器
        jsonp如何实现的
        CORS通过什么控制跨域,简单请求和非简单请求
7.http协议,http2相对于http1有哪些改进
        解决队头阻塞
        服务端推送
        头部压缩
        多路复用
        发送的是二进制数据
8.浏览器缓存(强缓存和协商缓存)
        Etag和modifysince的区别
9.事件循环,微任务和宏任务有哪些,说完就做一道题
10.手撕leetcode重排链表算法
    1-2-3-4-5=>1-5-2-4-3
    面试官提示下想到了思路:找到链表中点,将中点后的子链表反转,将子链表合并到前面分割的链表(中点之前的链表)
    最终没写出来有点遗憾,觉得过不了了,然后第二天下午就收到三面通知

三面主管面(5.6)

1.自我介绍
2.项目难点
3.react hooks和class组件的区别,为什么要用hooks(只说上了逻辑抽取,面试官说class组件也可以,我就不知道怎么说了)
4.vue3和vue2的区别
5.为什么要用axios,axios做二次封装的实现(promise)
6.手撕leetcode算法题(简单)
7.手写一个发布订阅模式
8.反问

过了一星期发了感谢信,我估计是前面的问题没答好,悲哀

收起全文
#拼多多前端面经##面经#
全部评论
不知道面试结果如何
1 回复 分享
发布于 2022-04-26 14:43
使得3次then获得相同的结果,这个是指什么结果  没太看懂
点赞 回复 分享
发布于 2022-08-08 00:27

相关推荐

不愿透露姓名的神秘牛友
07-22 11:33
点赞 评论 收藏
分享
认真搞学习:28小登的建议,投算法岗不要写什么物理竞赛,互联网+,多写点项目,用什么算法做了什么。还有本科算法是不可能的开发你这个也没有项目啊
点赞 评论 收藏
分享
给我发了笔试链接,想着等晚上回去做,结果还没做流程就终止了
伟大的小黄鸭在学习:我猜就是笔试几乎没用,就是用来给用人部门拖时间复筛简历的,可能用人部门筛到你简历觉得不合适就提前挂了
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
评论
8
37
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务