计算机网络面试题总结

计算机网络面试题

网上有很多面经,希望总结到一起不用专门去一个个找。主要总结字节跳动、腾讯、阿里等大厂的面经。

参考链接🔗

  1. 字节跳动面经汇总(按岗位分类)-帅地玩编程

  2. 计算机网络面试真题-帅地玩编程

1. TCP/UDP网络模型共有多少层?

应用层(对应OSI:应用层、表示层、会话层)

传输层(对应OSI:传输层)

网络(互连)层(对应OSI:网络层)

主机到网络层(对应OSI:数据链路层、物理层)

2. TCP和UDP的区别

  1. TCP是可靠传输、UDP是尽最大努力交付

  2. TCP面向字节流,UDP面向报文

  3. TCP面向连接,UDP无连接

  4. TCP和UDP都是传输层的协议

  5. TCP传输数据有序、UDP不保证有序性

  6. TCP有流量控制和拥塞控制

  7. TCP首部20个字节,UDP首部8个字节

  8. TCP支持点到点,UDP支持一对一、一对多、多对多

3.从应用层到网络层各层的header都有什么不同的功能。

还没找到相关的解答。

4. TCP 连接的客户端和服务端状态。

三次握手:

  1. 客户端发送请求连接的请求,进入SYN_SENT的状态。SYN=1,seq=x

  2. 服务端接收到客户端请求,进入SYN_RCVD的状态。SYN=1,ACK=1,seq=y,ack=x+1

  3. 客户端进入ESTABILISHED的状态,发送ACK=1,seq=x+1,ack+y+1。服务端也进入ESTABLISHED状态

四次挥手:

  1. 客户端发送FIN报文,进入FIN_WAIT1状态。FIN=1 seq=x

  2. 服务端收到FIN报文,发送ACK报文,ack=x+1。服务端进入CLOSE_WAIT2状态

  3. 客户端发送FIN报文,进入LAST_ACK状态。FIN=1 seq=y

  4. 客户端收到FIN,发送ACK报文作为回应,ack=y+1。进入TIME_WAIT状态,过一阵之后服务端收到自己的ACK报文之后进入CLOSED状态。

  5. 服务端收到ACK报文后,进入CLOSED状态

5. HTTP和HTTPS的区别

  1. HTTPS需要证书

  2. HTTPS运行在SSL之上,SSL运行在TCP之上,是添加了加密认证机制的HTTP,导致HTTPS的消耗更大。HTTP是明文传输。

  3. HTTP端口号为80,HTTPS的端口号为443

  4. HTTP的连接是无状态的

6.HTTP的状态码有哪些

状态码分类:

  • 1xx:表示目前是协议的中间状态,还需要后续请求

  • 2xx:表示请求成功

  • 3xx:表示重定向状态,需要重新请求

  • 4xx:表示请求报文错误

  • 5xx:服务器端错误

常用状态码:

  • 101:切换请求协议

  • 200:请求成功,有响应体

  • 301:永久重定向,会缓存

  • 302:临时重定向,不会缓存

  • 304:协商缓存命中

  • 403:服务器禁止访问

  • 404:资源未找到

  • 400:请求错误

  • 500:服务器端错误

  • 503:服务器繁忙

7. HTTP协议的请求报文和响应报文格式

请求报文

由请求行、请求头部、空行、请求数据四个部分组成。

请求行包括请求方法(GET/POST/PUT/HEAD...等请求方法)以及HTTP协议版本。

响应报文

由状态行、响应头部、空行、响应体四个部分组成

具体可以看:http协议请求报文与响应报文分析 - 王辉冯 - 博客园

8. TCP的拥塞控制

主要算法:

  1. 慢启动+拥塞避免

  2. 快重传(收到三个重复的ACK)和快恢

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值