美文网首页
前端知识总结 html css js react框架 网络等

前端知识总结 html css js react框架 网络等

作者: 牛奶大泡芙 | 来源:发表于2019-12-12 10:58 被阅读0次

最近整理了一下前端技术的相关知识,面试的过程中可能涉及到的一些基本问题(内容比较多,持续更新中...)


插图.jpg

1、js
1)垃圾回收机制的种类和原理?
分成两类,标记清除和引用计数
标记清除:js最常用的垃圾回收方式,当变量进入执行环境,就被标记为“进入环境”,环境中的变量和被他们引用的对象之外对象是不会被引用的,他们所占用的空间将会被回收。(其中,查找引用的过程可以看成是一棵树的形式,从根环境开始,以变量为节点,引用关系为路径,不在此树上的变量节点就是被清除的对象)
引用计数:跟踪每一个变量被引用的次数,引用次数为零,说明无法访问这个对象,就会被清除。
2)new一个对象的时候发生了什么?

let son = new Father()

创建一个空对象
把Father的prototype属性赋值给son的proto属性
Father.call(son),执行构造函数,把this指向新对象
把空对象赋值给son
3)什么是构造函数,和普通函数有什么区别?
构造函数可以通过new操作符创建一个实例,让实例继承父类的属性和方法
规范:构造函数首字母大写
构造函数不会显式返回对象,可以由new过程创建
构造函数如果显式返回一个对象,则会覆盖new所构建的
构造函数如果显式返回一个基本类型,则会被忽略
4)如何进行继承?
原型链继承:(Son 创建的对象可以继承Father的属性)

function Father(){
    this.name = 'xx'; 
    this.age = 5;
};
var Son = function(){}; 
Son.prototype = new Father();
var b = new Son()

构造函数继承:

function Father(){
    this.name = 'xx';
    this.age = 2
};
var Son = function(){};
Father.call(Son);

2、网络
1)tcp/ip连接是三次握手,断开是四次挥手?
服务端是被动的,处于listen状态,收到建立连接的SYN报文后,把ACK和SYN信息放在一个报文中发送给client,此时还不知道client的情况,所以不需要主动发数据;关闭连接时,收到对方的FIN报文,此时client不会再发送报文了,但是还可以接收,server发回一个ACK,表示知道了,但是不一定同意关闭连接,可以发一些数据之后,再发送FIN报文表示同意关闭。
2)http2.0的特点?
· 多路复用:一个request对应一个stream并分配一个id,一个连接上可能有多个stream,每个stream的帧可以随机的混杂在一起,接收方根据stream id将帧归属到不同的request里面(所有http2.0通信都在一个连接上完成,可以承载任意数量上的双向数据流)
· 头部压缩:只发送头部信息中的差异数据
· 连接重置:可以中断已经发出去的消息
· 依赖与优先级:每一个stream都包含31比特的标志表示优先级
· server推送:server可以将资源主动推送给client
· 流量控制:http2.0每一个stream都有自己的流量窗口,可以限制另一端发送数据

相关文章

网友评论

      本文标题:前端知识总结 html css js react框架 网络等

      本文链接:https://www.haomeiwen.com/subject/symzgctx.html