计算机网络面试问答

1、 OSI 七层模型和 TCP/IP 四层模型

  • OSI七层(理论模型):物理层→数据链路层→网络层→传输层→会话层→表示层→应用层
  • TCP/IP四层(实际协议栈):网络接口层→网际层(IP)→传输层(TCP/UDP)→应用层(HTTP/DNS等)
  • 关键区别:OSI区分会话/表示层,TCP/IP合并为应用层;TCP/IP更贴近实际协议实现

2、 什么是路由和交换?

  • 路由:在不同网络间转发数据(基于IP地址),由路由器实现,依赖路由表决策路径。
  • 交换:在同一网络内转发数据(基于MAC地址),由交换机实现,通过MAC地址表快速定位设备

3、 子网掩码的作用是什么?

  • 核心功能:划分IP地址的网络部分和主机部分(如255.255.255.0表示前24位为网络号)。
  • 用途
  • 确定设备是否在同一子网(通过AND运算);
  • 优化路由效率,减少广播域。

4、 什么是DNS?工作原理是什么?

  • DNS域名系统,将域名(如www.example.com)解析为IP地址。
  • 工作流程:
  • 浏览器查询本地缓存 → 系统缓存 → 递归查询DNS服务器 → 根域名服务器 → 顶级域(.com)→ 权威域名服务器返回IP

5、什么是IP地址?IPv4和IPv6区别?

  • IP地址:设备的唯一逻辑标识(如192.168.1.1)。

特性

IPv4

IPv6

地址长度

32位(约43亿)

128位(近乎无限)

地址表示

十进制(192.168.1.1)

十六进制(2001:0db8::1)

安全性

依赖附加协议(IPsec)

原生支持IPsec

报文头复杂度

复杂(含校验和等)

简化,效率更高

6、TCP三次握手?

7、为什么需要三次握手才能建立起来连接?

  • 核心原因:防止历史连接初始化(如延迟的旧SYN包到达)。
  • 两次握手时:服务端收到旧SYN会误建连接,而客户端会拒绝导致资源浪费;
  • 三次握手确保双方同步序列号,确认双向通信能力

8、TCP和UDP的区别

特性

TCP

UDP

连接方式

面向连接(可靠)

无连接(不可靠)

数据传输

有序、重传机制

无序、不重传

速度

慢(握手/确认开销)

快(无控制开销)

应用场景

网页/邮件/文件传输

视频流/游戏/DNS

9、TCP的滑动窗口是什么?

  • 作用:流量控制与拥塞控制,动态调整发送速率。
  • 原理
  • 接收方通过窗口大小告知发送方可接收的数据量;
  • 发送方仅发送窗口内的数据,收到ACK后滑动窗口继续发送。

10、在浏览器地址输入URL,请问按下回车键之后经历的流程?

1)DNS解析:域名→IP地址;

2)TCP握手:与服务器建立连接;

3)HTTP请求:发送HTTP请求(如GET /index.html);

4)服务器处理:返回HTML/CSS/JS等资源;

5)浏览器渲染:解析DOM→CSSOM→渲染树→布局→绘制;

6)关闭连接:TCP四次挥手。

11、HTTP常见的状态码有哪些?

  • 2xx 成功:200 OK(请求成功)、201 Created(资源创建成功);
  • 3xx 重定向:301 Moved Permanently(永久重定向)、302 Found(临时重定向);
  • 4xx 客户端错误:400 Bad Request(请求无效)、404 Not Found(资源不存在);
  • 5xx 服务端错误:500 Internal Server Error(服务器内部错误)

12、GET请求和POST请求的区别?

特性

GET

POST

数据位置

URL查询参数(明文)

请求体(可加密)

安全性

低(暴露在地址栏)

较高(不直接可见)

幂等性

幂等(多次执行结果相同)

非幂等(可能修改资源)

数据长度限制

受限(URL长度约2048字符)

无限制

13、POST请求body类型常见的有哪几种?

  • application/x-www-form-urlencoded:键值对(默认表单格式);
  • multipart/form-data:支持文件上传(含分隔符);
  • application/json:JSON格式数据(现代API常用);
  • text/plain:纯文本格式。

14、cookie和seesion之间的区别?

特性

Cookie

Session

存储位置

客户端浏览器

服务器内存/数据库

安全性

低(可能被窃取)

高(仅Session ID在Cookie中)

生命周期

可设置长期有效

通常随会话结束销毁

存储大小

有限(约4KB)

无硬性限制

15、Http有哪几种版本,不同的版本之间的区别?

  • HTTP/1.0:短连接(每个请求新建TCP连接);
  • HTTP/1.1
  • 长连接(默认Connection: keep-alive);
  • 管道化(允许连续发送请求,但响应需按序返回);
  • HTTP/2
  • 二进制分帧(提升解析效率);
  • 多路复用(一个连接并行处理请求);
  • 头部压缩(HPACK算法);
  • HTTP/3:基于QUIC协议(UDP实现),解决队头阻塞,0-RTT快速连接

16、Http和Https的区别?

特性

HTTP

HTTPS

协议

TCP

TCP + TLS/SSL

端口

80

443

安全性

明文传输(易被窃听/篡改)

加密传输(防窃听/篡改)

性能

略慢(握手/加解密开销)

17、Https数据传输过程

1)TCP三次握手:建立连接;

2)TLS握手

  • 客户端发送ClientHello(支持的加密套件);
  • 服务端返回ServerHello(选定加密套件)+ 证书;
  • 客户端验证证书,生成预主密钥(用证书公钥加密后发送);
  • 双方基于预主密钥生成会话密钥;

3)加密通信:使用会话密钥对称加密HTTP数据;

4)断开连接:TCP四次挥手。

18、常见的的网络攻击方式有哪些?

  • DDoS攻击:洪水攻击耗尽服务器资源;
  • MITM(中间人攻击):拦截篡改通信数据(HTTPS可防御);
  • XSS(跨站脚本):注入恶意脚本窃取用户数据;
  • CSRF(跨站请求伪造):诱骗用户执行非意愿操作(如转账);
  • SQL注入:通过输入篡改数据库查询逻辑;
  • SYN Flood:发送大量半连接耗尽服务器资源

#计算机网络知识点总结##测试面经##测试#
测试岗面经 文章被收录于专栏

整理面试过程中的测试问答,常看常新,多多学习!有些问题是从其他人那里转载而来,会在文章下面注明出处,希望大家多多支持~~,觉得满意的话就送一朵小花花,谢谢! 内容目录:https://www.nowcoder.com/discuss/779856598809264128?sourceSSR=users

全部评论

相关推荐

小浪_Coding:这没必要搞对立 如果打算就业本科肯定是最好的, 读研更多去一些国央企,事业单位, 花3年时间读研为了进大厂其实性价比一般
点赞 评论 收藏
分享
07-27 15:49
门头沟学院 C++
点赞 评论 收藏
分享
08-18 18:16
延安大学 C++
给我个面试可以吗
投递TP-LINK等公司10个岗位
点赞 评论 收藏
分享
08-21 16:35
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
2
10
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务