计算机网络经典面试题30问_计算机网络经典面试题30问_孙中明的博客-csdn博客(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

长连接:

当一个网页打开完成后,客户端和服务器之间用于传输HTTP数据的 TCP连接不会关闭,如果客户端再次访问这个服务器上的网页,会继续使用这一条已经建立的连接。Keep-Alive不会永久保持连接,它有一个保持时间,可以在不同的服务器软件(如Apache)中设定这个时间。实现长连接要客户端和服务端都支持长连接。

2 简述计算机网络中的七层模型?

3 常见的HTTP状态码有哪些?

4 TCP的三次握手过程?为什么会采用三次握手,若采用二次握手可以吗?

(1)TCP的三次握手过程:主机A向B发送连接请求;主机B对收到的主机A的报文段进行确认;主机A再次对主机B的确认进行确认。

(2)采用三次握手是为了防止失效的连接请求报文段突然又传送到主机B,因而产生错误。失效的连接请求报文段是指:
主机A发出的连接请求没有收到主机B的确认,于是经过一段时间后,主机A又重新向主机B发送连接请求,且建立成功,顺序完成数据传输。
考虑这样一种特殊情况,主机A第一次发送的连接请求并没有丢失,而是因为网络节点导致延迟达到主机B,主机B以为是主机A又发起的新连接,于是主机B同意连接,并向主机A发回确认,
但是此时主机A根本不会理会,主机B就一直在等待主机A发送数据,导致主机B的资源浪费。

(3)采用两次握手不行,原因就是上面说的实效的连接请求的特殊情况。

5 请简述一下TCP的三次握手和四次挥手协议?

6 TCP和UDP相关的协议分别有哪些?

TCP对应的协议:

(1) FTP:定义了文件传输协议,使用21端口。
(2) Telnet:一种用于远程登陆的端口,使用23端口,用户可以以自己的身份远程连接到计算机上,可提供基于DOS模式下的通信服务。
(3) SMTP:邮件传送协议,用于发送邮件。服务器开放的是25号端口。
(4) POP3:它是和SMTP对应,POP3用于接收邮件。POP3协议所用的是110端口。
(5)HTTP:是从Web服务器传输超文本到本地浏览器的传送协议。

UDP对应的协议:
(1) DNS:用于域名解析服务,将域名地址转换为IP地址。DNS用的是53号端口。
(2) SNMP:简单网络管理协议,使用161号端口,是用来管理网络设备的。由于网络设备很多,无连接的服务就体现出其优势。
(3) TFTP(Trival File Transfer Protocal),简单文件传输协议,该协议在熟知端口69上使用UDP服务。

7 TCP和UDP有什么区别?

TCP与UDP区别
(1)TCP提供的是面向连接的、可靠的数据流传输;
UDP提供的是非面向连接的、不可靠的数据流传输。

(2)TCP提供可靠的服务,通过TCP连接传送的数据,无差错、不丢失,不重复,按序到达;
UDP尽最大努力交付,即不保证可靠交付。

(3)TCP面向字节流;
UDP面向报文。

(4)TCP连接只能是点到点的;
UDP支持一对一、一对多、多对一和多对多的交互通信。

(5) TCP首部开销20字节;
UDP的首部开销小,只有8个字节。

(6)TCP的逻辑通信信道是全双工的可靠信道;
UDP的逻辑通信信道是不可靠信道。

8 Post和Get有什么区别?

1、 GET主要用于从服务器查询数据,POST用于向服务器提交数据

2、 GET通过URL传递数据,POST通过http请求体传递数据

3、 GET传输数据量有限制,不能大于2kb,POST传递的数据量较大,一般大量的数据提交都是通过POST方式

4、 GET安全性较低,容易在URL中暴漏数据,POST安全性较高

9 在浏览器中输入www.baidu.com后执行的全部过程?

先查IP地址

查询ip地址

①浏览器解析出url中的域名。

②查询浏览器的DNS缓存。

③浏览器中没有DNS缓存,则查找本地客户端hosts文件有无对应的ip地址。

④hosts中无,则查找本地DNS服务器(运营商提供的DNS服务器)有无对应的DNS缓存。

⑤若本地DNS没有DNS缓存,则向根服务器查询,进行递归查找。

⑥递归查找从顶级域名开始(如.com),一步步缩小范围,最终客户端取得ip地址

tcp连接与http连接

http协议建立在tcp协议之上,http请求前,需先进行tcp连接,形成客户端到服务器的稳定的通道。俗称TCP的三次握手。

②tcp连接完成后,http请求开始,请求有多种方式,常见的有get,post等。

③http请求包含请求头,也可能包含请求体两部分,请求头中包含我们希望对请求文件的操作的信息,请求体中包含传递给后台的参数。

④服务器收到http请求后,后台开始工作,如负载平衡,跨域等,这里就是后端的工作了。

⑤文件处理完毕,生成**响应数据包,**响应也包含两部分,响应头和相应体,响应体就是我们所请求的文件。

⑥经过网络传输,文件被下载到本地客户端,客户端开始加载。

html渲染

①客户端浏览器加载了html文件后,由上到下解析html为DOM树(DOM Tree)。

②遇到css文件,css中的url发起http请求。

③这是第二次http请求,由于http1.1协议增加了Connection: keep-alive声明,故tcp连接不会关闭,可以复用。

④http连接是无状态连接,客户端与服务器端需要重新发起请求–响应。

在请求css的过程中,解析器继续解析html,然后到了script标签。

⑤由于script可能会改变DOM结构,故解析器停止生成DOM树,解析器被js阻塞,等待js文件发起http请求,然后加载。这是第三次http请求。js执行完成后解析器继续解析。

⑥由于css文件可能会影响js文件的执行结果,因此需等css文件加载完成后再执行。

⑦浏览器收到css文件后,开始解析css文件为CSSOM树(CSS Rule Tree)。

⑧CSSOM树生成后,DOM Tree与CSS Rule Tree结合生成渲染树(Render Tree)。

⑨Render Tree会被css文件阻塞,渲染树生成后,先布局,绘制渲染树中节点的属性(位置,宽度,大小等),然后渲染,页面就会呈现信息。

⑩继续边解析边渲染,遇到了另一个js文件,js文件执行后改变了DOM树,渲染树从被改变的dom开始再次渲染。

⑪继续向下渲染,碰到一个img标签,浏览器发起http请求,不会等待img加载完成,继续向下渲染,之后再重新渲染此部分。

⑫DOM树遇到html结束标签,停止解析,进而渲染结束。

10 列举几种常见的协议,并简述他们的作用?

ICMP协议:因特网控制报文协议。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。

TFTP协议:是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

HTTP协议:超文本传输协议,是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。

DHCP协议:动态主机配置协议,是一种让系统得以连接到网络上,并获取所需要的配置参数手段。

NAT协议:网络地址转换属接入广域网(WAN)技术,是一种将私有(保留)地址转化为合法IP地址的转换技术,

DHCP协议:一个局域网的网络协议,使用UDP协议工作,用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。

11 cookie 和session 有什么区别?

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE

12 名词解释

局域网(Local Area Network(LAN)
广域网(英语:Wide Area Network,缩写为 WAN)
城域网(Metropolitan Area Network),简称MAN

DHCP协议:一个局域网的网络协议,使用UDP协议工作,用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。



VLAN(Virtual Local Area Network)的中文名为"虚拟局域网"。

13 简述计算机网络分层的好处。

各层之间是独立的,每层只关注实现本层的功能即可;灵活性好,每一层可以灵活地采用不同的方法来实现本层的功能;增加和删减功能较为容易;结构上可以分隔开,层次之间的互相影响小,降低了实现和维护的难度;促进了标准化二作。

14 简述分组交换的优点和缺点。

分组交换的优点:

1、线路利用率更高

结点到结点的单个链路可以由很多分组动态共享。e799bee5baa6e4b893e5b19e31333366306431分组被排队,并被尽可能快速地在链路上传输。

2、数据率转换

一个分组交换网络可以实行数据率的转换:两个不同数据率的站之间能够交换分组,因为每一个站以它的自己的数据率连接到这个结点上。

分组交换的缺点:

1、时延抖动

因为一个给定的源站和目的站之间的各分组可能具有不同的长度,可以走不同的路径,也可以在沿途的交换机中经历不同的时延,所以分组的总时延就可能变化很大。

2、额外开销大

因为结点是分布的,在网络一部分状态的改变与网络其他部分得知这个改变之间总是有一个时延。传递状态信息需要一定的费用,因此其额外开销较大。

15 简述 CSMA/CD 的基本工作原理。

发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;

若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。

其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。

16 因特网的发展大致分为哪几个阶段?每个阶段的主要特点是什么?

1.阶段是从单个网络ARPANET向互联网发展的过程。最初的分组交换网ARPANET 只是一个单个的分组交换网,所有要连接在ARPANET上的主机都直接与就近的结点交 换机相连。而后发展为所有使用TCP/IP协议…
2.阶段是1985-1993年,特点是建成了三级结构的因特网。
3.阶段是1993年至今, 特点是逐渐形成了多层次ISP结构的因特网。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

1715520568895)]
[外链图片转存中…(img-YaGp2kuC-1715520568895)]
[外链图片转存中…(img-4hCUFVhY-1715520568896)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值