# 框架/库/实践面试题
# react
基础部分
一些面试题例子:
生命周期类
- Fiber (opens new window)
- React生命周期分为哪几个阶段,分别对应的是?深入详解React生命周期 (opens new window)
- React的请求应该放在哪个生命周期中?
- class组件constructor和super(props)起什么作用
- setState是同步还是异步,setState合并更新 你真的理解setState吗? (opens new window)
- setState第二个参数有什么用
- React性能优化,减少渲染次数,使用ShouldComponentUpdate,PureComponent以及React.memo的第二个参数
- react性能优化,使用hooks的userReducer和useMemo
- 哪些函数会触发React的重新渲染,setState方法被调用
- React 生命周期总结&应用 (opens new window)
- React-Hooks 总结&实践 (opens new window)
原理设计类
- react渲染机制,协调 (opens new window)
- react怎么判断需要重新渲染组件, props改变或者setState
- React组件通信如何实现?
- ref作用是什么,有哪些应用场景(获取组件对应的DOM元素),在render中无法获取ref,因为此时DOM没有渲染完毕
- 函数组件如何使用ref, useRef, forwardRef, useImperativeHandle作用,React.forwardRef在高阶组件中转发ref
- React合成事件,如何阻止事件冒泡e.stopPropagation()
- 受控组件与非受控组件,对应分贝使用onChange与ref
- context如何理解与使用
应用类
- 组件如何复用,组件复用的几种形式
- React高阶组件怎么使用,应用场景
比较全的面试题目及解答,有些问题已经过时和答案错误,需选择看
「2021」高频前端面试题汇总之React篇(上) (opens new window) 「2021」高频前端面试题汇总之React篇(下) (opens new window)
HOOKS相关
- 为什么要用HOOKS 动机 (opens new window)
- hooks可以在条件语句中使用吗?只在最顶层使用 Hook (opens new window) 说明 (opens new window)
- useEffect如何使用,相当于哪些生命周期事件,清除副作用(卸载时触发清除函数),useEffect第二个参数有什么用
- useCallBack作用,如何使用
- useMemo有什么作用,如何使用
- useRef如何使用
- 使用过自定义HOOK吗
# redux/dva
- 状态机输入/输出 Redux/React-Redux (opens new window)
- redux中异步请求 Redux 中间件 (opens new window)
- dva是什么,解决了什么问题(文件成本,创建问题)
- dva被淘汰?useModel, useRequest
# webpack
- webpack配置及优化入门webpack 配置及优化 (opens new window)
- webpack load作用及原理:css-loader,babel-loader作用
- webpack如何优化:babel-loader include/exclude限制处理文件夹,tree-shaking,代码分割,多线程构建打包
- webpack如何自动分离本地和线上环境,设置mode
- webpack基本配置,具体哪些loader和plugin
- 如何配置文件夹别名,比如用
@
代替src
: resolve: alias extensions(配置扩展名)
之前配置的(略看) 使用 webpack 从零配置 React 开发环境及打包优化 (opens new window)
刘小夕:如何从零基础学习Webpack(略看):
- 带你深度解锁Webpack系列(基础篇) (opens new window)
- 带你深度解锁Webpack系列(进阶篇) (opens new window)
- 带你深度解锁Webpack系列(优化篇) (opens new window)
- 你可能不知道的9条Webpack优化策略 (opens new window)
# umi
# vue
最全的 Vue 面试题+详解答案 (opens new window)
- 如何理解MVVM模型
- vue/react传值,父传子,子传父,没有父子关系(代码)
- vue v-if v-show区别
- v-for vue生命周期 create和mounted请求页面数据的区别
- vuex如何保持数据刷新不丢失
# 小程序与公众号(很久没用了)
- 小程序登录
- 小程序支付
- 小程序的生命周期和路由以及setData原理
- 公众号openid和unionid区别
# babel
# 实践应用
- 如何进行错误监控
- 项目中难点坑点以及如何解决