当前位置: 首页 > 面试经验 >

滴滴前端实习面经(一二面)

优质
小牛编辑
111浏览
2023-03-28

滴滴前端实习面经(一二面)

一面

自我介绍

八股

20分钟完成六道题目,并在之后需要描述自己的解题过程,同时会针对描述和题目完成额外提问

  1. 闭包输出题
  2. 闭包及其的作用
  3. this输出题(普通函数与箭头函数)
  4. 异步输出题
  5. Promise有什么实战场景
  6. 场景题:如何异步监听图片的请求状态并执行回调(Promise、Image构造函数、onload、onerror监听)
  7. 插入附加手写题:基于ES6实现的数组去重,并对比性能(我第一个是Set,第二个是遍历+include方法)
  8. 类似Vue源码的模板语法解析题,即给予数据源对象和一段字符串'a.b.c',读取数据源对象中对应的数据值
  9. 是否有其他实现方法
  10. 额外八股题:原型和原型链
  11. 说说结果和理解Function.__proto__===Function.prototype
  12. 根据图片,使用flex布局实现展示效果
  13. CSS优先级题,给一段样式表,说最终基于层叠计算后的文本样式

实习经历

以下是基于我简历中提供的一些实习时开发的页面链接提问的

  • 实习开发中的难点、亮点
  • 问分页是如何做的,前端分页和后端分页区别和优缺点
  • Tab切换栏如何实现的,是否能更优化
  • 开发时拆分组件是怎么考虑的
  • 复用和业务逻辑拆分

个人项目

  • 看到我写的封装Axios
  • Axios源码中拦截器是如何实现的
  • 在拦截器方面,你是如何封装的
  • 项目中懒加载时如何优化的
  • 组件库按需加载
  • 图片懒加载
  • 两种实现方法(绑定滚动事件,IntersectionObserver),问这两种的优缺点,并最终总结实际开发如何使用(及结合优缺点,统一方案并解决缺陷)

反问环节

二面

自我介绍和个人情况了解

技术面试

  • 个人项目中是如何基于浏览器渲染原理做性能优化的
  • Tree-Shaking、丑化、Gzip压缩
  • Gzip压缩的两种实现方式,Gzip压缩原理
  • HTTP2优化
  • 非关键CSS优化
  • 个人能力中看到看过很多源码
  • 看源码对你有什么影响吗,为什么要去看源码
  • 举例:Vue2与Vue3的Diff算法,React和Vue的调度器(React时间分片的思想确实牛啤)
  • 问为什么Vue不像React一样使用时间分片呢
  • Vuex是如何做到对于异步修改数据的拦截警告的

手写题

  1. 尝试实现一下简易的VueRouter源码中的路由导航功能
  2. 简单来说就是next的才会执行下一步
  3. 如何修改成支持异步、如何实现跳转中断
  4. 实现一个函数,能够解析URL的信息
  5. 即解析params和hash等参数
  6. 估计也是想考察VueRouter的源码是如何实现这一功能的

反问环节

 类似资料: