一面

这一场面试是目前为止最久的。

1. 首先是项目

  • 封装了哪些自己觉得好用的组件
  • 拖拽和缩放怎么实现、拖拽边界值怎么处理
  • canvas 画图遇到过什么问题
  • 服务端渲染怎么做缓存

2. react 优化、日常开发优化

  • useMemo、useCallback

3. js 文件体积较大怎么优化

4. promise.all

  • promise 和 setTimeout 的区别
  • 和普通 scripts 的区别
  • 事件循环机制

5. React key 的作用

  • 顺便问了 diff 算法

6. 常用的数组的方法

7. HTTP 缓存

  • 怎么让强制缓存资源失效,ummmmmm…

8. HTTPS

  • 抓包工具生效的方式、具体步骤(中间人攻击)

9. 跨域

  • 平时开发跨域怎么解决

10. 前端安全

11. css 实现三栏布局、媒体查询

  • flex: 1 表示什么

12. 平时开发的 git 流

  • 用 merge 多还是 rebase 多
  • 多个 commit 信息怎么合并成一个

13. eslint

  • commit 拦截
  • CI 配置

二面

1. 问项目

  • sketch 插件原理有了解过吗
  • sketch webview 通信

2. 设计一个抢红包功能架构

  • 从前端到后端
  • websocket 握手消息使用什么连接,后续发送使用什么连接

3. 一个项目从 0 到 1 的前期准备

  • 前端服务怎么部署
  • 大前端架构有了解过吗
  • 微前端有了解过吗
  • ummmmmmm… 木有


offer ✅