写在前面
CSDN话题挑战赛第1期
-
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
-
参赛话题:前端面试宝典
-
话题描述:欢迎各位加入话题创作得小伙伴,如果我没有猜错得话,我觉得你是应该同我一样是一位前端人。如今前端在IT事业中的占比越来越重,已经成为不可缺少的部分,前端技术也是层出不穷,各种技术类、技术框架也蜂拥而出,前端面试的难度也随之增加,如果我们拥有一套前端面试宝典。如果你是应聘者:你就可以从容的solo面试官,如果你是面试官:你就可以将应聘者拷问到骨子里!
总之我们大家一起将自己的面试经验以及学习到的知识点汇聚于此,形成一套体系的前端面试宝典。让读者无论是面试还是学习都能够有非常大的收获。就让我们携手共筑前端面试宝典吧!!! -
创作模板:
题目一
谈谈你对Vue的理解
考点
- vue的核心理念
- Vue核心特性
- Vue跟传统开发的区别
- Vue的优缺点
答案
- 它是一个渐进式JavaScript框架
- 核心库加插件
- 动态创建用户界面
- 使用MVVM模式
- 代码简洁 体积小 能够提高运行效率
- 适合PC端和移动端的开发
- 可以轻松引入vue插件以及其他第三方库进行开发
题目二
SPA是什么
考点
- SPA—单页面应用
- SPA的实现
- SPA的优缺点
- SPA的功能
答案
- 单页面应用 single page applicable
- 页面只加载一次其他内容通过改变页面内容实现,
- 使用路由器实现 根据用户操作 改变用户界面而不需要刷新页面的功能
- 控制整个应用视图状态的控制器
题目三
Vue的优点
考点
- Vue的优点
答案
- 轻量级框架:只关注视图层,是一个构建数据的视图集合,大小只有几十 kb ;
- 简单易学:国人开发,中文文档,不存在语言障碍 ,易于理解和学习;
- 双向数据绑定:保留了 angular 的特点,在数据操作方面更为简单;
- 组件化:保留了 react 的优点,实现了 html 的封装和重用,在构建单页面应用方面有着独特的优势;
- 视图,数据,结构分离:使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作;
- 虚拟DOM:dom 操作是非常耗费性能的, 不再使用原生的 dom 操作节点,极大解放 dom 操作,但具体操作的还是 dom 不过是换了另一种方式;
- 运行速度更快:相比较于 react 而言,同样是操作虚拟 dom ,就性能而言, vue 存在很大的优势。
题目四
SPA首屏加载速度慢的怎么解决?
考点
- 加载慢的原因
- 常见的几种SPA首屏优化方式
答案
加载慢的原因
- 网络延时问题
- 资源文件体积是否过大
- 资源是否重复发送请求去加载了
- 加载脚本的时候,渲染内容堵塞了
常见的几种SPA首屏优化方式
- 减小入口文件积
- 静态资源本地缓存
- UI框架按需加载
- 图片资源的压缩
- 组件重复打包
- 开启GZip压缩
- 使用SSR
题目五
Vue数据双向绑定原理
考点
- 实现方式
- 实现原理
答案
实现mvvm
的数据双向绑定,是采用数据劫持结合发布者-订阅者模式
的方式,通过Object.defineProperty()
来给各个属性添加setter
,getter
并劫持监听,在数据变动时发布消息给订阅者,触发相应的监听回调。就必须要实现以下几点:
- 实现一个数据监听器Observer,能够对数据对象的所有属性进行监听,如有变动可拿到最新值并通知订阅者
- 实现一个指令解析器Compile,对每个元素节点的指令进行扫描和解析,根据指令模板替换数据,以及绑定相应的更新函数
- 实现一个Watcher,作为连接Observer和Compile的桥梁,能够订阅并收到每个属性变动的通知,执行指令绑定的相应回调函数,从而更新视图
写在最后
CSDN话题挑战赛第1期