当前位置: 首页 > news >正文

面试第二山!《计算机网络》!

在 Java 面试里,计算机网络知识是高频考点,今天就来盘点那些最容易被问到的计算机网络面试题,帮你轻松应对面试,也方便和朋友们一起探讨学习。

一、HTTP 和 HTTPS 的区别

1. 面试题呈现

HTTP 和 HTTPS 有什么区别?在实际应用中该如何选择?

2. 答案解析

  • 传输协议:HTTP 是超文本传输协议,以明文形式传输数据;HTTPS 是 HTTP 加上 SSL/TLS 协议进行加密传输,数据在传输过程中被加密,保证了数据的安全性,防止被窃取或篡改。
  • 端口号:HTTP 默认使用 80 端口 ,HTTPS 默认使用 443 端口。
  • 证书:HTTPS 需要 CA 证书来验证服务器的身份,确保通信的服务器是真实可靠的,而 HTTP 不需要。
  • 应用场景选择:对于一般的信息展示类网站,HTTP 基本能满足需求;但对于涉及用户敏感信息,如登录、支付等场景,必须使用 HTTPS 来保障数据安全。

二、TCP 和 UDP 的区别

1. 面试题呈现

请说一下 TCP 和 UDP 的区别,在哪些场景下分别使用它们?

2. 答案解析

  • 连接方式:TCP 是面向连接的协议,在传输数据前需要先建立连接,数据传输完成后释放连接,就像打电话,先拨号建立连接,通话结束后挂断;UDP 是无连接的协议,直接发送数据,无需建立连接,类似发短信,直接发送内容。
  • 可靠性:TCP 提供可靠的传输,通过序列号、确认号、重传机制等保证数据按序到达且不丢失;UDP 不保证数据的可靠传输,可能会出现丢包、乱序等情况。
  • 传输效率:TCP 因为要保证可靠性,有额外的开销,传输效率相对较低;UDP 没有这些复杂的机制,传输效率高,速度快。
  • 应用场景:TCP 适用于对数据准确性要求高的场景,如文件传输、HTTP/HTTPS 协议等;UDP 适用于对实时性要求高、能容忍少量丢包的场景,像视频直播、音频通话、DNS 解析等。

三、三次握手和四次挥手

1. 面试题呈现

详细说一下 TCP 三次握手和四次挥手的过程。

2. 答案解析

  • 三次握手
    • 第一次握手:客户端向服务器发送一个 SYN(同步序列编号)包,请求建立连接,此时客户端进入 SYN_SENT 状态。
    • 第二次握手:服务器收到客户端的 SYN 包后,向客户端发送一个 SYN + ACK 包,其中 SYN 是对客户端 SYN 的响应,ACK 是确认收到客户端的 SYN,此时服务器进入 SYN_RCVD 状态。
    • 第三次握手:客户端收到服务器的 SYN + ACK 包后,向服务器发送一个 ACK 包,确认收到服务器的 SYN + ACK,此时客户端和服务器都进入 ESTABLISHED 状态,连接建立成功。
  • 四次挥手
    • 第一次挥手:客户端向服务器发送一个 FIN(结束标志)包,请求关闭连接,此时客户端进入 FIN_WAIT_1 状态。
    • 第二次挥手:服务器收到客户端的 FIN 包后,向客户端发送一个 ACK 包,确认收到客户端的 FIN,此时服务器进入 CLOSE_WAIT 状态,客户端收到 ACK 后进入 FIN_WAIT_2 状态。
    • 第三次挥手:服务器处理完数据后,向客户端发送一个 FIN 包,请求关闭连接,此时服务器进入 LAST_ACK 状态。
    • 第四次挥手:客户端收到服务器的 FIN 包后,向服务器发送一个 ACK 包,确认收到服务器的 FIN,此时服务器进入 CLOSED 状态,客户端等待一段时间后也进入 CLOSED 状态,连接关闭。

3. 大白话版:

三次握手

假如 A 和 B 打电话:

  1. 第一次握手:A 拨 B 的号码,说 “能听到我说话不” ,等着 B 回应。
  2. 第二次握手:B 接电话,说 “能听到,你能听到我不” ,B 也等着 A 回应。
  3. 第三次握手:A 说 “能听到,开始聊” ,双方确认可以正常交流,开始通话。

四次挥手

两人通话结束:

  1. 第一次挥手:A 说 “说完啦,准备挂电话” ,等 B 回应。
  2. 第二次挥手:B 说 “知道了,我还没说完,先别挂” ,A 等 B 说能挂电话。
  3. 第三次挥手:B 说 “我说完了,准备挂” ,等 A 确认。
  4. 第四次挥手:A 说 “行,挂吧” ,A 先挂,B 收到后也挂,结束通话 。

四、cookie和session

1. 面试题呈现

请简述cookie和session,并说明它们之间的区别。

2. 答案解析

五、http状态码

1. 面试题呈现

你知道http有哪些状态码吗?

2. 答案解析

  • 1xx:信息性状态码,如 100 Continue,表示服务器已收到请求的第一部分,正在等待其余部分。
  • 2xx:成功状态码,如 200 OK,表示请求成功。
  • 3xx:重定向状态码,如 301 Moved Permanently,表示资源已永久移动到新的 URL。
  • 4xx:客户端错误状态码,如 404 Not Found,表示请求的资源不存在。
  • 5xx:服务器错误状态码,如 500 Internal Server Error,表示服务器内部发生错误。

五、总结

以上都是我亲身被问到的一些真题,肯定还远远不够,后续会继续补充。希望博客能助力大家在面试过程中过关斩将,成功上岸!有任何疑问,欢迎随时交流。

翻过这座山,他们就会听到你的故事!

相关文章:

  • django上传文件
  • 2.zookeeper3.8.4安装
  • 智元机器人开源AgiBot World数据集:具身智能领域的“ImageNet时刻”
  • 后勤数据源定制主控室
  • 【以无克有】排序之随机快速排序
  • yanshee机器人初次使用说明(备注)-PyCharm
  • Springboot中添加原生websocket支持
  • 考研操作系统----操作系统的概念定义功能和目标(仅仅作为王道哔站课程讲义作用)
  • 蓝桥杯之图
  • web前端第三次作业
  • mysql用户名怎么看
  • H5自适应响应式代理记账与财政咨询服务类PbootCMS网站模板 – HTML5财务会计类网站源码下载
  • 【设计模式】02-理解常见设计模式-结构型模式
  • 一种微波场刺激器系统介绍
  • Molecular Communication(分子通信)与 Molecular Semantic Communication(分子语义通信)
  • 跟着李沐老师学习深度学习(十一)
  • 【LLM强化学习】LLM 强化学习中 Critic 模型训练详解
  • 基于逻辑概率的语义信道容量(Semantic Channel Capacity)和语义压缩理论(Semantic Compression Theory)
  • HTTP 请求方式`application/x-www-form-urlencoded` 与 `application/json` 怎么用?有什么区别?
  • 轻量级在线ETL数据集成工具架构设计与技术实现深度剖析
  • 高端网站设计思路/天津seo顾问
  • 四川网站建设益友/如何免费做视频二维码永久
  • 保定莲池区疫情最新公告/武汉seo公司哪家好
  • 什么是网络营网络营销的特点/seo网站推广的主要目的是什么
  • 腾讯云怎么建设网站/廊坊关键词快速排名
  • 做外贸的国际网站有哪些/官网seo是什么