50道经典计算机网络面试题梳理

面试是求职的必经之路,也是能力展现的第一道门槛。很多朋友周一面试失败,到周五还不知道失败的原因,不仅耽误了其他面试的发挥,也不利于面经的积累。

另一方面,面试多考察基础知识和理论掌握的熟练程度,计算机网络自然成为了面试官最喜欢考察的内容之一。今天就给大家安排一份「50道计算机网络面试题」,答案都十分详细,每一道都十分经典。

HTTP常用的请求方式,区别和用途?

  • GET: 发送请求,获取服务器数据

  • POST:向URL指定的资源提交数据

  • PUT:向服务器提交数据,以修改数据

  • HEAD:请求页面的首部,获取资源的元信息

  • DELETE:删除服务器上的某些资源。

  • CONNECT:建立连接隧道,用于代理服务器;

  • OPTIONS:列出可对资源实行的请求方法,常用于跨域

  • TRACE:追踪请求-响应的传输路径

从浏览器地址栏输入url到显示主页的过程

  • DNS解析,查找真正的ip地址

  • 与服务器建立TCP连接

  • 发送HTTP请求

  • 服务器处理请求并返回HTTP报文

  • 浏览器解析渲染页面

  • 连接结束

说下计算机网络体系结构

计算机网络体系结构主要有OSI七层模型、TCP/IP四层模型、五层体系结构

图片

OSI七层模型

OSI七层模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系。

  • 应用层:网络服务与最终用户的一个接口,协议有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP

  • 表示层:数据的表示、安全、压缩。

  • 会话层:建立、管理、终止会话。对应主机进程,指本地主机与远程主机正在进行的会话

  • 传输层:定义传输数据的协议端口号,以及流控和差错校验。协议有:TCP UDP,数据包一旦离开网卡即进入网络传输层

  • 网络层:进行逻辑地址寻址,实现不同网络之间的路径选择。协议有:ICMP IGMP IP(IPV4 IPV6)

  • 数据链路层:建立逻辑连接、进行硬件地址寻址、差错校验等功能。

  • 物理层:建立、维护、断开物理连接。

TCP/IP 四层模型

  • 应用层:对应于OSI参考模型的(应用层、表示层、会话层),为用户提供所需要的各种服务,例如:FTP、Telnet、DNS、SMTP等

  • 传输层:对应OSI的传输层,为应用层实体提供端到端的通信功能,保证了数据包的顺序传送及数据的完整性。定义了TCP和UDP两层协议。

  • 网际层:对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。三个主要协议:网际协议(IP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)

  • 网络接口层:与OSI参考模型的数据链路层、物理层对应。它负责监视数据在主机和网络之间的交换。

五层体系结构

  • 应用层:通过应用进程间的交互来完成特定网络应用。对应于OSI参考模型的(应用层、表示层、会话层),应用层协议很多,如域名系统DNS,HTTP协议,支持电子邮件的 SMTP协议等等。我们把应用层交互的数据单元称为报文。

  • 传输层:负责向两台主机进程之间的通信提供通用的数据传输服务。对应OSI参考模型的传输层,协议有传输控制协议 TCP 和 用户数据协议 UDP。

  • 网络层:对应OSI参考模型的的网络层

  • 数据链路层:对应OSI参考模型的的数据链路层

  • 物理层:对应OSI参考模型的的物理层层。在物理层上所传送的数据单位是比特。物理层(physical layer)的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。

对称加密与非对称加密有什么区别?

对称加密:加密和解密使用相同密钥的加密算法

图片

非对称加密:非对称加密算法需要两个密钥(公开密钥和私有密钥)。公钥和私钥是成对存在的,如果用公钥对数据进行加密,只有对应的私钥才能解密

图片

HTTP状态码301和302的区别  

  • 301(永久移动)请求的网页已被永久移动到新位置。服务器返回此响应(作为对GET或HEAD请求的响应)时,会自动将请求者转到新位置

  • 302:(临时移动)服务器目前正从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET和HEAD请求的301代码类似,会自动将请求者转到不同的位置。

HTTP状态码301和302的区别:

  • 它们之间关键区别在,资源是否存在有效性

  • 301资源还在只是换了一个位置,返回的是新位置的内容

  • 302资源暂时失效,返回的是一个临时的代替页上

HTTP请求的过程与原理

HTTP是一个基于TCP/IP协议来传递数据的超文本传输协议,传输的数据类型有HTML文件、图片文件等。以访问百度为例子,看一下HTTP的请求过程

  • 客户端进行DNS域名解析,得到对应的IP地址

  • 根据这个IP,找到对应的服务器建立连接(三次握手)

图片

  • 服务器端收到客户端发送的FIN后,TCP协议栈就会自动发送ACK,接着进入CLOSE_AWIT状态

  • 但是如果服务器端不执行socket的close()操作,那么就没法进入LAST_ACK,导致大量连接处于CLOSE_WAIT状态

  • 所以,如果服务器出现了大量CLOSE_WAIT状态,一般是程序bug,或者关闭socket不及时

RARP协议的工作原理?

  • ARP(地址解析协议),是设备通过自己知道的IP地址来获得自己不知道的物理地址的协议

  • RARP(反向地址转换协议)以与ARP相反的方式工作。RARP发出要反向解析的物理地址并希望返回其对应的IP地址,应答包括由能够提供所需信息的RARP服务器发出的IP地址。(应用于无盘机)

RARP工作原理如下:

  • 发送主机发送一个本地的RARP广播,在次广播包中,声明自己的MAC地址并且请求任何收到此请求鞥多RARP服务器分配一个IP地址

  • 本地网段上的RARP服务器收到此请求后,检查其RARP列表,查找该MAC地址对应的IP地址

  • 如果存在,RARP服务器就给源主机发送一个响应数据包并将此IP地址提供给对方主机使用

  • 如果不存在,RARP服务器对此不做任何的响应

  • 源主机收到从RARP服务器的响应信息,就利用得到的IP地址进行通讯;如果一直没有收到RARP服务器的响应,表示初始化失败

PDF展示

图片

图片

图片

图片

图片

 

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值