文章目录

  • 前言
  • 面试题系列文章传送门
  • 计算机网络面试题内容
    • 1. TCP为什么需要3次握手?
    • 2. TCP为什么4次挥手(断开)?
    • 3. 说说OSI与TCP/IP各层的结构与功能,它们的协议有哪些?
    • 4. 第2次握手传回了ACK,为什么还要传回SYN?
    • 5. TCP和UDP有什么区别?
    • 6. TCP协议如何保证可靠传输?
    • 7. HTTP的长连接和短连接?
    • 8. 什么是TCP短连接和TCP长连接?
    • 9. URI和URL的区别是什么?
    • 10. ip地址分段是什么?

前言

作为应届生,处于找工作中ing。今年2月份刚刚整理出来的面试题,时间比较赶就没有按照模块分类排序了。总而言之,顺序比较乱,希望大家耐着性子 看。如果实在介意,评论告知,我会视情况作修改的。另外如果大家觉得我找的答案不够清晰,欢迎私信或者评论只出,我看到都会去修改的!


面试题系列文章传送门

2021年后端开发面试题整理合集


计算机网络面试题内容

1. TCP为什么需要3次握手?

TCP三次握手的目的是建立可靠的通信信道和双方确认自己与对方的发送与接收是正常的。
第一次握手:Client什么都不能确认;Server确认了对方发送正常,自己接收正常。
第二次握手:Client确认了:自己发送、接收正常,对方发送、接收正常;Server确认了:对方发送正常,自己接收正常。
第三次握手:Client确认了:自己发送、接收正常,对方发送接收正常;Server确认了:自己发送、接收正常,对方发送、接收正常。

2. TCP为什么4次挥手(断开)?

因为TCP是全双工通信的
第一次挥手:当主动方发送断开连接的请求给被动方时,仅仅代表主动方不会再发送数据报文了,但主动方仍可以接收数据报文。
第二次挥手:被动方此时有可能还有相应的数据报文需要发送,因此需要先发送ACK报文,告知主动方“我知道你想断开连接的请求了”,这样主动方便不会因为没有收到应答而继续发送断开连接的请求。
第三次挥手:被动方在处理完数据报文后,便发送给主动方断开连接的请求;这样可以保证数据通信正常可靠地完成。发送完FIN报文后,被动方进入超时等待阶段。
第四挥手:如果主动方及时发送ACK报文进行连接中断的确认,这时被动方就直接释放连接,进入可用状态。
辅助理解:连接的请求(即FIN报文)

3. 说说OSI与TCP/IP各层的结构与功能,它们的协议有哪些?

OSI的七层模型有应用层、表示层、会话层、运输层、网络层、数据链路层、物理层;TCP/IP的体系结构是应用层,运输层(TCP或UDP)、网际层、网络接口层,为了中和OSI和TCP/IP的优点,采用一种五层协议的体系结构:

  1. 应用层:是通过应用进程间的交互拉来完成的特定网络应用。
  2. 运输层:负责向两台主机进程之间的通信提供通用的数据传输服务,主要使用了TCP和UDP协议。
  3. 网络层:选择合适的路由和交换结点,使发送站的运输层所传下来的分组能够正确无误地按照地址> 找到目的站,并交付给目的站的运输层。
  4. 数据链路层:在两个相邻结点间的线路上无差错地传送以帧为单位的数据,每一帧包括数据和必要的控制信息。
  5. 物理层:实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异,使数据链路层不需要考虑网络的具体传输介质。

4. 第2次握手传回了ACK,为什么还要传回SYN?

接收端传回发送端所发送的ACK是为了告诉客户端,我接收到的信息确实就是你所发送的信号了,这表明从客户端到服务端的通信是正常的。而回传SYN则是为了建立并确认从服务端到客户端的通信。
(辅助理解:同步序列编号(SYN) 是TCP/IP建立连接时使用的握手信号,ACK是确认字符,在数据通信中,接收站发给发送站的一种传输类控制字符。表示发来的数据已确认接收无误。)

5. TCP和UDP有什么区别?

  1. TCP是传输控制协议,提供的是面向连接、可靠的字节流服务;UDP是用户数据报协议,提供的是无连接、无可靠的数据报文。
  2. TCP的可靠性体现在双方彼此交换数据前,必须先通过三次握手协议建立连接之后才能传输数据,传输效率慢。UDP因为在数据数据前不用建立连接故而不可靠,但是传输速度很快。
  3. TCP用于要去传输数据可靠的场景,比如文件传输、发送和接收邮件、远程登录等;UDP用于通信速度高的场景,比如域名转换、流媒体传输、IP电话等。

6. TCP协议如何保证可靠传输?

  1. 校验和:TCP将保持它首部和数据的检验和。这是一个端到端的检验和,目的是检测数据在传输过程中的任何变化。如果收到段的检验和有差错,TCP将丢弃这个报文段和不确认收到此报文段。
  2. 确认应答:TCP传输的过程中,每次接收方收到数据后,都会对传输方进行确认应答。也就是发送ACK报文。这个ACK报文当中带有对应的确认序列号,告诉发送方,接收到了哪些数据,下一次的数据从哪里发。
  3. 序列号:序列号的作用不仅仅是应答的作用,还能够将接收到的数据根据序列号排序,并且去掉重复序列号的数据
  4. 超时重传:当TCP发出一个段后,它启动一个定时器,等待目的端确认收到这个报文段。如果不能及时收到一个确认,将重发这个报文段。
  5. 连接管理:就是三次握手与四次挥手的过程
  6. 流量控制:TCP连接的每一方都有固定大小的缓冲空间,TCP的接收端只允许发送端发送接收端缓冲区能接纳的数据。当接收方来不及处理发送方的数据,能提示发送方降低发送的速率,防止包丢失。
  7. 自动重传请求(ARQ协议): 也是为了实现可靠传输的,它的基本原理就是每发完一个分组就停止发送,等待对方确认。在收到确认后再发下一个分组。
  8. 拥塞控制:当网络拥塞时,减少数据的发送。

7. HTTP的长连接和短连接?

HTTP的长连接和短连接本质上是TCP长连接和短连接。
短连接:浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。
长连接:当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。长连接不会永久保持连接,它有一个保持时间,可以在不同的服务器软件中设定这个时间。

8. 什么是TCP短连接和TCP长连接?

TCP短连接: client向server发起连接请求,server接到请求,然后双方建立连接。client向server发送消息,server回应client,然后一次读写就完成了,这时候双方任何一个都可以发起close操作,不过一般都是client先发起 close操作.短连接一般只会在client/server间传递一次读写操作
TCP长连接: client向server发起连接,server接受client连接,双方建立连接。Client与server完成一次读写之后,它们之间的连接并不会主动关闭,后续的读写操作会继续使用这个连接。

9. URI和URL的区别是什么?

URI是统一资源标志符,可以唯一标识一个资源。
URL是统一资源定位符,可以提供该资源的路径。它是一种具体的 URI,即 URL 可以用来标识一个资源,而且还指明了如何 locate 这个资源。
URI的作用像身份证号一样,URL的作用更像家庭住址一样。URL是一种具体的URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。

10. ip地址分段是什么?

A类网络的IP地址范围为1.0.0.1-127.255.255.254;
B类网络的IP地址范围为:128.1.0.1-191.255.255.254;
C类网络的IP地址范围为:192.0.1.1-223.255.255.254、

2021年计算机网络常见面试题相关推荐

  1. 计算机网络常见面试题,一网打尽!

    计算机网络常见面试题 一 OSI与TCP/IP各层的结构与功能,都有哪些协议? 学习计算机网络时我们一般采用折中的办法,也就是中和 OSI 和 TCP/IP 的优点,采用一种只有五层协议的体系结构,这 ...

  2. 【面试系列】计算机网络常见面试题(一)

    [面试]计算机网络常见面试题

  3. 操作系统和网络(一):计算机网络常见面试题

    计算机网络常见面试题总结 1.       OSI , TCP/IP ,五层协议的体系结构 OSI分层(7层) :物理层.数据链路层.网络层.传输层.会话层.表示层.应用层. TCP/IP分层(4层) ...

  4. 【网络】计算机网络常见面试题 - 前端面试必备 - 吐血整理

    文章目录 1. 参考模型 1. OSI 参考模型 七层 2. TCP/IP参考模型 四层 2. 在浏览器中输入网址之后执行 会发生什么? 3.URL和URI的区别? 4. 关于HTTP协议 4.1 为 ...

  5. 最新Java面试题2021年,常见面试题及答案汇总

    2021最新Java面试题[附答案解析]java面试题及答案2021,java2021最新面试题及答案汇总,2021最Java面试题新答案已经全部更新完了,有些答案是自己总结的,也有些答案是在网上搜集 ...

  6. 计算机考研复试计算机网络常见面试题

    本文是我2021年考研时准备的复试面试题,现在拿出来给大家分享一下 觉得好的点个赞哦,毕竟当初我也是整理了好久,改了好几次版本呢 祝大家都上岸!!!! 计算机网络 目录 1.TCP三次握手建立连接 1 ...

  7. 灵魂拷问!2021年Java常见面试题

    第一章 成局在胸一一用工具对 SQL 整体优化 第二章 风驰电掣一一有效缩短SQL 优化过程 第三章规蹈矩一一如何读懂SQL 执行计划 第四章 运筹幢幢一一左右 SQL执行计划妙招 第五章感受体系结构 ...

  8. 2021 python 求职 常见面试题(北京 爬虫/后端)

    python 优缺点 开源,可移植,支持面向过程和面向对象,可扩展性,可嵌入性,库多 慢 用c重写重要部分,GIL python程序运行过程 pyCodeObject 内存 到 pyc 硬盘持久化存储 ...

  9. 2021年Android常见面试题,含爱奇艺,小米,腾讯,阿里

    其实如果你技术深度足够,大必不用为就业而忧愁.每个行业何尝不是这样,最开始的风口,到慢慢的成熟.Android初级在2020年的日子里风光不再, 靠会四大组件就能够获取到满意薪资的时代一去不复返.** ...

  10. 计算机网络常见面试题(计算机考研必备)

    1.计算机网络的性能指标有哪些 (1)带宽: 数字信道传输的最高数据率.(即最大速率) (2)吞吐量:单位时间内通过某个网络的数据量.(某时刻的速率) (3)时延:包括发送时延,传播时延,处理时延,排 ...

最新文章

  1. 这所985大学宣布调查结果:抄袭事实成立!撤销其硕士学位!
  2. C#如何判断线程池中所有的线程是否已经完成(转)
  3. 如何在JavaScript中将字符串转换为布尔值?
  4. flask高级编程 LocalStack 线程隔离
  5. java and dsl_Groovy语法糖以及DSL
  6. 计算数字的位数并逆序输出
  7. 简答String类的操作特点以及static方法的注意事项
  8. draggable禁止拖动_通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽...
  9. 一维欧拉方程matlab代码,一维欧拉方程组的warming-beam差分求解
  10. 荣耀7i android版本,华为荣耀7i有几个版本?荣耀7i不同版本配置介绍
  11. ASP.NET网页打印
  12. 中信银行总行信息科技岗2019年校园招聘
  13. 第四集 孤胆翻越橡皮山,丈量生命之厚度
  14. 深度学习: 细粒度图像分类 (fine-grained image recognition)
  15. linux系统怎么下载
  16. 线性子空间模型 linear subspace model
  17. 打开itools如果提示:订阅设备设备失败
  18. HTML5 聚光灯特效
  19. Twitter赢在开放,三年创造奇迹
  20. 深深的思考与共鸣——资源共享

热门文章

  1. java私塾 java篇_Java私塾跟我学系列——JAVA篇 六、
  2. p1口实验_「正点原子NANO STM32开发板资料连载」第二章 实验硬件资源详解
  3. Microsoft Agent技术在Delphi中的应用
  4. 晶振为什么不封装进芯片内部?
  5. linux相关的东东 来自dbanotes
  6. 图解CSS3----盒子模型
  7. 19-基础教育知识图谱赋能智慧教育
  8. 草根站长胖子讲述做站故事
  9. Protel 99 SE 如何导出BOM清单
  10. javaweb项目设计文档