美文网首页
面试题大总结

面试题大总结

作者: May_5b49 | 来源:发表于2020-09-02 20:59 被阅读0次

1.Vue的生命周期?
beforeCreate》created》beforeMount 》mounted 》beforeUpdate 》updated 》beforeDestroy 》destroyed

2.父调子用的是哪个生命周期?

  1. 子调父用的是哪个生命周期?

4.数组套数组怎么去重?

5.Vue生命周期的执行过程?
  1、创建vue实例,Vue();
  2、在创建Vue实例的时候,执行了init(),在init过程中首先调用了beforeCreate钩子函数;
  3、同时监听data数据,初始化vue内部事件,进行属性和方法的计算;
  4、以上都干完了,调用Created钩子函数;
  5、模板编译,把data对象里面的数据和vue语法写的模板编译成HTML。编译过程分三种情况:1)实例内部有template属性,直接调用,然后调用render函数去渲染;2)没有该属性调用外部html;3)都没有抛出错误;
  6、编译模板完成,调用beforeMount钩子函数;
  7、render函数执行之后,将渲染出来的内容挂载到DOM节点上;
  8、挂在结束,调用Mounted钩子函数;
  9、数据发生变化,调用beforeUpdate钩子函数,经历virtual Dom;
  10、更新完成,调用Updated钩子函数;
  11、beforeDestory销毁所有观察者、组件及事件监听;
  12、Destoryed实例销毁;
6.VUEX的理解?
vuex的五个核心属性是:
读取状态集中放在 store中,改变状态的方式提交mutations同步操作。异步逻辑封装在action中
state(基本数据)、getters(从基本数据派生的数据)、mutations(commit提交更改数据的方法,同步)、actions(像一个装饰器,包裹mutations,使之可以异步)、modules(模块化Vue)。
第二天
1,代码优化有哪些?

  1. 页面级优化
    减少 HTTP请求数、合理设置 HTTP缓存、资源合并与压缩、 CSS Sprites、按需加载,
    删除不必要的代码和注释包括空格,尽量做到最小化文件。
  • 可以利用 GZIP 压缩文件。

  • 结合 HTTP 缓存文件。
    图片编码优化,尽量使用svg和字体图标
    webpack模块打包和JavaScript 压缩(如gzip压缩)
    利用CDN
    按需加载资源
    在使用 DOM 操作库时用上 array-ids
    缓存优化
    避免重定向
    启用 HTTP/2

    2.代码级优化
    减少DOM操作、避免全局变量、减少重绘和重排频率、timeline面板可以查看刷新率,先看“事件模式” 可以从中判断性能问题发生在哪个环节是JS执行,还是渲染,蓝色是网络通信和HTML解析,黄色是JS执行,紫色是样式计算布局(重排) 哪个色块越长问题越大。

  1. v-if和v-for的优先级?

  2. 路由有哪几种模式
    history(pushState/replaceState)和hash模式

4.路由钩子函数
beforeEach(to,from,next) \ afterEach

5.keep-alive的了解
keep-alive内置组件,被包含组件保留状态,避免重新渲染

6.route和router的区别
route路由信息对象,包括path, params, hash, query, fullPath, name等参数,router是路由实例包括路由的跳转方法钩子函数。

7.vue的核心
数组驱动,组件化
8.vue常用的修饰符
.prevent提交事件不现重载页面 .stop阻止单击事件冒泡 .capture事件侦听

9.vue中key值的作用
为了更新虚拟DOM

10.定义vue-router的动态路由,怎么获取传过来的值 ?
在router目录下的index.js文件中,对path属性加上:id,使得routr对象的params.id获取

  1. type=null是什么类型
    object对象

12.计算属性

13.组件通信

14.创建对象有哪些方法?
1.对象字面量 2. new Object(); 3.构造函数 4.Object.create

15.ajax用到的请求方式有哪些?
get,post,put, delete,

16.script怎么实现异步加载?

17.CommonJS, AMD, CMD的区别
1.CommonJS是服务器端js模块化(同步),一个单独的文件就是一个模块,但是必须用exports导出(exports.test = A;)
2.AMD(异步加载)
通过define方法去定义模块,通过require方法去加载模块。


image.png

3.CMD(通用模块定义,推崇职责单一)
CMD 推崇依赖就近,AMD 推崇依赖前置

18.为什么要使用模块化,有哪几种方式实现模块化
1.模块化可以解决命名冲突
2.提供复用化
3.提高代码可维护性
立即执行函数
(function (aa){
aa.text=function{}
//声明各种变量,函数不会污染全局作用域
)(aa)

19.Vue的优化
1.引入生产环境的vue文件
2.单文件给件预编译模板
3.提取组件css到单独的文件
4.利用object.freeze()提升性能
5.扁平化stor数据结构
6.合理使用持久化store数据
7.组件懒加载

  1. vue应用加载性能优化措施
    预渲染/组件懒加载

相关文章

网友评论

      本文标题:面试题大总结

      本文链接:https://www.haomeiwen.com/subject/catbsktx.html