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

计算机网络常见面试题及解答

以下是计算机网络中常见的面试题及解答,按主题分类:

---

## **一、基础概念**

### **1. OSI 七层模型和 TCP/IP 模型的区别是什么?**
**答:**
- **OSI 七层模型:** 
  - 应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。
- **TCP/IP 模型:**
  - 应用层、传输层、网络层、网络接口层。
- 区别:
  - OSI 模型更具理论性,分为七层。
  - TCP/IP 模型基于实际协议实现,简化为四层。

---

### **2. TCP 和 UDP 的区别?**
**答:**
- **TCP:**
  - 面向连接,提供可靠数据传输(确认机制、重传机制)。
  - 应用:HTTP、HTTPS、FTP。
- **UDP:**
  - 无连接,数据传输速度快,无确认机制。
  - 应用:DNS、视频流、实时通信。

---

### **3. 三次握手和四次挥手的过程是什么?**
**答:**
- **三次握手:**
  1. 客户端发送 SYN 报文(SYN=1, seq=x)。
  2. 服务端回复 SYN+ACK 报文(SYN=1, ACK=1, seq=y, ack=x+1)。
  3. 客户端发送 ACK 报文(ACK=1, seq=x+1, ack=y+1)。
- **四次挥手:**
  1. 客户端发送 FIN 报文,进入 FIN-WAIT-1 状态。
  2. 服务端回复 ACK 报文,进入 CLOSE-WAIT 状态。
  3. 服务端发送 FIN 报文,进入 LAST-ACK 状态。
  4. 客户端回复 ACK 报文,进入 TIME-WAIT 状态,最后关闭。

---

### **4. HTTP 和 HTTPS 的区别?**
**答:**
- HTTP 是明文传输,HTTPS 使用 SSL/TLS 加密。
- HTTPS 默认端口为 443,HTTP 为 80。
- HTTPS 提供数据完整性、机密性和身份认证。

---

### **5. 什么是 IP 地址?**
**答:**
- IP 地址是网络设备的唯一标识,由 **IPv4** 和 **IPv6** 两种形式。
  - **IPv4**:32 位,分为 A/B/C/D/E 类地址。
  - **IPv6**:128 位,更大地址空间,支持更多设备。

---

## **二、协议相关**

### **6. ARP 和 RARP 的作用是什么?**
**答:**
- **ARP (Address Resolution Protocol)**:
  - 根据 IP 地址获取对应的 MAC 地址。
- **RARP (Reverse Address Resolution Protocol)**:
  - 根据 MAC 地址获取对应的 IP 地址(现已被 DHCP 替代)。

---

### **7. 什么是子网掩码?如何划分子网?**
**答:**
- **子网掩码:**
  - 用于区分网络部分和主机部分,例如 255.255.255.0 表示前 24 位为网络地址。
- **划分子网:**
  - 通过调整子网掩码的网络位数(CIDR)来划分多个小子网。

---

### **8. DNS 解析的流程是什么?**
**答:**
1. 浏览器检查缓存。
2. 操作系统查询本地缓存(如 hosts 文件)。
3. 查询本地 DNS 服务器。
4. 本地 DNS 服务器递归查询根域名服务器。
5. 根服务器指向顶级域名服务器(TLD)。
6. TLD 指向权威域名服务器,返回 IP。

---

### **9. HTTP 状态码的含义?**
**答:**
- **1xx:信息性响应**,如 101 Switching Protocols。
- **2xx:成功**,如 200 OK。
- **3xx:重定向**,如 301 Moved Permanently, 302 Found。
- **4xx:客户端错误**,如 404 Not Found, 403 Forbidden。
- **5xx:服务器错误**,如 500 Internal Server Error, 502 Bad Gateway。

---

## **三、性能优化**

### **10. 什么是 CDN?有什么作用?**
**答:**
- **CDN (Content Delivery Network)** 是一组分布在不同地理位置的服务器网络。
- **作用:**
  - 缓存静态资源,降低服务器负载。
  - 加速内容分发,减少延迟。
  - 提高用户访问的可靠性。

---

### **11. 什么是负载均衡?有几种实现方式?**
**答:**
- **负载均衡:** 分发网络流量到多个服务器以提高可用性。
- **实现方式:**
  - **DNS 负载均衡**:通过解析不同 IP。
  - **反向代理**:Nginx/HAProxy。
  - **硬件负载均衡**:F5。
  - **应用层负载均衡**:通过应用逻辑分发。

---

## **四、网络安全**

### **12. 什么是 CSRF 和 XSS?如何防御?**
**答:**
- **CSRF(跨站请求伪造):** 利用用户身份发送恶意请求。
  - **防御:** 使用 CSRF Token,验证 Referer。
- **XSS(跨站脚本攻击):** 向网站注入恶意脚本。
  - **防御:** 输入过滤和输出转义。

---

### **13. 什么是对称加密和非对称加密?**
**答:**
- **对称加密:**
  - 使用相同密钥加解密,速度快。
  - 如:AES、DES。
- **非对称加密:**
  - 使用公钥和私钥,加密和解密用不同密钥。
  - 如:RSA、ECC。

---

### **14. 什么是防火墙?有几种类型?**
**答:**
- **防火墙:** 保护网络免受未经授权的访问。
- **类型:**
  - 包过滤防火墙。
  - 应用层防火墙。
  - 状态检测防火墙。
  - 下一代防火墙(NGFW)。

---

如果需要针对某个具体方向深入学习,可以进一步扩展相关内容!

相关文章:

计算机网络常见面试题及解答

以下是计算机网络中常见的面试题及解答,按主题分类: --- ## **一、基础概念** ### **1. OSI 七层模型和 TCP/IP 模型的区别是什么?** **答:** - **OSI 七层模型:** - 应用层、表示层、会话层、传输层、网络层、数…...

举例说明AI模型怎么聚类,最后神经网络怎么保存

举例说明怎么聚类,最后神经网络怎么保存 目录 举例说明怎么聚类,最后神经网络怎么保存K - Means聚类算法实现神经元特征聚类划分成不同专家的原理和过程 特征提取: 首先,需要从神经元中提取有代表性的特征。例如,对于一个多层感知机(MLP)中的神经元,其权重向量可以作为特…...

HarmonyOS NEXT应用开发实战(一):边学边玩,从零开发一款影视APP

引言 学习一项技能,最好也最快的办法就是动手实战。通过自己给自己找项目练习,不仅能够激发兴趣,还能从开发实战中不断总结经验。这种学习方法是最为高效的。今天,我们将通过开发一款名为“爱影家”的影视APP,来学习H…...

STM32G0B1 can Error_Handler 解决方法

问题现象 MCU上电,发送0x13帧数据固定进入 Error_Handler 硬件介绍 MCU :STM32G0B1 can:NSI1042 tx 接TX RX 接RX 折腾了一下午,无解,问题依旧; 对比测试 STM32G431 手头有块G431 官方评估版CAN 模块; 同样的…...

使用 `llama_index` 构建智能问答系统:多种文档切片方法的评估

使用 llama_index 构建智能问答系统:多种文档切片方法的评估 代码优化与解析1. **代码结构优化**2. **日志管理**3. **环境变量管理**4. **模型初始化**5. **提示模板更新**6. **问答函数优化**7. **索引构建与查询引擎**8. **节点解析器测试** 总结 在现代自然语言…...

【大模型】7 天 AI 大模型学习

7 天 AI 大模型学习 Day 2 今天是 7 天AI 大模型学习的第二天 😄,今天我将会学习 Transformer 、Encoder-based and Decoder-Based LLMs 等 。如果有感兴趣的,就和我一起开始吧 ~ 课程链接 :2025年快速吃透AI大模型&am…...

软件工程大复习之(四)——面向对象与UML

4.1 面向对象概述 面向对象(OO)是一种编程范式,它将数据和处理数据的方法封装在对象中。面向对象的主要概念包括: 对象:实例化的数据和方法的集合。类:对象的蓝图或模板。封装:隐藏对象的内部…...

【Linux】shell命令

目录 shell的基本命令 shell - 贝壳 外在保护工具 用户、shell、内核、硬件之间的关系 解析器的分类: shell命令格式 history -历史记录查询 修改环境变量的值: shell中的特殊字符 通配符 管道 | 输入输出重定向 命令置换符 shell的基本命…...

ValuesRAG:以检索增强情境学习强化文化对齐

随着大型语言模型(LLMs)的迅猛发展,其在各个领域展现出强大的能力。然而,训练数据中西方中心主义的倾向,使得 LLMs 在文化价值观一致性方面面临严峻挑战,这一问题在跨文化场景中尤为突出,可能导…...

【机器学习篇】交通革命:机器学习如何引领未来的道路创新

嘿,你知道吗?机器学习正在交通领域掀起一场革命啦!它将如何引领未来道路创新呢 本文有精彩的 C 代码演示、实用的图片解释,还有超多干货,保证让你大开眼界,点赞收藏关注, 开启一场奇妙的探索之…...

DeepSeek-V3 通俗详解:从诞生到优势,以及与 GPT-4o 的对比

1. DeepSeek 的前世今生 1.1 什么是 DeepSeek? DeepSeek 是一家专注于人工智能技术研发的公司,致力于打造高性能、低成本的 AI 模型。它的目标是让 AI 技术更加普惠,让更多人能够用上强大的 AI 工具。 1.2 DeepSeek-V3 的诞生 DeepSeek-V…...

把vue项目或者vue组件发布成npm包或者打包成lib库文件本地使用

将vue项目发布成npm库文件,第三方通过npm依赖安装使用;使用最近公司接了一个项目,这个项目需要集成到第三方页面,在第三方页面点击项目名称,页面变成我们的项目页面;要求以npm库文件提供给他们;…...

【STC库函数】Compare比较器的使用

如果我们需要比较两个点的电压,当A点高于B点的时候我们做一个操作,当B点高于A点的时候做另一个操作。 我们除了加一个运放或者比较器,还可以直接使用STC内部的一个比较器。 正极输入端可以是P37、P50、P51,或者从ADC的十六个通道…...

单片机-独立按键矩阵按键实验

1、按键介绍 按键管脚两端距离长的表示默认是导通状态,距离短的默认是断开状态, 如果按键按下,初始导通状态变为断开,初始断开状态变为导通 我们开发板是采用软件消抖,一般来说一个简单的按键消抖就是先读取按键的状…...

若要把普通表转成分区表,就需要先新建分区表,然后把普通表中的数据导入新建分区表。 具体怎么导入?

将普通表转换为分区表并导入数据是一个常见的数据库管理任务。以下是详细的步骤和示例,帮助你在 GaussDB 中完成这一过程: 1. 创建分区表 首先,你需要创建一个新的分区表,定义好分区键和分区策略。假设你有一个普通表 orders&am…...

XXX公司面试真题

一、一面问题 1.线程池的主要参数 核心线程数最大线程数空闲线程存活时间存活时间单位任务队列线程工厂拒绝策略允许核心线程超时 2. 线程的状态 新建状态就绪状态运行状态阻塞状态死亡状态 补充:线程阻塞的原因 线程调用sleep()方法进入睡眠状态 线程得到一个…...

第一节:电路连接【51单片机+A4988+步进电机教程】

摘要:本节介绍如何搭建一个51单片机A4988步进电机控制电路,所用材料均为常见的模块,简单高效的方式搭建起硬件环境 一、硬件清单 ①51单片机最小控制模块 ②开关电源 ③A4988模块转接座 ④二相四线步进电机 ⑤电线若干 二、接线 三、A49…...

机器学习算法深度解析:以支持向量机(SVM)为例的实践应用

机器学习算法深度解析:以支持向量机(SVM)为例的实践应用 在当今的数据驱动时代,机器学习作为人工智能的核心分支,正以前所未有的速度改变着我们的生活与工作方式。从图像识别到自然语言处理,从金融预测到医…...

解决Postman一直在转圈加载无法打开问题的方法

在使用Postman这款强大的API测试工具时,有时可能会遇到程序长时间加载而无法正常使用的情况。面对这样的问题,可以尝试以下几种解决办法: 方法一:直接运行Postman可执行文件 定位到Postman的安装目录 如果您不确定Postman的具体安…...

利用 LangChain 构建对话式 AI 应用

随着人工智能技术的快速发展,对话式 AI 已成为现代应用的核心部分。在构建智能客服、虚拟助手以及交互式学习平台时,一个强大且灵活的框架显得尤为重要。本文将深度解析 LangChain 这一框架的功能及实际使用,帮助开发者快速上手。 什么是 La…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

vscode里如何用git

打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

【Java学习笔记】Arrays类

Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)

概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南:从入门到实战 一、Grunt 是什么? Grunt是一个基于 Node.js 的前端自动化任务运行器,主要用于自动化执行项目开发中重复性高的任务,例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...

Spring Security 认证流程——补充

一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...

Ubuntu系统多网卡多相机IP设置方法

目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...