diff --git a/lib/React.md b/lib/React.md index dfab33c..639e725 100644 --- a/lib/React.md +++ b/lib/React.md @@ -1,11 +1,42 @@ # React面试题 -> 鼓励PR +> 鼓励PR,持续更新(React v16.6.0) ## 历史题目(最新:2019.07.15) -[React](#React) | [React-native](#React-native) | [React-Router](#React-Router) | [Redux/Mobox](#Redux/Mobox) | [Flux](#Flux) +[React](#React) | [React Native](#React Native) | [React-Router](#React-Router) | [Redux/Mobox](#Redux/Mobox) | [Flux](#Flux) ### React -- [说说你对React的reconciliation算法的理解]() +- [你有用过哪些React的表单库吗?说说它们的优缺点]() +- [如果组件的属性没有传值,那么它的默认值是什么?]() +- [可以使用TypeScript写React应用吗?怎么操作?]() +- [`super()`和`super(props)`有什么区别?]() +- [你有使用过loadable组件吗?它帮我们解决了什么问题?]() +- [你有使用过suspense组件吗?它帮我们解决了什么问题?]() +- [怎样动态导入组件?]() +- [如何给非控组件设置默认的值?]() +- [怎么在React中引入其它的UI库,例如Bootstrap]() +- [怎样将事件传递给子组件?]() +- [怎样使用Hooks获取服务端数据?]() +- [使用Hooks要遵守哪些原则?]() +- [useEffect和useLayoutEffect有什么区别?]() +- [在React项目中你用过哪些动画的包?]() +- [React必须使用JSX吗?]() +- [render方法的原理你有了解吗?它返回的数据类型是什么?]() +- [自定义组件时render是可选的吗?为什么?]() +- [需要把keys设置为全局唯一吗?]() +- [怎么定时更新一个组件?]() +- [React根据不同的环境打包不同的域名?]() +- [使用webpack打包React项目,怎么减小生成的js大小?]() +- [在React中怎么使用async/await?]() +- [你阅读了几遍React的源码?都有哪些收获?你是怎么阅读的?]() +- [什么是React.forwardRef?它有什么作用?]() +- [写个例子说明什么是JSX的内联条件渲染]() +- [在React中怎么将参数传递给事件?]() +- [React的事件和普通的HTML事件有什么不同?]() +- [在React中怎么阻止事件的默认行为?]() +- [你最喜欢React的哪一个特性(说一个就好)?]() +- [你最不喜欢React的哪一个特性(说一个就好)?]() +- [在React中什么时候使用箭头函数更方便呢?]() +- [说说你对React的reconciliation(一致化算法)的理解]() - [使用PropTypes和Flow有什么区别?]() - [怎样有条件地渲染组件?]() - [在JSX中如何写注释?]() @@ -21,7 +52,7 @@ - [React为什么不要直接修改state?如果想修改怎么做?]() - [create-react-app有什么好处?]() - [装饰器(Decorator)在React中有什么应用?]() -- [使用高阶组件实现一个loading组件]() +- [使用高阶组件(HOC)实现一个loading组件]() - [如何用React实现滚动动画?]() - [说出几点你认为的React最佳实践]() - [你是如何划分React组件的?]() @@ -31,7 +62,7 @@ - [React的render中可以写{if else}这样的判断吗?]() - [React为什么要搞一个Hooks?]() - [React Hooks帮我们解决了哪些问题?]() -- [使用React的memo和forwardRef包装的组件为什么提示我children类型不对?]() +- [使用React的memo和forwardRef包装的组件为什么提示children类型不对?]() - [有在项目中使用过Antd吗?说说它的好处]() - [在React中如果去除生产环境上的sourcemap?]() - [在React中怎么引用sass或less?]() @@ -74,9 +105,10 @@ - [在React中组件和元素有什么区别?]() - [在React中声明组件时组件名的第一个字母必须是大写吗?为什么?]() - [有用过React Devtools吗?说说它的优缺点分别是什么?]() -- [举例说明什么是高阶组件的反向继承?]() -- [举例说明什么是高阶组件的属性代理?]() +- [举例说明什么是高阶组件(HOC)的反向继承?]() +- [举例说明什么是高阶组件(HOC)的属性代理?]() - [React的isMounted有什么作用?]() +- [React组件命名推荐的方式是哪个?为什么不推荐使用displayName?]() - [React的displayName有什么作用?]() - [说说你对React的组件命名规范的理解]() - [说说你对React的项目结构的理解]() @@ -87,14 +119,16 @@ - [React中验证props的目的是什么?]() - [React中你有使用过getDefaultProps吗?它有什么作用?]() - [React中你有使用过propType吗?它有什么作用?]() +- [React中怎么检验props?]() - [React.createClass和extends Component的区别有哪些?]() +- [高阶组件(HOC)有哪些优点和缺点?]() - [给组件设置很多属性时不想一个个去设置有什么办法可以解决这问题呢?]() - [React16跟之前的版本生命周期有哪些变化?](https://github.com/haizlin/fe-interview/issues/756) - [怎样实现React组件的记忆?原理是什么?](https://github.com/haizlin/fe-interview/issues/755) - [创建React动画有哪些方式?](https://github.com/haizlin/fe-interview/issues/754) - [为什么建议不要过渡使用Refs?](https://github.com/haizlin/fe-interview/issues/753) -- [在React使用HOC有遇到过哪些问题?如何解决?](https://github.com/haizlin/fe-interview/issues/752) -- [在使用React过程中什么时候用HOC?](https://github.com/haizlin/fe-interview/issues/751) +- [在React使用高阶组件(HOC)有遇到过哪些问题?如何解决?](https://github.com/haizlin/fe-interview/issues/752) +- [在使用React过程中什么时候用高阶组件(HOC)?](https://github.com/haizlin/fe-interview/issues/751) - [说说React diff的原理是什么?](https://github.com/haizlin/fe-interview/issues/724) - [React怎么提高列表渲染的性能?](https://github.com/haizlin/fe-interview/issues/723) - [使用ES6的class定义的组件不支持mixins了,那用什么可以替代呢?](https://github.com/haizlin/fe-interview/issues/722) @@ -183,7 +217,7 @@ - [怎样在React中创建一个事件?](https://github.com/haizlin/fe-interview/issues/638) - [在React中无状态组件有什么运用场景?](https://github.com/haizlin/fe-interview/issues/637) - [描述下在React中无状态组件和有状态组件的区别是什么?](https://github.com/haizlin/fe-interview/issues/636) -- [写一个React的高阶组件并说明你对高阶组件的理解](https://github.com/haizlin/fe-interview/issues/635) +- [写一个React的高阶组件(HOC)并说明你对它的理解](https://github.com/haizlin/fe-interview/issues/635) - [React中可以在render访问refs吗?为什么?](https://github.com/haizlin/fe-interview/issues/634) - [React中refs的作用是什么?有哪些应用场景?](https://github.com/haizlin/fe-interview/issues/633) - [请描述你对纯函数的理解?](https://github.com/haizlin/fe-interview/issues/632) @@ -212,17 +246,22 @@ - [在React中你是怎么进行状态管理的?](https://github.com/haizlin/fe-interview/issues/605) - [React声明组件有哪几种方法,各有什么不同?](https://github.com/haizlin/fe-interview/issues/604) -### React-native +### React Native +- [请描述下code push的原理是什么?]() +- [React Native怎样查看日记?]() - [React Native怎样测试?]() - [React Native怎样调试?]() - [React Native和React有什么区别?]() -- [有做过React native项目吗?](https://github.com/haizlin/fe-interview/issues/725) +- [有做过React Native项目吗?](https://github.com/haizlin/fe-interview/issues/725) ### React-Router -- [react-router3和react-router4有什么变化?]() -- [react-router的实现原理是什么?]() -- [react-router4的switch有什么用?]() -- [react-router4怎样在路由变化时重新渲染同一个组件?]() +- [在history模式中push和replace有什么区别?]() +- [React-Router 4中``组件有几种类型?]() +- [React-Router怎么设置重定向?]() +- [React-Router 3和React-Router 4有什么变化?添加了什么好的特性?]() +- [React-Router的实现原理是什么?]() +- [React-Router 4的switch有什么用?]() +- [React-Router 4怎样在路由变化时重新渲染同一个组件?]() - [React-Router的路由有几种模式?]() - [React-Router的``标签和``标签有什么区别?]() - [React的路由和普通路由有什么区别?](https://github.com/haizlin/fe-interview/issues/728) @@ -230,6 +269,7 @@ - [请你说说React的路由是什么?](https://github.com/haizlin/fe-interview/issues/726) ### Redux/Mobox +- [Redux中异步action和同步action最大的区别是什么?]() - [Redux和vuex有什么区别?]() - [Redux的中间件是什么?你有用过哪些Redux的中间件?]() - [说说Redux的实现流程]() @@ -245,7 +285,7 @@ - [在Redux中,什么是action?](https://github.com/haizlin/fe-interview/issues/736) - [在Redux中,什么是store?](https://github.com/haizlin/fe-interview/issues/735) - [为什么Redux能做到局部渲染呢?](https://github.com/haizlin/fe-interview/issues/734) -- [说说Redux的优缺点分别是什么?](https://github.com/haizlin/fe-interview/issues/733 +- [说说Redux的优缺点分别是什么?](https://github.com/haizlin/fe-interview/issues/733) - [Redux和Flux的区别是什么?](https://github.com/haizlin/fe-interview/issues/732) - [Redux它的三个原则是什么?](https://github.com/haizlin/fe-interview/issues/731) - [什么是单一数据源?](https://github.com/haizlin/fe-interview/issues/730) diff --git a/lib/Vue.md b/lib/Vue.md index b996038..89ea60c 100644 --- a/lib/Vue.md +++ b/lib/Vue.md @@ -1,5 +1,5 @@ # vue面试题 -> 鼓励PR +> 鼓励PR,持续更新(Vue v2.6.10) ## 历史题目(最新:2019.07.02) [vue](#vue) | [vue-cli](#vue-cli) | [vue-router](#vue-router) | [vuex](#vuex) | [ElementUI](#ElementUI) | [ElementUI](#ElementUI) | [mint-ui](#mint-ui)