自己补充

1、进程间通信的方式

1)管道:用于具有亲缘关系的父子进程间或兄弟进程之间的通信

2)共享内存:使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据的更新

3)信号:用来通知接受进程某个事件已经发生

4)信号量:是一个计数器

5)socket:用于客户端和服务器端的进程通信

6)消息队列

2、在浏览器中敲入网址后,到网页显示,中间发生了什么过程

1)浏览器的第一步工作是解析URL,从而生成发送给Web服务器的请求信息。
2)DNS域名解析
3)TCP连接
4)HTPP请求
5)服务器响应请求,返回响应报文
6)浏览器根据返回内容渲染页面

3、三次握手以及为什么需要三次握手

三次握手

为什么需要三次?

  1. 阻止重复历史连接的初始化(主要原因)
  2. 同步双方的初始序列号
  3. 避免资源浪费

不使用两次握手和四次握手的原因

  • 两次握手:无法防止历史连接的建立,会造成双方资源的浪费,也无法可靠的同步双方序列号;
  • 四次握手:三次握手就已经理论上建立可靠的连接了,所以不需要使用更多的通信次数。

4、四次挥手以及为什么需要四次挥手

四次挥手

为什么需要四次挥手
回顾下四次挥手双方发FIN包的过程,就能理解为什么需要四次了

  • 关闭连接时,客户端向服务端发送FIN时,仅仅表示客户端不再发送数据了但是还能接收数据。
  • 服务器端收到客户端的FIN报文时,先回一个ACK应答报文,而服务端可能还有数据需要处理和发送,等服务端不再发送数据时,才会发送FIN报文给客户端来表示同意现在关闭连接。
  • 从上面过程可知,服务端通常需要等待完成数据的发送和处理,所以服务端的ACKFIN一般都会分开发送,从而比三次握手导致多了一次。

为什么TIME_WAIT等待的时间是2MSL
MSL,Maximum Segment Lifetime英文的缩写,报文最大生存时间,它是任何报文在网络上存在的最长时间,超过这个时间将被丢弃。

  1. 保证客户端发送的最后一个ACK报文能够到达服务器,因为这个ACK报文可能会丢失。
  2. 如果被动关闭方没有收到断开连接的最后的 ACK 报文,就会触发超时重发 Fin 报文,另一方接收到 FIN 后,会重发ACK给被动关闭方,一来一去正好 2 个 MSL

5、经典排序算法的比较

经典排序算法比较
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 夜莺2517阅读 127,787评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 11,833评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 12,720评论 28 53
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 7,499评论 2 9