Java面试第二山!《计算机网络》!
在 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 打电话:
- 第一次握手:A 拨 B 的号码,说 “能听到我说话不” ,等着 B 回应。
- 第二次握手:B 接电话,说 “能听到,你能听到我不” ,B 也等着 A 回应。
- 第三次握手:A 说 “能听到,开始聊” ,双方确认可以正常交流,开始通话。
四次挥手
两人通话结束:
- 第一次挥手:A 说 “说完啦,准备挂电话” ,等 B 回应。
- 第二次挥手:B 说 “知道了,我还没说完,先别挂” ,A 等 B 说能挂电话。
- 第三次挥手:B 说 “我说完了,准备挂” ,等 A 确认。
- 第四次挥手: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,表示服务器内部发生错误。
五、总结
以上都是我亲身被问到的一些真题,肯定还远远不够,后续会继续补充。希望博客能助力大家在面试过程中过关斩将,成功上岸!有任何疑问,欢迎随时交流。
翻过这座山,他们就会听到你的故事!
相关文章:
Java面试第二山!《计算机网络》!
在 Java 面试里,计算机网络知识是高频考点,今天就来盘点那些最容易被问到的计算机网络面试题,帮你轻松应对面试,也方便和朋友们一起探讨学习。 一、HTTP 和 HTTPS 的区别 1. 面试题呈现 HTTP 和 HTTPS 有什么区别?在…...
RocketMQ 5.0安装部署
0.前言 在微服务架构逐渐成为主流的今天,消息队列如同数字世界的快递员,承担着系统间高效通信的重要使命。 Apache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余…...
go语言并发的最佳实践
Go 语言的并发模型是其最强大的特性之一,基于 CSP(Communicating Sequential Processes)理论,通过 goroutine 和 channel 实现轻量级并发. 一、并发核心概念 1. Goroutine 在 Go 语言中,Goroutine 是实现并发编程的…...
俄罗斯方块游戏完整代码示例
以下是一个基于Cocos Creator引擎开发的俄罗斯方块游戏的完整代码示例。该游戏实现了俄罗斯方块的基本功能,并且代码整合在单个文件中,无需任何外部依赖,可以直接在浏览器中运行。 1. 创建Cocos Creator项目 首先,确保你已经安装了…...
Ubuntu22.04配置cuda/cudnn/pytorch
Ubuntu22.04配置cuda/cudnn/pytorch 安装cuda官网下载.run文件并且安装/etc/profile中配置cuda环境变量 cudnn安装官网找cuda版本对应的cudnn版本下载复制相应文件到系统文件中 安装pytorch官网找cuda对应版本的pytorchpython代码测试pytorch-GPU版本安装情况 安装cuda 官网下…...
【九】Golang 数组
💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 数组数组初始化默认初始化显式初始化省略长度初始化索…...
百达翡丽(Patek Philippe):瑞士制表的巅峰之作(中英双语)
百达翡丽(Patek Philippe):瑞士制表的巅峰之作 在钟表界,百达翡丽(Patek Philippe) 一直被誉为“世界三大名表”之一,并且常被认为是其中的至高存在。一句“没人能真正拥有一枚百达翡丽&#x…...
【学习】软件测试中的分类树法介绍
分类树法是一种软件测试设计技术,它通过构建一个树状结构来组织和展示输入数据的多种组合。这种方法有助于系统地识别和分析可能的测试情况,从而确保对软件进行全面而详尽的测试。分类树法特别适用于具有多个选择或条件的复杂系统,它可以有效…...
打造智能语料库:通过Coco AI Server 实现 Notion 笔记 RAG 检索功能
本文将详细介绍如何将 Notion 作为语料库,部署 Coco Server 的 RAG(Retrieval-Augmented Generation)功能。我们将使用 Easysearch 作为语料库存储 Notion 素材,并通过 ollama 进行 LLM 推理。 1. 环境准备 1.1 启动 Easysearch…...
SP字体UI放大代码
代码: echo off set QT_SCALE_FACTOR放大倍数 start "" "你的SP.exe启动路径"...
spring boot知识点2
1.spring boot 要开启一些特性,可通过什么方式开启 a.通过Enable注解,可启动定时服务 b.通过application.properties可设置端口号等地址信息 2.什么是热部署,以及spring boot通过什么方式进行热部署 热部署这个概念,我知道。就…...
动手学Agent——Day2
文章目录 一、用 Llama-index 创建 Agent1. 测试模型2. 自定义一个接口类3. 使用 ReActAgent & FunctionTool 构建 Agent 二、数据库对话 Agent1. SQLite 数据库1.1 创建数据库 & 连接1.2 创建、插入、查询、更新、删除数据1.3 关闭连接建立数据库 2. ollama3. 配置对话…...
qt实习总结
创建一个滑动条 QSlider *slider new QSlider(Qt::Vertical); //创建一个垂直方向的 进度条 带有上下箭头的输入框 QSpinBox 提供了一个带有上下箭头的输入框 垂直 水平怎么说 horizontal vetical 布局知识 BtnLayout->addWidget(AmendBtn); BtnLayout->addWidg…...
SpringBoot3.x整合WebSocket
SpringBoot3.x整合WebSocket 本文主要介绍最新springboot3.x下如何整合WebSocket. WebSocket简述 WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它允许在浏览器和服务器之间进行实时的、双向的通信。相对于传统的基于请求和响应的 HTTP 协议ÿ…...
vLLM专题(二):安装-CPU
vLLM 是一个 Python 库,支持以下 CPU 变体。选择您的 CPU 类型以查看供应商特定的说明: Intel/AMD x86 vLLM 最初支持在 x86 CPU 平台上进行基本模型推理和服务,支持的数据类型包括 FP32、FP16 和 BF16。 注意 此设备没有预构建的 wheel 包或镜像,因此您必须从源代码构建 v…...
「软件设计模式」适配器模式(Adapter)
软件设计模式深度解析:适配器模式(Adapter)(C实现) 一、模式概述 适配器模式(Adapter Pattern)是结构型设计模式中的"接口转换器",它像现实世界中的电源适配器一样&#…...
Dify平台搭建面试机器人
无代码搭建面试机器人 什么是Dify 什么是Dify Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service)和 LLMOps 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能…...
Vue 3 中可读可写的计算属性(Computed Properties)的使用场景
在 Vue 3 中,计算属性(Computed Properties)是一种基于响应式依赖进行缓存的属性。它们通常用于处理复杂的逻辑,并且只有当依赖的响应式数据发生变化时,才会重新计算。计算属性非常适合用于处理模板中的复杂表达式&…...
如何通过AI轻松制作PPT?让PPT一键生成变得简单又高效
如何通过AI轻松制作PPT?让PPT一键生成变得简单又高效!在这个信息化飞速发展的时代,PPT已经成为我们日常工作、学习和生活中不可或缺的一部分。无论是公司会议、学术报告,还是个人展示,PPT的作用都不容忽视。很多人对于…...
从零开始部署DeepSeek:基于Ollama+Flask的本地化AI对话系统
从零开始部署DeepSeek:基于OllamaFlask的本地化AI对话系统 一、部署背景与工具选型 在AI大模型遍地开花的2025年,DeepSeek R1凭借其出色的推理能力和开源特性成为开发者首选。本文将以零基础视角,通过以下工具链实现本地化部署: …...
STM32 CubeMx配置串口收发使用DMA并调用Idle模式(二)
本篇主要结合代码落实,之前串口已经配置好的DMA方式。 一、首先我们把串口看成一个对象,它有属性、私有数据和方法; 每个串口都有名字属性;有初始化、发送、接收方法;还有一个私有数据(这个私有数据是每个…...
使用Redis实现分布式锁,基于原本单体系统进行业务改造
一、单体系统下,使用锁机制实现秒杀功能,并限制一人一单功能 1.流程图: 2.代码实现: Service public class VoucherOrderServiceImpl extends ServiceImpl<VoucherOrderMapper, VoucherOrder> implements IVoucherOrderSe…...
数据结构中的邻接表
一、概念 邻接表(Adjacency List)是一种用于表示图(Graph)数据结构的常用方法。它特别适用于稀疏图,即边的数量远小于顶点数量平方的图。邻接表通过为每个顶点维护一个列表来存储与该顶点相邻的顶点,从而高…...
js第九题
题九:放大镜效果 要求: 1.鼠标移至图片上方,鼠标周围出现黄色的的正方形框,黄色矩形 框会随着鼠标的移动而移动; 2.将黄色正方形框里的内容的长和宽均放大2.4倍,并在图片右边进 行显示。 html <div …...
基于单片机ht7038 demo
单片机与ht7038 demo,三相电能表,电量数据包括电流电压功能,采用免校准方法 列表 ht7038模块/CORE/core_cm3.c , 17273 ht7038模块/CORE/core_cm3.h , 85714 ht7038模块/CORE/startup_stm32f10x_hd.s , 15503 ht7038模块/CORE/startup_stm32…...
轮播图html
题十二:轮播图 要求: 1.鼠标不在图片上方时,进行自动轮播,并且左右箭头不会显示;当鼠标放在图片上方时,停止轮播,并且左右箭头会显示; 2.图片切换之后,图片中下方的小圆…...
Nginx内存池源代码剖析----ngx_create_pool函数
ngx_create_pool 是 Nginx 内存池 的初始化函数,负责创建并初始化一个内存池对象。它的作用是 为后续的内存分配操作提供统一的管理入口,通过预分配一块较大的内存区域,并基于此区域实现高效的内存分配、对齐管理和资源回收。 源代码定义&…...
DeepSeek 开放平台无法充值 改用其他平台API调用DeepSeek-chat模型方法
近几天DeepSeek开放平台无法充值目前已经关闭状态,大家都是忙着接入DeepSeek模型 ,很多人想使用DeepSeek怎么办? 当然还有改用其他平台API调用方法,本文以本站的提供chatgpt系统为例,如何修改DeepSeek-chat模型API接口…...
QT基础一、学会建一个项目
注:因为CSDN有很多付费才能吃到的史,本人对此深恶痛绝,所以我打算出一期免费的QT基础入门专栏,这是QT基础知识的第一期,学会建一个项目,本专栏是适用于c / c基础不错的朋友的一个免费专栏,接下来…...
科技引领未来,中建海龙C-MiC 2.0技术树立模块化建筑新标杆
在建筑行业追求高效与品质的征程中,中建海龙科技有限公司(简称“中建海龙”)以其卓越的创新能力和强大的技术实力,不断书写着装配式建筑领域的新篇章。1 月 10 日,由深圳安居集团规划,中建海龙与中海建筑共…...
