【拼多多】前端岗-2024届暑期前端实习面经

一面

  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. 算法题:零钱兑换

笔试

笔试有几题选择,实在记不得了。 只记得当时写完笔试记录了几题编程题。
1.手写驼峰命名转化
2.写树的遍历,获取dom元素的叶子节点
3.手写promise.race

发表评论

后才能评论