拼多多暑期实习前端一面

拼多多暑期实习一面

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

相关推荐

## 一面 35min1. 方便做一下自我介绍吗?2. 你是在南京上学,那你是南京人吗?3. 你后续希望的择业城市是哪?4. 为什么会偏向北京,而不是离家更近的上海?5. 初中高中是在哪里读的?6. 你目前打算直接就业,为什么不读研?7. 你觉得读研后竞争力更大,还是本科直接工作两年竞争力更大?8. 你怎么开始接触前端的?为什么会对前端感兴趣?9. 之前有实习过吗?10. 做这些项目的目的是什么?11. 后台系统是怎么设计的?是自己设计的,还是有参照?12. 动态路由是什么意思?你是怎么实现动态路由的?13. 服务端是谁做的?14. 服务端和前端是同一个工程吗?15. 会出现跨域吗?你是怎么解决跨域的?16. 除了 Vite proxy / 代理,还有哪些跨域解决方案?17. Vue 里的 nextTick 用过吗?18. nextTick 的底层原理是什么?19. 能讲一下 Tree-shaking 的过程吗?20. 组件库里大概有多少个组件?21. 你是怎么设计组件结构的?22. 以 Form 表单为例,讲一下你的设计思路。23. 用 setTimeout 实现 setInterval。24. 用 setTimeout 实现 setInterval 的应用场景是什么?25. 未来择业最核心的要素是什么?能讲三个吗?26. 你对自己的未来规划是什么?27. 你坚持过最长的一件事是什么?28. 有什么爱好吗?29. 喜欢看什么类型的书?30. 最近看的一本书是什么?31. 你有什么想问我的吗?感觉要挂,没二面了
查看28道真题和解析
点赞 评论 收藏
分享
评论
10
47
分享

创作者周榜

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