vue面试题(全)
服务端与网络
1.http/https 协议
http:超文本传输协议,是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种网络协议,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。
js篇 (包含es6)
1.递归
定义 : 一个含直接或间接调用本函数语句的函数被称之为递归函数
它必须满足以下两个条件:
1) 数据类型必须一致;
2) 必须有一个终止处理或计算的准则。
使用场景 : 树形控件。
2. 闭包
概念:内层函数调用外层函数的变量或参数,就会形成闭包。
应用场景:
保护函数内的变量安全。
在内存中维持一个变量。
回收机制:
在Javascript中,如果一个对象不再被引用,那么这个对象就会被GC回收。如果两个对象互相引用,而不再被第3者所引用,那么这两个互相引用的对象也会被回收。因为函数a被b引用,b又被a外的c引用,这就是为什么函数a执行后不会被回收的原因。
缺点:
1,引用的变量可能发生变化
2,this指向问题
3, 内存泄漏
4,常驻内存,增加内存使用量。
优点:
希望一个变量长期存储在内存中。
避免全局变量的污染。
私有成员的存在。
使用闭包的注意点:
(1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。
(2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。
3.抓包
概念:
抓包(packet capture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。
抓包的主要作用介绍:
通过对网络上传输的数据进行抓取,可以对其进行分析,对于软件的Debug很大的帮助。当然也可以通过抓取用户发送的涉及用户名和密码的数据包来获取用户的密码。
1、网络通讯的真实内容;
2、网络故障分析;
3、程序网络接口分析;
4、木马通讯数据内容。
4.爬虫
简单来讲,爬虫就是一个探测机器,它的基本操作就是模拟人的行为去各个网站溜达,点点按钮,查查数据,或者把看到的信息背回来。
html篇
1.你是怎么理解HTML语义化
有助于开发人员对HTML文档的理解,完善的语义化能够使阅读HTML文档的人员高效率地理解文档。
不单单有助于人,也可以让用户代理、爬虫和搜索引擎更好地分析web页面,从而可以对页面内容做更好地挖掘和处理。
2.你用过哪些HTML5标签
<article> 定义独立的内容
<aside> 定义页面内容之外的内容
<audio> 定义声音内容
<bdi> 定义文本的文本方向,使其脱离其周围文本的方向设置
<canvas> 定义图形
<command> 定义命令按钮
<datalist> 定义下拉列表
<details> 定义元素的细节
<embed> 定义外部交互内容或插件
<figcaption> 定义figure元素的标题
<figure> 定义媒介内容的分组,以及他们的标题
<footer> 定义section或page的页脚
<header> 定义section或page的页眉
<hgroup> 定义有关文档中的section信息
<keygen> 定义生成密钥
<mark> 定义有记号的文本
<meter> 定义预定义范围内的度量
<nav> 定义导航链接
<output> 定义输出的一些类型
<progress> 定义任何类型的任务的进度
<rp> 定义若浏览器不支持ruby元素显示的内容
<rt> 定义ruby注释的解释
<ruby> 定义ruby注释
<section> 定义section
<source> 定义媒介源
<summary> 定义details元素的标题
<time> 定义日期/时间
<track> 定义用在媒体播放器中的文本轨道
<video> 定义视频
3.meta viewport 是做什么用的,怎么写?
(没学过)
4.H5是什么
label标签的作用
行内元素有哪些?块级元素有哪些? 空(void)元素有那些?
a标签中 如何禁用href 跳转页面 或 定位链接
canvas在标签上设置宽高 和在style中设置宽高有什么区别
css
页面渲染时,dom 元素所采用的 布局模型,可通过box-sizing进行设置。根据计算宽高的
ie盒模型算上border、padding及自身(不算margin),标准的只算上自身窗体的大
几种获得宽高的方式 :
拓展各种获得宽高的方式 :
css reset和normalize.css有什么区别
居中方法:
css优先确定级:
如何清除浮动:
请你谈谈Cookie的优缺点
Array.prototype.slice.call(arr,2)方法的作用是:
简单说一下浏览器本地存储是怎样的
原型 / 构造函数 / 实例
原型链:
执行上下文(EC)
变量对象
作用域链