拼多多前端实习面经

一面(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

相关推荐

03-25 11:36
已编辑
门头沟学院 Python
一面:    实习+项目多一点,尬聊    1. 自我介绍    2. 问项目基本情况    3. 项目web在手机端可以适配吗    4. 项目访问量    5. 项目最难的在哪里(后端缓存)    6. 前端有遇到什么印象深刻的问题(真不知道说啥,说了跨域)    7. 后端实习遇到什么印象深刻的问题    8. 知道客户端是做什么的吗    手撕:矩阵旋转二面:    八股盛宴    1. 自我介绍    2. 对客户端的了解    3. 讲一下JVM垃圾回收机制    4. 如何判断对象是否是垃圾    5. 哪些对象可以当作GC root    6. 垃圾回收过程中还有垃圾产生怎么办    7. 垃圾回收可能导致什么异常问题    8. Java中哪些办法创建线程    9. 线程池的参数    10. 线程池为什么会有最大线程数这个参数    11. 如何终止线程#牛客AI配图神器#     12. TCP和UDP的区别    手撕:最长回文字串后续:看起来卡住流程了,没约三面也没挂。赶紧给个结果,挂了立马投测试update:25号打开发现挂了
Lemon66:客户端天坑,还是不去的好
查看18道真题和解析
点赞 评论 收藏
分享
60min自我介绍项目拷打/路由懒加载 动态组件 keepalive不依赖vue如何实现懒加载spa页面切换vue的data为什么是函数不是对象data里method compute watch区别  应用场景vue列表的keynexttick及在前端的应用场景组件通信vuexemit父子组件的具体使用方式v-if v-show区别原生js手写实现v-if v-show跨域问题闭包及应用场景数组的常用方法手写实现数组去重mutation和action数据交互方式及具体流程(axios)请求头状态管理路由管理事件循环宏任务微任务的具体有哪些及优先级同步异步手写把数组去重的函数改成异步最近关注的前端最新技术反问:技术栈 vue node业务 用户上课界面 上课过程的一些问题 C端base北京面试体验:vue盛宴,我vue速成出来的,全都是略懂皮毛的八股,在背的八股里融入一些自己的理解开始强行回答。。呃。。又汗流浃背了  自我感觉这个岗对技术应用和实际代码编程能力要求比较高,需要实习来了立刻能做东西产出,我这种八股选手太菜了感觉面试官特别累,有点活人微死感,一直在打哈欠这一周七面,每天都在面,实在是有点累了,今天莫名特别特别抗拒抵触面试,真的不想面了,本来都有点想鸽了,但是都这点了,随便面面算了,没想到拷打一小时,三道手写题,唉,又要深入补vue了
查看27道真题和解析
点赞 评论 收藏
分享
评论
8
36
分享

创作者周榜

更多
牛客网
牛客企业服务