首页 > 其他分享 >一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)

一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)

时间:2023-06-08 18:02:57浏览次数:40  
标签:HTTP 请求 IP 报文 TCP OSI 面试 服务器 客户端


对于大厂的面试来说,掌握基本的计算机网络知识十分必要,但是说实话就单单是博主觉得,看书去复习,是最好的“安眠药”,哈哈哈,所以具有针对性的去学习更加的有效果,所以直接看大厂的高频面试题,快速建立知识结构体系。
以下的一些是博主通过博览众多平台的博客推文进行的汇总:
1.计算机网络OSI模型,TCP/IP,五层协议的体系结构,以及各层的协议(高频)

计算机网络OSI分层共分为7层:

由下至上依次为:物理层,数据链路层,网络层,传输层,表示层,会话层,应用层

一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)_交换机

七层的各层传输通信协议,对应的作用和代表设备,传输的单位:

物理层:RJ45、CLOCK、IEEE802.3 (集线器,中继器)

作用:通过媒介传输比特,确定机械及电气规范

传输单位:bit(比特)

数据链路层:PPP、FR、HDLC、VLAN、MAC (网桥,交换机)
作用:将比特组装成帧和点对点的传递
传输单位:帧(frame)

网络层:IP、ICMP、ARP、RARP、OSPF、IS-IS、IPX、BGP、RIP、IGRP(路由器)
作用:负责数据包从源到宿的传递和网际互连
传输单位:package(包)

传输层:TCP、UDP、SPX
作用:提供端到端的可靠报文传递和错误恢复
传输单位:段(segment)

会话层:NFS、SQL、NETBIOS、RPC
作用:建立、管理和终止会话
传输单位:会话协议数据单元SPDU

表示层:JPEG、MPEG、ASII HTTP/HTML · FTP · Telnet
作用:对数据进行翻译、加密和压缩
单位:表示协议数据单元PPDU

应用层:FTP、DNS、Telnet、DHCP、SMTP、HTTP、POP3、WWW、NFS
作用:允许访问OSI环境的手段
单位:应用协议数据单元APDU

2.TCP/IP通信协议的四层模型;
自下而上分别为;
网络接口层,网络层,传输层,应用层
与OSI的七层模型想对比的话如下图所示:

一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)_http_02


OSI模型中的会话层,表示层,应用层,对应TCP/IP四层模型中的应用层,数据链路层+物理层对应网络接口层。

通信方式:单工通信,半双工通信,全双工通信

IP协议族分类:IP协议,ARP地址解析协议,ICMP(网际控制报文协议),IGMP(网际组管理协议)

ARP地址解析协议:将网络的IP地址转化为实际的物理地址(MAC地址),并存储在MAC地址表中。

ICMP(网际控制报文协议):用于进行差错情况和异常情况的反馈,分为询问报文和差错报告报文。

IGMP(网际组管理协议):用于控制和管理多播和组播的协议。3.TCP的连接建立的“三次握手”与断开连接的“四次挥手”的完整过程

一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)_交换机_03

第一次握手:客户端发送连接请求报文段,将SYN置为1,发送数据包seq为x,切客户端转为SYN_SEND模式等待服务端确认。

第二次握手:服务器收到SYN报文段,将ACK置为1+x,同时自己也要发送seq为y,此时服务器转换为SEND_REV状态

第三次握手:客户端收到服务器端的seq报文,将ACK为1+y,完成三次握手,开始准备传输数据。

断开连接的四次挥手:
第一次挥手:客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。
第二次挥手:服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态
第三次挥手:服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w
第四次挥手:客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。服务器只要收到了客户端发出的确认,立即进入CLOSED状态。同样,撤销TCB后,就结束了这次的TCP连接

4.TCP通信协议与UDP通信协议的区别对比
(1)TCP协议是面向连接的,传输数据前需要建立连接,即“三次握手”,UDP是面向无连接的
(2)TCP提供可靠交付数据,但是UDP提供的是最大努力交付,数据会有丢失,TCP传输的数据则是无重复,不丢失,且顺序
(3)面向的传输对象不同,TCP面向的是数据的字节流传输,UDP面向的是报文,UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低
(4)TCP与UDP的传输映射关系不同,TCP仅支持点对点的通信,UDP支持一对一,多对多,多对一的交互通信
(5)TCP的逻辑通信信道是全双工的可靠信道,UDP则是不可靠信道
(6)TCP首部开销20字节;UDP的首部开销小,只有8个字节

5.OSI模型中给的网络层传输协议与传输层传输协议的区别
(1)网络层提供的是主机之间的通信
(2)传输层提供的是进程之间的通信

6.为什么建立连接是三次握手,关闭连接确是四次挥手呢?
建立连接的时候, 服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。
而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。

7.请简单说一下你了解的端口及对应的服务

一文读懂大厂面试的计算机网络面试题目(超详细整理)(TCP/IP,OSI,HTTP协议)_交换机_04

8.子网掩码的作用

子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。

9.当建立连接后,发现客户端发生障碍,如何减少资源的浪费?
TCP内部设置有保活计时器,当客户端发生故障,服务器不会一直等下去,服务端每收到一次客户端的请求,都会复位保活计时器,时间为2小时。若两小时还没有收到客户端的任何数据,服务器就会发送一个探测报文段,以后每隔75秒发送一次。若一连发送10个探测报文仍然没反应,服务器就认为客户端出了故障,接着就关闭连接。

10.在地址栏输入URL后,一直到显示网页经历的过程
大的方向上来看:
1.DNS解析:解析域名对应的IP地址
2.TCP建立连接:
3.客户端发出HTTP请求
HTTP请求报文包括 请求行,请求报头,请求正文
4.服务器处理HTTP请求,返回报文
HTTP响应报文包括 状态行,响应报头,响应报文
5.浏览器解析渲染画面显示
6.链接结束

11.HTTP的常见状态码含义
200 (成功) 服务器已成功处理了请求
304 (未修改) 自从上次请求后,请求的网页未修改过
400 (错误请求) 服务器不理解请求的语法
403 (禁止) 服务器拒绝请求
404 (未找到) 服务器找不到请求的网页
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。

12.HTTP 协议包括哪些请求?
GET:对服务器资源的简单请求
POST:用于发送包含用户提交数据的请求
HEAD:类似于GET请求,不过返回的响应中没有具体内容,用于获取报头
PUT:传说中请求文档的一个版本
DELETE:发出一个删除指定文档的请求

13.HTTP中的GET与POST的区别

GET请求的数据会附在URL后面,POST的数据放在HTTP包体POST安全性比GET安全性高

14 .HTTP和HTTPS的区别:
https:全称Hyper Text Transfer Protocol Secure,相比http,多了一个secure,这一个secure是怎么来的呢?这是由TLS(SSL)提供的,可以简单理解为 HTTPS=HTTP+SSL。
①HTTP 的 URL 以 http:// 开头,而 HTTPS 的 URL 以 https:// 开头
②HTTP 是相对不安全的,而 HTTPS 是相对安全的
③HTTP 标准端口是 80 ,而 HTTPS 的标准端口是 443
④在 OSI 网络模型中,HTTP 工作于应用层,而 HTTPS 工作在传输层
⑤HTTP 无需加密,而 HTTPS 对传输的数据进行加密
⑥HTTP 无需证书,而 HTTPS 需要认证证书
https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

15.交换机与路由器有什么区别?
①工作所处的OSI层次不一样,交换机工作在OSI第二层数据链路层,路由器工作在OSI第三层网络层
②寻址方式不同:交换机根据MAC地址寻址,路由器根据IP地址寻址
③转发速不同:交换机的转发速度快,路由器转发速度相对较慢。

16.session 和 cookie 有什么区别?
(1)存储位置不同:cookie存储在客户端浏览器上,session的数据信息存储在服务端。
(2)存储容量不同:cookie存储的容量数据<=4KB,一个站点最多保持20个cookie,对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制。
(3)存储方式不同:cookie的保存形势为ASCII字符串,并且编码为Unicode或者二进制,
session能存储任何形式的数据,但不包括string
(4)跨域访问方式不同:cookie支持跨域访问,session不支持跨域访问。


标签:HTTP,请求,IP,报文,TCP,OSI,面试,服务器,客户端
From: https://blog.51cto.com/u_13638291/6442051

相关文章

  • vm - 网卡故障-没有分配ip - mv ens33: <BROADCAST,MULTICAST> mtu 1500 qdisc noop s
    执行指令sudodhclientens33即可恢复红色部分,需要查看自己的机器,改为后缀即可cd/etc/sysconfig/network-scripts 需要等待一会才能刷新,使用 servicenetworkrestart 刷新会失败......
  • 网络层 :IP协议详解
        网络层的目的就是实现终端节点之间的通信,即点对点通信。具体功能包括路由选择与地址管理等。    这一层主要有IP和ICMP两个协议组成,在这里就先重点讲解IP协议,后面会单独将IP协议相关的如ICMP,DNS,NAT,NAPT,DHCP等协议单独写一篇博客汇总。    IP层协议......
  • 动态ip和静态ip
    IP地址:IP协议中有一个非常重要的内容,那就是给互联网上的每台计算机和其它设备都规定了一个唯一的地址,叫做“IP地址”。由于有这种唯一的地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出自己所需的对象来。为了通过网络发送或接收数据,传输控制......
  • 前端进化笔记-JavaScript(三)
    人类在白色的底色上描绘图画,地球在黑色的底色上创造生命。变量、作用域与内存JavaScript的变量可以说是独树一帜。只需要一个(或两个等)关键字(const,let)就可以创建变量,创建时不考虑变量的类型,这是其他语言少有的强大功能。当然强大的功能总是伴随着问题。值原始值:Undefined,Null......
  • Javascript常用正则表达式集合
    1.匹配正整数:/^[0-9]*[1-9][0-9]*$/2.匹配非负整数(正整数+0):/^\d+$/3.匹配中文:/^[\u4e00-\u9fa5]/4.匹配Email:/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/5.匹配网址URL:/^(f|ht){1}(tp|tps):\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?/6......
  • [面试][PTA]充满趣味的程序员文史综合卷
    文章目录介绍:题目:2-1以下诗句所表达的意境,与程序员的生活2-2从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事2-3有约不来过夜半,闲敲棋子落灯花——赵师秀《约客》2-4东风不与周郎便,铜雀春深锁二乔——杜牧《赤壁》。2-5大禹之父鲧的治水方法2-6江南可采莲,莲叶何田田,鱼戏......
  • Redis 面试题
    1.Redis是什么?Redis是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景。2.Redis有哪些数据类型?5种基础数据结构:String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Zset(有序集合)。3种特殊数据结构:HyperLogLogs(......
  • 杭州字节、懂车帝面试题___整理汇总
     =================================字节懂车帝一面  :2023年6月8日  gxr  1.自我介绍2.你们为什么要做对商家判责3.你们这个积分的加减对商家有什么影响吗?4.刚刚提到了百分之95是什么?==平台对建议预售量和商家的预售量对比5.预售量和备货量之间的关系是什么?6.对于商家判......
  • 如何查询本机网络IP地址?(两种方式)
    1.情景展示如何查询电脑所使用的网络IP地址?(IPv4地址)2.错误方式如上图所示,这是局域网IP,不是可供外网访问的IP地址。3.解决方案方式一:百度搜索在浏览器地址栏输入:www.baidu.com,打开百度(其中,www.可以省略掉),并按回车键,跳转到百度网页。在百度搜索栏输入:IP。一直往下划拉,找......
  • 杭州阿里面试题___整理汇总
    杭州阿里面试题_=======================面试题:阿里一面 zxp  2023年6月8日1、自我介绍下2、你讲下你项目中做的自动化?3、你使用的什么自动化框架?4、具体讲解下框架使用到那些技术栈?5、自动中如何校验结果?6、自动化中的定位方法有那些?7、自动化如何让浏览器跑起来的原理?8、......