前端(Vue,React)框架面试题总结

前言

Vue 是用于构建交互式的 Web 界面的库。Vue 提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。
React 是一个用于构建用户界面的 JAVASCRIPT 库。React 主要用于构建UI,React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它。

Vue 特点:

  • 简洁: HTML 模板 + JSON 数据,再创建一个 Vue 实例。
  • 数据驱动: 自动追踪依赖的模板表达式和计算属性。
  • 组件化: 用解耦、可复用的组件来构造界面。
  • 轻量: ~24kb min+gzip,无依赖。
  • 快速: 精确有效的异步批量 DOM 更新。
  • 模块友好: 通过 NPM 或 Bower 安装,无缝融入你的工作流。

Vue 面试题总结

vue-cli工程

  • 构建的 vue-cli 工程都到了哪些技术,它们的作用分别是什么?
  • vue-cli 工程常用的 npm 命令有哪些?
  • 请说出vue-cli工程中文件夹和文件的用处
  • config文件夹 下 index.js 的对于工程 开发环境 和 生产环境 的配置
  • 请你详细介绍一些 package.json 里面的配置

vue核心知识点

  • 对于Vue是一套渐进式框架的理解
  • vue.js的两个核心是什么?
  • 请问 v-if 和 v-show 有什么区别
  • vue常用的修饰符
  • v-on可以监听多个方法吗?
  • vue中 key 值的作用
  • vue-cli工程升级vue版本
  • vue事件中如何使用event对象?
  • $nextTick的使用
  • Vue 组件中 data 为什么必须是函数
  • v-for 与 v-if 的优先级
  • vue中子组件调用父组件的方法
  • vue中 keep-alive 组件的作用
  • vue中如何编写可复用的组件?
  • 什么是vue生命周期?
  • vue生命周期钩子函数有哪些?
  • vue如何监听键盘事件中的按键?
  • vue更新数组时触发视图更新的方法
  • vue中对象更改检测的注意事项
  • 解决非工程化项目初始化页面闪动问题
  • v-for产生的列表,实现active的切换
  • v-model语法糖的组件中的使用
  • vue中自定义过滤器
  • vue等单页面应用及其优缺点
  • 什么是vue的计算属性?
  • vue-cli提供的几种脚手架模板
  • vue父组件如何向子组件中传递数据?
  • vue弹窗后如何禁止滚动条滚动?
  • 计算属性的缓存和方法调用的区别
  • vue-cli中自定义指令的使用

vue-router

  • vue-router如何响应 路由参数 的变化?
  • 完整的 vue-router 导航解析流程
  • vue-router有哪几种导航钩子( 导航守卫 )?
  • vue-router传递参数的几种方式
  • vue-router的动态路由匹配
  • vue-router如何定义嵌套路由?
  • <router-link></router-link>组件及其属性
  • vue-router实现路由懒加载( 动态加载路由 )
  • vue-router路由的两种模式
  • history路由模式配置及后台配置

vuex

  • 什么是vuex?
  • 使用vuex的核心概念
  • vuex在vue-cli中的应用
  • 在vue中使用vuex,修改state的值
  • vuex actions异步修改状态

http请求

  • Promise对象是什么?
  • axios、fetch与ajax有什么区别?
  • 什么是JS的同源策略和跨域问题?
  • 如何解决跨域问题?
  • axios有什么特点?

UI样式

  • .vue组件的scoped属性的作用
  • 如何让CSS只在当前组件中起作用?
  • vue-cli中常用的UI组件库
  • 如何适配移动端?【 经典 】
  • 移动端媒体查询
  • vue内容垂直和水平居中
  • vue-cli引入图片的方法
  • 移动端常见样式问题
  • 文本超出隐藏

常用功能

  • vue中如何实现tab切换功能?
  • vue中keep-alive 实现标签页组件缓存
  • vue中实现页面从右往左侧滑入效果
  • vue中父子组件如何相互调用方法?
  • vue中央事件总线的使用

MVVM设计模式

  • MVC、MVP与MVVM模式
  • MVC、MVP与MVVM的区别
  • MVVM的实现原理
  • Object.defineProperty()方法
  • ES6中定义的类和对象
  • JS中的文档碎片
  • 解构赋值
  • Array.from
  • Array.reduce
  • 递归的使用
  • Obj.keys()与Obj.defineProperty
  • 发布-订阅模式
  • vue项目优化,缩短首屏加载时间

深入拓展

  • vue开发命令 npm run dev 输入后的执行过程
  • vue的服务器端渲染
  • 从零写一个npm安装包
  • vue-cli中常用到的加载器
  • webpack的特点

篇幅有限,有需要面试资料【点击这里】可以领取前端Vue,React框架面试题(含题目及答案)

React 特点:

  • 声明式设计:React采用声明范式,可以轻松描述应用。
  • 高效:React通过对DOM的模拟,最大限度地减少与DOM的交互。
  • 灵活:React可以与已知的库或框架很好地配合。
  • JSX:JSX 是 JavaScript 语法的扩展。React 开发不一定使用 JSX ,但我们建议使用它。
  • 组件:通过 React 构建组件,使得代码更加容易得到复用,能够很好的应用在大项目的开发中。
  • 单向响应的数据流:React 实现了单向响应的数据流,从而减少了重复代码,这也是它为什么比传统数据绑定更简单。

React面试题总结

基本知识

  • 区分Real DOM和Virtual DOM
  • 什么是React?
  • React有什么特点?
  • 列出React的一些主要优点。
  • React有哪些限制?
  • 什么是JSX?
  • 你了解 Virtual DOM 吗?解释一下它的工作原理。
  • 为什么浏览器无法读取JSX?
  • 与 ES5 相比,React 的 ES6 语法有何不同?
  • React与Angular有何不同?

React 组件

  • 你理解“在React中,一切都是组件”这句话。
  • 解释 React 中 render() 的目的。
  • 如何将两个或多个组件嵌入到一个组件中?
  • 什么是 Props?
  • React中的状态是什么?它是如何使用的?
  • 区分状态和 props
  • 如何更新组件的状态?
  • React 中的箭头函数是什么?怎么用?
  • 区分有状态和无状态组件。
  • React组件生命周期的阶段是什么?
  • 详细解释 React 组件的生命周期方法。
  • React中的事件是什么?
  • 如何在React中创建一个事件?
  • React中的合成事件是什么?
  • 你对 React 的 refs 有什么了解?
  • 列出一些应该使用 Refs 的情况。
  • 如何模块化 React 中的代码?
  • 如何在 React 中创建表单
  • 你对受控组件和非受控组件了解多少?
  • 什么是高阶组件(HOC)?
  • 你能用HOC做什么?
  • 什么是纯组件?
  • React 中 key 的重要性是什么?

React Redux

  • MVC框架的主要问题是什么?
  • 解释一下 Flux
  • 什么是Redux?
  • Redux遵循的三个原则是什么?
  • 你对“单一事实来源”有什么理解?
  • 列出 Redux 的组件。
  • 数据如何通过 Redux 流动?
  • 如何在 Redux 中定义 Action?
  • 解释 Reducer 的作用。
  • Store 在 Redux 中的意义是什么?
  • Redux与Flux有何不同?
  • Redux 有哪些优点?

React 路由

  • 什么是React 路由?
  • 为什么React Router v4中使用 switch 关键字 ?
  • 为什么需要 React 中的路由?
  • 列出 React Router 的优点。
  • React Router与常规路由有何不同?

本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):