vue、js 相关面试题 2020 年

1.https的好处;

Https相比于Http协议的优点和缺点

       1、优点

        相比于http,https可以提供更加优质保密的信息,保证了用户数据的安全性,
        此外https同时也一定程度上保护了服务端,使用恶意攻击和伪装数据的成本大大提高。

       2、缺点

         缺点也同样很明显,第一https的技术门槛较高,多数个人或者私人网站难以支撑,
         CA机构颁发的证书都是需要年费的,此外对接Https协议也需要额外的技术支持;
         其二,目前来说大多数网站并不关心数据的安全性和保密性,其https最大的优点对它来说并不适用;
         其三,https加重了服务端的负担,相比于http其需要更多的资源来支撑,同时也降低了用户的访问速度;
         第四,目前来说Http网站仍然大规模使用,在浏览器侧也没有特别大的差别,很多用户不关心的话根本不感知。

2.深拷贝和浅拷贝 ;

深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。
假设B复制了A,修改A的时候,看B是否发生变化:

如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值)

如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)

浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,

深拷贝(deepCopy)是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,

使用深拷贝的情况下,释放内存的时候不会因为出现浅拷贝时释放同一个内存的错误。

  浅拷贝可以使用列表自带的copy()函数(如list.copy()),或者使用copy模块的copy()函数。
  深拷贝只能使用copy模块的deepcopy(),所以使用前要导入:from copy import deepcopy
  
  	如果拷贝的对象里的元素只有值,没有引用,那浅拷贝和深拷贝没有差别,都会将原有对象复制一份,
  产生一个新对象,对新对象里的值进行修改不会影响原有对象,新对象和原对象完全分离开。
  
  	如果拷贝的对象里的元素包含引用(像一个列表里储存着另一个列表,存的就是另一个列表的引用),
  那浅拷贝和深拷贝是不同的,浅拷贝虽然将原有对象复制一份,但是依然保存的是引用,
  所以对新对象里的引用里的值进行修改,依然会改变原对象里的列表的值,
  新对象和原对象完全分离开并没有完全分离开。而深拷贝则不同,它会将原对象里的引用也新创建一个,
  即新建一个列表,然后放的是新列表的引用,这样就可以将新对象和原对象完全分离开。

3.跨域的方法;

1、 通过jsonp跨域
2、 document.domain + iframe跨域
3、 location.hash + iframe
4、 window.name + iframe跨域
5、 postMessage跨域
6、 跨域资源共享(CORS7、 nginx代理跨域
8、 nodejs中间件代理跨域
9、 WebSocket协议跨域

4.浏览器存储(cookie、localStorage、sessionStorage;(下面有);
5.回流和重绘的区别;

概念: 当渲染树中的一部分或者全部因为元素的尺寸、布局、隐藏等改变而需要重新构建的时候,这时候就会发生回流。每个页面都至少发生一次回流,也就是页面第一次加载的时候。在回流的时候,浏览器会使渲染树中受到影响的元素部分失效,并重新绘制这个部分的渲染树,完成回流以后,浏览器会重新绘制受到影响的
部分元素到屏幕中,这个过程就是重绘。
什么时候会发生回流?
1、添加或者删除可见的DOM元素的时候
2、元素的位置发生改变
3、元素尺寸改变
4、内容改变
5、页面第一次渲染的时候

6.flex布局;

flex-direction属性决定主轴的方向(即项目的排列方向)。
flex-direction: row | row-reverse | column | column-reverse;

flex-wrap
flex-flow
justify-content
align-items属性定义项目在交叉轴上如何对齐。
align-items: flex-start | flex-end | center | baseline | stretch;

align-content


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值