【前端面经】字节、钉钉、饿了么 面试

5,679 阅读4分钟

最近面的几个公司面经分享,给自己攒一波人品,也祝愿大家面试顺利。

字节-懂车帝

  1. 自我介绍

项目:

  1. 介绍项目
  2. 可视化搭建平台的一个架构
  3. 怎么管理组件版本的
  4. 怎么管理页面版本的
  5. ...

技术:

  1. 因为自我介绍的时候提到了 React、Webpack,就分别问了相关的问题

  2. React

    1. 对 useCallback、useMemo 这两个 hook 的理解,有什么样的区别,适合在什么场景下使用

      1. 是不是所有的变量或者函数都需要用这两个 hook 进行包裹

        1. 能不能量化一下,什么情况下需要使用
      2. 包裹后性能一定会好吗,为什么?

      3. 有没有更底层一点的理解

    2. 对类组件和函数组件的理解,它们的区别,什么情况下写类组件更好,什么情况下写函数组件更好

  3. Webpack

    1. 一般来说是不需要专门进行 Webpack 配置的,你们为什么需要
    2. 对 loader 和 plugin 的理解,以及常用的 loader 和 plugin
    3. 有没有自定义 loader 或者 plugin

代码运行顺序

  1. promise 相关,题目没有记录

编程题目

// 设计一个sum函数,使其满足以下要求

sum(1, 2).sumOf() // 返回 3

sum(1, 2)(3).sumOf() // 返回 6

sum(1)(2, 3, 4).sumOf() // 返回 10

sum(1, 2)(3, 4)(5).sumOf() // 返回 15

钉钉

编程题2道,30min,题目不记得了

项目、技术问题:

  1. 项目的难点,怎么解决的
    1. 【可视化搭建平台 | 店铺装修】魔方组件的设计与实现
    2. 性能优化实践 - 优化资源加载速度
  2. 怎么实现拖拽
  3. 怎么做错误处理
  4. 性能优化相关
  5. 跨域

其他问题:

  1. 为什么看机会
  2. 部门前端人数,P5 对标阿里多少,职级大概的分布情况
  3. 绩效相关
  4. 职业规划
  5. 在可视化搭建平台项目中,有几个开发,是从 0 到 1 吗,担任什么样的角色
  6. 目前的薪资
  7. 目前在面什么公司,到什么流程了
  8. 家是哪儿的
  9. 用过什么 AI 产品

饿了么

项目相关的问题,大概 30min

  1. 可视化搭建平台介绍

  2. 项目是由几个人开发的

  3. 怎么实现的编辑器

  4. 预览功能讲一下

    1. H5
    2. 小程序
  5. ...

技术相关问题:

  1. webpack 是怎么处理 commonjs/esm

    1. commonjs: 分析一个极简的 Webpack 运行时代码
    2. esm: Webpack 运行时代码分析 - ESM 静态导入模块
  2. React 组件中绑定一个事件跟直接操作 DOM 绑定一个事件有什么差别

  3. hooks 使用的时候有一些限制条件,为什么

  4. 箭头函数和普通函数有什么区别

  5. 浏览器从输入 URL 到页面展示的整个过程,越细致越好

    从输入 URL 到页面展示,这中间发生了什么?

    1. 为什么要分图层
  6. 如果想做优化,在各个阶段中可以做哪些处理呢

  7. 如果拆分出的资源数量太多了,会不会导致请求的数量太多了

  8. HTTP2 相较于 HTTP1 的变化

  9. 缓存机制是什么样的

    1. 设置了强缓存,如果过了缓存时间呢
  10. 解析文档到渲染过程也有优化的点,能介绍一下吗

    1. 补充提问:浏览器是怎么解析 HTML 资源的

    2. 针对不同资源会怎么处理,比如遇到 CSS 资源、JS 资源

    3. 遇到图片会怎么处理呢

    4. DOM 解析?CSS 解析?JS 也需要解析,你觉得这几个是什么样的流程

    5. 单说解释 HTML,是怎么解析成 DOM 树的呢

      1. 回答没有研究过,面试官补充题目,如果你来设计,怎么实现
  11. 移动端这块的问题,适配不同屏幕

  12. 现在你在学哪些技术,会关注哪些技术?

  13. 学习 react 大概是怎么样的一个过程呢

  14. react 从源码上能分成几大部分呢