一.HTML5和CSS3新特性:
CSS3新特性:圆角border-radius,阴影 box-shadow,旋转transform,动画animation,过渡模块transition,
HTML5新特性:视频video ,音频audio,画布canvas,表单控件属性data,url,email、file、time。新标签footer,nav,header,section
二.对W3C的理解
1.对于结构要求:标签闭合,标签字母要小写,标签不要乱嵌套
2.对于css和js来说:使用外链css和js,结构,表现,行为分离三块,结构清晰,提高页面加载速度,用户体验提高
三.对Less理解
Less语言是css的预处理器,动态性语言,可以声明变量,存储的值可以随时调用,还可以值运算,函数等方式。
四.WebStorage和cookie的区别
webStorage是html5的属性,分别是sessionStorage和localStorage
相同点:都是保存在服务器端
1.存储的大小不一样,cookie存储小,数量限制在20个,数据最多不能超过4k,webStorage存储比较大,能达到5M或者更大。
2.共享方式,cookie在同源下只要没过期就会一直共享,localStorage在同源中没被删除也会共享,sessionStorage在窗口关闭之前在同一个窗口同源下才会共享
3.cookie始终在同源的http请求中携带,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存
4.数据的有效期不一样,sessionStorage:仅在当前的浏览器窗口关闭有效
localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据
Cookie:只在设置的cookie过期时间之前一直有效,即时窗口和浏览器关闭
五.你对ajax的理解
Ajax是客户端向服务器发送异步请求数据的一种技术,从服务器获取数据,ajax不必刷新整个页面,只需对局部页面进行更新,提高页面的加载速度,从而缩短用户等待时间,改善用户体验。
Ajax优点:
1.无需刷新就可以更新数据,减少用户等待时间,更好的用户体验
2.异步与服务器通信,无需打断用户,响应更加迅速
3.可以把服务器端的一些负担转到客户端,利用客户端闲置的时间来处理。减去服务器的压力
六.讲一下MVVM和MVC模式
MVVM模式:
Model(数据模型)负责对数据的存和取,View(视图负责页面展示),ViewModel(视图数据模型,负责业务逻辑处理),MVVM模式是通过视图模型viewModel来实现连接,view和Model是通过viewModel实现数据双向绑定,分离视图和数据模型
优点:1主要目的是分离视图和模型
2降低代码耦合度,提高视图或者逻辑的复用性
3提高了模块的可测试性
MVC模式:Model(模型)处理数据,view(视图)展示数据的界面,controller(控制器)链接模型和视图的桥梁
MVC是一种业务逻辑,数据,界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进界面及用户交互的同时不需要重新编写业务逻辑。实现分离数据模型和视图的代码。
优点:低耦合,复用性高,可维护性高,分离视图和模型
MVC和MVVM的区别:
MVC的控制器变成MVVM的视图模型,MVVM解决了MVC大量的DOM操作使页面渲染性能降低,加载速度变慢,影响用户体验,当模型Model频繁发生变化,开发者需要主动更新视图,MVC的控制器不能直接改变视图,视图还要依赖于模型,所有MVVM解决了这些问题
七.SQL的理解
SQL是结构化查询语言,是一种数据库查询语言,和数据库通信的语言
八.MySQL的理解
MySQL是关系型数据库,特点:开源,免费,轻量,跨平台
优点:1.免费开源,节约成本
2.性能优越,执行速度非常快
3.操作简单,学习成本低
4.应用广泛
九.git的理解
Git是构建代码管理工具,
优点:1.适合分布式开发,强调个体
2.公共服务器压力和数据量都不会太大
3.速度快,灵活
4.任意两个开发者之间可以很容易的解决冲突
5.离线工作
十.Git和svn的区别
1.git是分布式的,svn不是
2.git和svn的分支不同
3.git的内容完整性要高于svn
十一.Vue的理解
Vue是一套用于构建用户界面的渐进式框架,可以为复杂的单页面应用提供驱动,支持组件化,可以将页面封装成很多个组件,数据驱动加组件化的前端开发,通过简单的API实现响应式的数据绑定和组合的视图组件,核心是关注视图层,是一个构建数据驱动页面的一个框架,将数据绑定视图上,vue提供数据和视图双向绑定原理使我们开发页面更简单,修改了数据,视图会自动更新。Vue是模块化和组件化,如果页面要更新数据,在组件来修改就可以。
Vue有几个特点:1简洁2轻量3快速4模块化5组件化6数据驱动
Vue组件的过程:组件可以提升整个项目的开发效率,能够把页面拆分为多个独立的模块,解决了效率低,难维护,复用性,等问题。
Vue的生命周期
生命周期就是钩子函数,主要是在什么时候来调用这些函数,比如是在创建,挂载,更新,销毁完成之后还是之前,初始化数据完成之前还是之后等
从开始创建、初始化数据、编译模板、挂载Dom→渲染、更新→渲染、卸载等一系列
过程,我们称这是Vue 的生命周期
beforeCreate : 数据声明还没被调用时使用
created :vue渲染完毕后,所有数据和方法初始化后调用
mounted : 挂载元素之后
updated : 如果对数据统一处理,在这里写上相应函数
beforeDestroy : 可以做一个确认停止事件的确认框
nextTick : 更新数据后立即操作dom
BeforeMount 挂载开始之前被调用
vue生命周期的作用是什么?
答:它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑。
第一次页面加载会触发哪几个钩子?
答:第一次页面加载时会触发beforeCreate, created, beforeMount, mounted 这几个钩子
十二.jQuery的理解
jQuery是一个轻量级的javascript框架,极大的简化了js的编程。
1.首先jQuery提供了强大的元素选择器。用于获取html页面中封装了html元素的jQuery对象。像常见的选择器有:基本选择器,层次选择器,过滤选择器,表单选择器。
2.第二点就是jQuery提供了对css样式操作的支持,像对class属性的增加删除切换操作。还有对单个样式操作的支持的css方法,提供了一种简洁统一的操作样式的方法。
3.第三点就是jQuery出色的DOM操作的封装,极大的简化了javascript的对dom节点的增删改查操作,让我们可以使用一种更加简洁的方法来操作节点。
4.第四点就是jQuery还是一个为事件处理特点设计的框架,提供了静态绑定事件和动态绑定事件,完善了事件的处理机制。
5.jQuery解决了大量浏览器之间的兼容性的问题。
6.jQuery极大的简化ajax编程,提供了一种更加简洁,统一的编程方式。
7.jQuery内置了一些简单有用的内置动画,像常见的slideDown/slideUp,hide/show,fadeIn/fadeOut等,还支持基于定位机制使用animate来自定义动画效果。
十三:webpack和gulp的理解
Gulp 是一个任务管理工具,让简单的任务更清晰,让复杂的任务易于掌控,对代码进行构建的工具
webpack是一个前端模块化方案,更侧重模块打包,webpack是一款模块加载兼打包工具,它可以将js、jsx、coffee、样式sass、less,图片等作为模块来使用和处理。
领取专属 10元无门槛券
私享最新 技术干货