近两年最流行的面试题

2020最流行的面试题(前端)

1、v-for的key的作用
答:key的作用主要是为了高效的更新虚拟DOM
虚拟DOM :
• 用 JavaScript 对象模拟真实 DOM 树,对真实 DOM 进行抽象;
• diff 算法 — 比较两棵虚拟 DOM 树的差异;
• pach 算法 — 将两个虚拟 DOM 对象的差异应用到真正的 DOM 树。

2、Vue内数组更新会遇到什么问题 ?
问题: 当数据变化时视图不会更新
解决: Vue.set(vm.itmes(data下面的数组),a(这是items的第一个数组值,b(这是需要修改的值))

3、Vue优化
1.使用模块化开发
2.keep-alive进行缓存,多次使用tab栏类型
3.用let来存储data里面的值,可以减少请求的发送
4.经历少使用v-if,多使用v-show,应为v-if他是一个判断,所以每次都在拉低性能,v-show他只是css的样式

4、重绘和回流
重绘 : 当页面高度,宽度,边框,颜色改变时这时就需要重绘
回流: 回流的过程就是重新加载dom页面
5、Rem实现原理
rem时百分比布局,也是弹性布局,还是响应式布局,他是根据html根元素的font-sizi(字体)的字体大小来改变试图,随着页面的的大小来改变html根元素的大小

6、Iframe的优缺点
一个内联框架被用来在当前 HTML 文档中嵌入另一个文档
优点:
1.iframe能够原封不动的把嵌入的网页展现出来。
2.如果有多个网页引用iframe,那么你只需要修改iframe的内容,就可以实现调用的每一个页面内容的更改,方便快捷。
3.网页如果为了统一风格,头部和版本都是一样的,就可以写成一个页面,用iframe来嵌套,可以增加代码的可重用。
4.如果遇到加载缓慢的第三方内容如图标和广告,这些问题可以由iframe来解决。
缺点:
1.会产生很多页面,不容易管理。
2.iframe框架结构有时会让人感到迷惑,如果框架个数多的话,可能会出现上下、左右滚动条,会分散访问者的注意力,用户体验度差。
3.代码复杂,无法被一些搜索引擎索引到,这一点很关键,现在的搜索引擎爬虫还不能很好的处理iframe中的内容,所以使用iframe会不利于搜索引擎优化。
4.很多的移动设备(PDA手机)无法完全显示框架,设备兼容性差。
5.iframe框架页面会增加服务器的http请求,对于大型网站是不可取的。
分析了这么多,现在基本上都是用Ajax来代替iframe,所以iframe已经渐渐的退出了前端开发

7、IM了解不
IM 就是即时通讯(可以百度深度了解)

8、Chrome怎么支持小于12px的字体大小
-webkit-text-size-adjust:none 处理了兼容性的问题
font-size:10px 这时候就可以设置了

9、Vue中的data为什么是函数
如果data是一个函数的话,这样每复用一次组件,就会返回一份新的data,类似于给每个组件实例创建一个私有的数据空间,让各个组件实例维护各自的数据。而单纯的写成对象形式,就使得所有组件实例共用了一份data,就会造成一个变了全都会改变的结果

10、口述下防抖和节流的实现方式
防抖:原理:预防疯狂点击事件,在有效时只触发一次
节流: 比如说下拉,每秒触发一次,一秒以内多次下拉没有用
都可以增强性能

11、浅拷贝和深拷贝
浅拷贝:只拷贝对象,但是内存地址还是一样,值会一起改变
深拷贝:拷贝成另外一个对象,互不影响

12、PC端怎么适配移动端
一:响应式布局
二:自适应布局

13、git的使用命令
(私信我发资料给你)

14、闭包的作用,回调函数是不是一个闭包
闭包是函数的作用域下面返回了一个函数,这时候外面可以访问这个函数,是闭包
回调函数是一个闭包,但是闭包里面不能访问回调函数

15、vuex的是什么,vuex的属性有那些?mutations和action的区别?
vuex是用来存储数据的,共享数据的
State
相当vue里面的data
mutations
可以改变里面State里面值的数据
action
• Action 提交的是 mutation,而不是直接变更状态。
• Action 可以包含任意异步操作
getter
就像计算属性一样,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算
module(提供xuex的地址,可以查询详情 https://vuex.vuejs.org/zh/guide/modules.html )
有一些可能不太全面,可以评论哦~

你可能感兴趣的:(面试总结)