【前端23校招面经】美团成都到家事业群前端一面、二面面经
一面
- 自我介绍, 问之前实习工作项目, 主要是技术栈
https
协议Vite
的原理, Vite 除了不打包以外和 Webpack 相比还有哪些优势
除了不打包以外也没有什么特别明显的优势了...另外不打包本身也会引入开发环境和生产环境不一致的问题. Vite 的 Plugin API 书写比 Webpack 更简洁算吗?
- Vite 项目启动后, 浏览器每一次通过 ESM 机制请求 js 时, viteDevServer 会如何处理 js 源码
本质是问 Vite 插件的生命周期, 看这里
React hooks
的优势有哪些, 简述 hooks 原理
函数式思想更有利于在开发时实现组件单一职责, 通过自定义 hooks 剥离组件的结构和交互逻辑, 比 HOC 更加简洁
- 简述 React 的
fiber tree
结构, React 为什么使用 fiber tree 实现 VDOM
为了将调和的过程从递归转为循环, 递归过程是不可中断的, 但循环可以
- 在 fiber tree 上的一个函数式组件节点, 其内部管理一个 hooks 链表, 请问该链表是否一定是单链表, 可能有环吗
- 简述 React 的渲染原理,
React.createElement
函数的作用
每调用一次 createElement, 就生成一个 ReactNode, 从而生成初步的虚拟 DOM 结构
- 如何监控页面性能
window.performance API
- 如何监控 js 脚本性能, 从 Web 端和 Node 端分别讲
- 代码题: 手写
深克隆
- forEach、for...in、for...of、命令式 for 循环, 四者的性能比较
- 你平时怎样学习的
- 前端开发者需要有哪些软实力
二面
二面问的技术性问题实在是不多, 二面面试官的风格是问过去工作经历的细节, 包括前端设计的各组件数据结构, 各种业务组件内部实现等 这些内容聊了半小时, 因此问的技术问题不多
- 自我介绍, 你做的项目动机是什么, 是自己主动做的还是 leader 要求的
- 讲讲你知道的主流的前端项目构建工具
- js
垃圾回收机制
- js 中数组和
类数组
的区别 箭头函数
和普通函数的区别- 你刚才提到了函数的
arguments
, 怎么用 - 代码题, 给一棵树和一个值, 求从树根开始遍历到给定值的路径(分
二叉树
和DOM树
两种情况)
HR 面
- 部门有 5% 末位淘汰
- 全体上班打卡
11.17 发 offer
薪资不是很理想, 不说了