前端面试题 X 10

138 阅读3分钟

1.HTTP 协议和 HTTPS 区别

http 是超文本传输协议,信息是明文传输,https 是具有安全性的 ssl 解密传输协议。

http 和 https 连接方式完全不同,端口也不同,http 是 80,https 是 443 http 的连接很简单,是无状态的。

https 协议是由 ssl+http 协议构建的可进行加密传输,身份认证的网络协议,比 http 协议安全。

2.Get 和 post 不同

Get 是从服务器上获取数据,post 是向服务器传送数据。在客户端,get 通过 url 提交数据,数据在 url 中可以看到,post 方式,数据放在 html header 中提交。安全性问题 Get 提交数据最多只能有 1024 字节,post 没有限制

3.Vuex 是什么?怎么使用?在那种场景下使用

Vuex 是一个专为 vue.js 应用程序开发的状态管理模式,通过创建一个集中的数据存储,方便程序中的所有组件进行访问,简单来说 vuex 就是 vue 的状态管理工具 Vuex 有五个属性 state getters mutations actions modules

State 就是数据源存放地,对应一般 vue 对象的 data,state 里面存放的数据是响应式的,state 数据发生改变,对应这个数据的组件也会发生改变 用 this.$store.state.xxx

调用 Getters 相当于 store 的计算属性,主要是对 state 中数据的过滤,用 this.$store.getters.xxx

调用 Mutations 处理数据逻辑的方法全部放在 mutations 中,当触发事件想改变 state 数据的时候使用 mutations。

4.Vue 路由模式 hash 和 history,简单讲一下

Hash 模式地址栏中有#,history 没有。

5.Route 与 router 区别

  1. router 是 VueRouter 的一个对象,通过 Vue.use(VueRouter)和 VueRouter 构造函数得到一个 router 的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。
  2. route 是一个跳转的路由对象,每一个路由都会有一个 route 对象,是 一个局部的对象,可以获取对应的 name,path,params,query

6.vuex 的 State 特性是?

State 就是数据源的存放地 State 里面的数据是响应式的,state 中的数据改变,对应这个数据的组件也会发生改变 State 通过 mapstate 把全局的 state 和 getters 映射到当前组件的计算属性中

7.vuex 的 Getter 特性是?

Getter 可以对 state 进行计算操作,它就是 store 的计算属性 Getter 可以在多组件之间复用,如果一个状态只在一个组件内使用,可以不用 getters

8.vuex 的 Mutation 特性是?

更改 vuex store 中修改状态的唯一办法就是提交 mutation,可以在回调函数中修改 store 中的状态

9.vuex 的 actions 特性是?

Action 类似于 mutation,不同的是 action 提交的是 mutation,不是 直接变更状态,可以包含任意异步操作

10.说说你对 proxy 的理解

vue 的数据劫持有两个缺点: 1、无法监听通过索引修改数组的值的变化 2、无法监听 object 也就是对象的值的变化所以 vue2.x 中才会有 $set 属性的存在 proxy 是 es6 中推出的新 api,可以弥补以上两个缺点,所以 vue3.x 版本用 proxy 替换 object.defineproperty。