计算机网络面试题及答案(实战版).docxVIP

计算机网络面试题及答案(实战版).docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

计算机网络面试题及答案(实战版)

一、基础概念题(入门必问)

问题:OSI七层模型和TCP/IP五层模型的区别是什么?实际开发中更关注哪一层?

答案:OSI是理论模型(物理层、数据链路层、网络层、传输层、会话层、表示层、应用层),划分更细致但偏理想化;TCP/IP是实际应用模型(物理层、数据链路层、网络层、传输层、应用层),合并了会话层和表示层,更贴合真实网络通信。实际开发中重点关注传输层(TCP/UDP选择)和应用层(HTTP/HTTPS等协议设计),网络层和数据链路层多由底层设备(路由器、交换机)处理,开发中只需了解其作用(如IP寻址、MAC转发)。

问题:TCP和UDP的核心区别?分别举2个实际应用场景。

答案:核心区别集中在3点:①连接性:TCP是面向连接(三次握手),UDP无连接;②可靠性:TCP通过确认重传、流量控制保证可靠传输,UDP尽最大努力交付,可能丢包;③效率:UDP头部开销小(8字节),TCP头部20字节起,UDP效率更高。

应用场景:TCP用在需要可靠传输的场景(HTTP/HTTPS、文件传输FTP、即时通讯的消息确认);UDP用在实时性优先的场景(视频流/直播、语音通话、DNS查询)。

问题:什么是IP地址和MAC地址?两者在网络通信中的作用是什么?

答案:IP地址是逻辑地址(如),用于标识网络中主机的“网络位置”,跨网段通信时依赖IP寻址;MAC地址是物理地址(如00:1A:2B:3C:4D:5E),固化在网卡上,用于同一局域网内的设备识别,数据链路层通过MAC地址转发帧。

简单说:跨网段找IP,同网段找MAC(比如你连Wi-Fi发消息,先通过MAC找到路由器,再通过IP找到目标服务器)。

二、进阶原理题(核心考点)

问题:TCP三次握手和四次挥手的过程?为什么挥手需要四次而不是三次?

答案:

三次握手(建立连接):①客户端发SYN包(同步序列编号),请求建立连接;②服务器回复SYN+ACK包(同意连接+确认客户端请求);③客户端发ACK包(确认服务器回复),连接建立。

四次挥手(断开连接):①客户端发FIN包(请求断开);②服务器回复ACK包(确认收到断开请求,此时服务器可能还在发剩余数据);③服务器数据发完后,发FIN包(服务器请求断开);④客户端回复ACK包(确认服务器断开),连接关闭。

挥手需四次的原因:服务器收到FIN后,不能立即发FIN(可能还有未传输完的数据),必须先回复ACK确认,等数据传输完毕再发FIN,所以多了一次交互。

问题:HTTP和HTTPS的区别?HTTPS的加密过程是怎样的?

答案:

核心区别:①安全性:HTTP明文传输(数据易被抓包篡改),HTTPS基于TLS/SSL加密(数据加密传输);②端口:HTTP用80端口,HTTPS用443端口;③证书:HTTPS需要CA证书(验证服务器身份),HTTP不需要。

HTTPS加密过程(简化版):①客户端请求HTTPS连接,服务器返回CA证书(含公钥);②客户端验证证书合法性(比如是否过期、是否被篡改);③客户端生成随机对称密钥,用服务器公钥加密后发给服务器;④服务器用私钥解密,得到对称密钥;⑤后续通信双方用对称密钥加密数据(对称加密效率高,公钥私钥仅用于协商密钥)。

问题:什么是粘包?TCP为什么会出现粘包?怎么解决?

答案:

粘包:多个独立的TCP数据包被合并成一个包发送,接收方无法区分边界(比如客户端发了“Hello”和“World”两个包,接收方收到“HelloWorld”,分不清是一个包还是两个包)。

出现原因:TCP是流式协议(无消息边界),且有Nagle算法(合并小数据包减少网络开销),同时接收方有缓冲区(未及时读取数据会被后续数据覆盖)。

解决方法:①固定包长(比如每个包都100字节,不足补0);②包尾加分隔符(比如用\n或特殊字符标识包结束);③包头加长度字段(比如包头用2字节表示包体长度,接收方先读包头,再按长度读包体)。

三、实战场景题(结合工作)

问题:浏览器输入URL到页面加载完成,整个过程涉及哪些网络协议?

答案:按顺序来:①DNS协议(解析URL对应的IP地址,比如→1);②TCP协议(三次握手建立连接);③HTTPS协议(如果是HTTPS,协商加密密钥);④HTTP协议(发送请求报文,比如GET请求页面资源);⑤传输层/网络层/数据链路层(IP寻址、MAC转发、物理层传输数

文档评论(0)

151****9429 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档