拼多多暑期实习前端一面

拼多多暑期实习一面

  1. 自我介绍

  2. 介绍项目

  3. http1与http2的区别

  4. webpack的loader与plugin区别

  5. webpack如何优化打包配置

  6. webpack的输出产物如何运行

    • 立即执行函数,加自定义模块加载机制

  7. webpack的生命周期钩子有哪些

  8. vue和react区别

    • 模板语法,一个template,一个jsx,灵活性不同

    • 封装程度,vue封装程度更高,内置多个指令和数据双向绑定,react封装度比较低,适合扩展

    • diff算法不同

  9. vue2与vue3区别

  10. vue2的diff算法与vue3的diff算法

    • vue2:双端比较

    • vue3:在原来的基础上引入了最长递增子序列

  11. vue2和3的数据响应式原理

    • 数据劫持加发布订阅

    • vue2通过Object.definepproperty实现数据劫持

    • vue3通过Proxy实现数据劫持

  12. Object.defineropperty的缺陷

    • 不能拦截新增元素和数组的部分操作

  13. vue如何确保数组元素响应式化

    • 通过函数式编程的思想重写部分数组方法

  14. vuex原理

    • vue状态管理插件,通过Vue.mixin全局混入生命周期函数,确保子组件获取vuex实例

    • 内部根据传入的配置对象,通过vue构造函数响应式化state中的数据

    • 实例上定义dispatch和commit方法,分别用于执行配置对象中actions或者mutations的函数,并注入参数

  15. vue router原理

    • vue路由插件,通过Vue.mixin全局混入生命周期函数,确保子组件或者当前路由对象和vuerouter实例

    • 定义全局组件,router-link和router-view,router-link基于a标签封装,router-view作为视图分发的出口

    • 根据传入的配置对象,确定路由机制,hash路由还是history路由

    • 监听hashchange或者popstate事件,监听路由变化,根据路由加载配置对象中的视图组件,并渲染

  16. 减少首屏加载时间的手段

  17. 路由懒加载怎么配置,原理

  18. 如何排查影响首屏加载的因素

  19. 页面渲染的大致流程

  20. css的下载是否阻塞dom渲染

    • JS会阻塞DOM解析

    • CSS会阻塞JS的执行,JS有可能操作样式,需要等待css先下载

    • css是否下载并解析也涉及到渲染树的生成

    • css会阻塞dom渲染

  21. 图片的下载是否阻塞dom渲染

  22. 页面渲染的过程

  23. service worker是什么

  24. 对象扁平化
  25. //将下列对象扁平化
    let entry = {
      a: {
        b: {
          c: {
            ddd: 'a.b.c.ddd',
          },
        },
        d: {
          e: 'a.d.e',
        },
        f: 'a.f',
      },
      b: 'b',
    }
    //结果
    let output = {
      'a.b.c.ddd': 'a.b.c.ddd',
      'a.d.e': 'a.d.e',
      'a.f': 'a.f',
      b: 'b',
    }
    //实现
    function handle(target) {
      let res = {}
      function dfs(obj, prefix) {
        for (let key of Object.keys(obj)) {
          let val = obj[key]
          let temp = prefix ? prefix + '.' + key : key
          if (typeof val === 'object') {
            dfs(val, temp)
          } else {
            res[temp] = val
          }
        }
      }
      dfs(target, '')
      return res
    }
    console.log(handle(entry))


  26. 事件循环

  27. 反问
#春招##实习##面经##拼多多##前端#
全部评论
哥哥,这也太强了吧!😭
点赞 回复 分享
发布于 2022-03-16 18:13
强力大牛lz
点赞 回复 分享
发布于 2022-03-17 15:03
有二面通知了吗,我礼拜二面的一面,现在还没消息,是不是已经凉了😥
点赞 回复 分享
发布于 2022-03-18 20:59
下周一二面
点赞 回复 分享
发布于 2022-03-19 14:52
tql,自愧不如啊😂
点赞 回复 分享
发布于 2022-03-25 21:55

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
牛客895077908号:佬 什么双非硕啊
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
10
45
分享
牛客网
牛客企业服务