考察点:网络基础
三次握手的过程
1)主机A向主机B发送TCP连接请求数据包,其中包含主机A的初始序列号seq(A)=x。(其中报文中同步标志位SYN=1,ACK=0,表示这是一个TCP连接请求数据报文;序号seq=x,表明传输数据时的第一个数据字节的序号是x);
2)主机B收到请求后,会发回连接确认数据包。(其中确认报文段中,标识位SYN=1,ACK=1,表示这是一个TCP连接响应数据报文,并含主机B的初始序列号seq(B)=y,以及主机B对主机A初始序列号的确认号ack(B)=seq(A)+1=x+1)
3)第三次,主机A收到主机B的确认报文后,还需作出确认,即发送一个序列号seq(A)=x+1;确认号为ack(A)=y+1的报文;
四次挥手过程
假设主机A为客户端,主机B为服务器,其释放TCP连接的过程如下: 1) 关闭客户端到服务器的连接:首先客户端A发送一个FIN,用来关闭客户到服务器的数据传送,然后等待服务器的确认。其中终止标志位FIN=1,序列号seq=u。 2) 服务器收到这个FIN,它发回一个ACK,确认号ack为收到的序号加1。 3) 关闭服务器到客户端的连接:也是发送一个FIN给客户端。
4) 客户段收到FIN后,并发回一个ACK报文确认,并将确认序号seq设置为收到序号加1。 首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。
三次握手
四次挥手
本文向大家介绍请简单描述一下类的加载过程相关面试题,主要包含被问及请简单描述一下类的加载过程时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM 如下图所示,JVM类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这个类的java.lang.Class对象,作为方法区这个类的各种数据的
本文向大家介绍请你说一下TCP怎么保证可靠性,并且简述一下TCP建立连接和断开连接的过程相关面试题,主要包含被问及请你说一下TCP怎么保证可靠性,并且简述一下TCP建立连接和断开连接的过程时的应答技巧和注意事项,需要的朋友参考一下 参考回答: TCP保证可靠性: (1)序列号、确认应答、超时重传 数据到达接收方,接收方需要发出一个确认应答,表示已经收到该数据段,并且确认序号会说明了它下一次需要接收
有什么想法吗?
本文向大家介绍请简单描述一下JVM分区都有哪些?相关面试题,主要包含被问及请简单描述一下JVM分区都有哪些?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JVM java内存通常被划分为5个区域:程序计数器(Program Count Register)、本地方法栈(Native Stack)、方法区(Methon Area)、栈(Stack)、堆(Heap)。
本文向大家介绍详细描述一下Elasticsearch搜索的过程?相关面试题,主要包含被问及详细描述一下Elasticsearch搜索的过程?时的应答技巧和注意事项,需要的朋友参考一下 面试官:想了解ES搜索的底层原理,不再只关注业务层面了。 解答: 搜索拆解为“query then fetch” 两个阶段。 query阶段的目的:定位到位置,但不取。 步骤拆解如下: 1)假设一个索引数据有5主+1
本文向大家介绍详细描述一下 Elasticsearch 搜索的过程?相关面试题,主要包含被问及详细描述一下 Elasticsearch 搜索的过程?时的应答技巧和注意事项,需要的朋友参考一下 1、搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch; 2、在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的大小为