2024届暑期前端实习面经——拼多多

551 阅读2分钟

拼多多

二面挂了,实在想不通二面四道手写题都写出来了,怎么还把我挂了

可以看一下我的这篇总结:

一面

  1. 介绍下Chrome插件的开发(简历里有写)
  2. 介绍下打包优化都做了什么(简历里有写)
  3. Gzip压缩前后端分别怎么配置的
  4. 如果都进行Gzip压缩应该不止减小20多体积吧(超过一定体积才压缩)
  5. 说说CSS三栏布局实现方式,越多越好(说了四五种)
  6. 介绍一下如果让你封装一个Modal组件,你会怎么封装,会考虑哪些功能(撞枪口上了,字节青训营中做的组件库开发,Modal组件就是作者写的🥳,顺便放上当时组件库的文档地址
  7. Modal组件是怎么让其一直保持在最顶层的(z-index)
  8. 只用z-index就肯定能确保Modal在最顶层嘛(作者介绍了层叠上下文,并给出自己的解决方案)
  9. 实现一个类似leetcode官网的拖动分割线能实现左右大小的变化,效果点击👉这里进行查看
  10. 口述HTML结构+CSS的两栏布局
  11. 手写题:用原生JS实现分割的功能(mousedown、mousemove、mouseup)
  12. 算法题:第K大的数
  13. 判断数据类型的方法有哪些
  14. 判断一个对象是否为Promise(是一个对象或者函数并且有then方法)
  15. 浏览器从输入URL到页面展示发生了什么
  16. 单行省略和多行省略
  17. 看代码说结果
array = ['w', 'o', 'r', 'l', 'd']
<Tag v-for="(item, index) of array" :key="item">
如果进行了array=['w', 'o', 'r', 'l', '!', 'd'],那么Tag组件的created、updated、destroyed分别触发了几次?
答:1 0 0

array = ['w', 'o', 'r', 'l', 'd']
<Tag v-for="(item, index) of array" :key="index">
如果进行了array=['w', 'o', 'r', 'l', '!', 'd'],那么Tag组件的created、updated、destroyed分别触发了几次?
答:1 1 0

二面

  1. 手写题:使用正则实现邮箱匹配
  2. 说一些常见的请求头
  3. 算法题:买卖股票的最佳时刻(一)
  4. 手写题:实现reduce API
  5. 算法题:零钱兑换