一面
日期:7月4号
时长:1小时20分钟
自我介绍
讲一下项目
用JS写一个JS解释器
简单介绍一下项目
函数的this指向
在没有箭头函数的时候,怎么进行this的绑定
箭头函数可以创建实例吗
掘金客户端
有什么困难?(重复渲染)
-
script标签的defer和async的区别
两个属性为defer的script标签,执行顺序是什么样的
-
HTTPS的协商过程
-
讲讲对CSS的了解
(盒模型、层叠关系、属性选择) 讲讲层叠优先级、选择器的权重、内联样式
-
算法题
判断链表有无环 进阶 O(1)实现
-
用过哪些 React Hook,Hook 的原理,解决了什么问题
-
React 如何复用代码逻辑
-
React 使用 Hook 要注意什么
-
如何防止没有变化的子组件重新渲染
-
说一下 useMemo()
-
React 的 diff 算法
-
宏任务与微任务
-
TypeScript 中 type 和 interface 的区别
-
代码题 写一个带并发限制的异步调度器
-
两个 Tab 页面的通信
-
前端存储方案 indexDB
-
React 如何实现一个弹窗组件
-
Webpack 插件的生命周期
-
Webpack 用过哪些 Loader 和 Plugin
反问环节
-
对我接下来在技术方面的学习意见?
面试官:我也想问一下,你对自己有什么意见呢?
我:JS 可能还好,React 很菜
面试官:JS在语言层面确实不错,思维也挺好,但是 DOM 和 BOM 上的 API 你可能不熟,不过没关系,毕竟你又不是前端专家。React 确实不好,官方文档看没看?另外,前端的整体生态需要加强,原理需要弄清楚
-
如果能入职的话,具体做的是什么业务?
二面
日期:7月6号
时长:45分钟
自我介绍 为什么学习前端 说一下项目
- 说一下 Redux
- 怎么给一个组件用上 Redux,具体要写哪些东西
- 说一下 Less 与 Less Module
- LocalStorage 和 SessionStorage 的区别
- 两个相同的会话,它们的 SessionStorage 是同一个吗
- 知道几种跨域方案,说一下 CORS,具体怎么做
- 知道预检请求吗,什么时候会有它
- POST 会有预检请求吗
- flex 布局有什么用
- flex 如何水平等间距排列
- ES6 新特性有什么
- async 函数有什么特点
- import 怎么异步导入
- 从输入 URL 到看到页面,发生了什么
- link 标签和 script 标签会阻塞页面解析吗
- script 标签如何异步加载
- 代码题 写一个防抖函数,自己测试一下能不能用
- 代码题 判断二叉树是否左右对称
反问环节
- 第一次到真实开发场景,怎么快速融入团队、发挥作用与贡献 面试官:改小bug、看内部文档、熟悉项目。
三面
60min
- HTTP 的强缓存和协商缓存
- Expires 和 cache-control 的优先级
- 说一下回流和重绘,如何减少回流重绘
- dispaly: none 和 visibility: hidden 的区别
- new 操作符的原理,return 的一定是新建的那个对象吗
- for in 和for of 的区别
- 为什么有的数据结构不能使用 for of
- 遍历数组有哪些方法
- forEach 和 map 的区别,哪个性能好,为什么
- 说一下 Map 和 Set
- Map 和对象有什么区别,干嘛不用对象替代
- Set 和数组有什么区别
- 说一下 weakSet 和 weakMap
- ES6 有什么新特性
- Promise 有什么用,和 async 的区别
- generator 是什么,有什么用,如何让 generator 自动执行
- React 连续写了几个 setState 有什么问题
- 说一下 setState 在 React 里发生了什么
- setState 是如何合并的
- 了解哪些 React hook
- 说一下 useEffect 是什么
- useEffect 的返回值是在什么时候执行
- useEffect 有什么用
- React 18 版本有什么新的变化
- 有了虚拟 DOM,一定会提高性能吗,相比于手动操控 DOM
- 了解哪些 Promise 的静态方法
- 代码题 写一个 Promise.all 方法
- 代码再优化一下,如何不需要判断是否是Promise的实例
- 代码再优化一下,把闭包带来的内存泄漏解决一下
反问环节
-
前端新人进组如何快速融入团队,发挥作用与贡献