计算机网络高频面试题
-
从输入URL到展现页面的全过程:
- 用户在浏览器中输入URL。
- 浏览器解析URL,确定协议、主机名和路径。
- 浏览器查找本地DNS缓存,如果没有找到,向DNS服务器发起查询请求。
- DNS服务器解析主机名,返回IP地址。
- 浏览器使用IP地址建立TCP连接(经过三次握手)。
- 浏览器发送HTTP请求到服务器。
- 服务器处理请求,并返回HTTP响应。
- 浏览器接收响应内容,可能是HTML、CSS、JavaScript等。
- 浏览器解析HTML,构建DOM树,执行JavaScript,渲染页面。
- 页面加载完成,显示给用户。
-
TCP三次握手以及四次挥手的流程:
- 三次握手:
- 客户端发送SYN包(请求建立连接)到服务器。
- 服务器收到SYN包后,发送SYN-ACK包(确认连接请求)。
- 客户端收到SYN-ACK包后,发送ACK包(确认连接建立)。
- 四次挥手:
- 客户端发送FIN包(请求关闭连接)。
- 服务器收到FIN包后,发送ACK包,并准备关闭。
- 服务器发送FIN包(请求关闭另一端连接)。
- 客户端收到FIN包后,发送ACK包(确认关闭)。
为什么需要三次握手以及四次挥手:
- 三次握手确保双方都能发送和接收数据,建立可靠的连接。
- 四次挥手允许双方独立关闭连接,确保所有数据都被接收。
- 三次握手:
-
TCP与UDP在网络协议中的哪一层,他们之间有什么区别?:
- TCP和UDP都是传输层协议。
- TCP是面向连接的、可靠的协议,提供数据传输的确认和重传机制。
- UDP是无连接的、不可靠的协议,没有确认或重传机制,但传输速度快。
-
HTTP与HTTPS有哪些区别?:
- HTTPS在HTTP的基础上增加了SSL/TLS协议,提供了数据加密、完整性校验和身份验证。
- HTTPS比HTTP更安全,可以防止数据在传输过程中被窃听或篡改。
-
简述DDOS攻击原理,如何防范它?:
- DDOS(分布式拒绝服务)攻击原理是通过大量请求占用目标服务器的资源,使其无法响应正常用户的请求。
- 防范方法包括使用防火墙过滤恶意流量、使用CDN分散流量、限制单个IP的请求频率等。
-
简述HTTP1.0,1.1,2.0的主要区别:
- HTTP/1.0不支持持久连接,每个请求/响应都需要建立和关闭一个TCP连接。
- HTTP/1.1支持持久连接,可以复用TCP连接,减少了连接建立和关闭的开销。
- HTTP/2.0进一步优化了性能,支持头部压缩、多路复用等技术,减少了延迟。
-
简述TCP的TIME_WAIT和CLOSE_WAIT:
- TIME_WAIT:主动关闭连接的一方在发送完最后一个ACK包后,进入TIME_WAIT状态,等待足够的时间确保被动关闭方接收到最终的确认,防止旧的连接请求干扰新的连接。
- CLOSE_WAIT:当一方接收到对方的FIN包并发送ACK包后,进入CLOSE_WAIT状态,等待本地应用程序关闭连接。如果应用程序不及时关闭,会导致资源占用。
-
TCP的TIME_WAIT和CLOSE_WAIT:
- TIME_WAIT:TCP连接的主动关闭端在发送完最后一个确认(ACK)包后,会进入TIME_WAIT状态,保持该状态一定时间,以确保被动关闭端能够收到连接关闭的确认。这可以防止旧的连接请求干扰新的连接。
- CLOSE_WAIT:当TCP连接的接收端收到关闭连接的请求(FIN包),它会发送一个确认(ACK),然后进入CLOSE_WAIT状态,等待本地应用层关闭连接。如果应用层没有及时关闭连接,CLOSE_WAIT状态会持续存在,可能导致资源占用。
-
TCP中常见的拥塞控制算法:
- 慢启动(Slow Start):开始时以较低的速率发送数据,逐渐增加发送窗口大小,直到达到拥塞发生。
- 拥塞避免(Congestion Avoidance):在检测到拥塞迹象后,缓慢增加窗口大小,避免拥塞。
- 快重传(Fast Retransmit):当连续收到三个相同的ACK时,立即重传丢失的数据包,而不是等待超时。
- 快恢复(Fast Recovery):在重传丢失的数据包后,适当调整拥塞窗口,避免发送速率急剧下降。
-
BGP协议和OSPF协议的区别:
- BGP (边界网关协议):是一种用于互联网上进行网络之间的路由和可达性信息传递的协议,主要用于互联网的自治系统(AS)之间的路由。
- OSPF (开放最短路径优先):是一种内部网关协议,用于在单一自治系统内部进行路由信息的传递和计算最短路径。
-
TCP的keepalive了解吗?以及它和HTTP的keepalive的区别:
- TCP keepalive:是一种心跳机制,用于检测死连接。在一定时间内没有数据传输时,TCP会发送探测包以检查连接是否仍然有效。
- HTTP keepalive:也称为持久连接,允许多个HTTP请求和响应复用同一个TCP连接,减少了连接建立和关闭的开销。
-
OSI七层模型,TCP,IP属于哪一层:
- OSI七层模型包括:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
- TCP (传输控制协议):属于传输层,负责在网络中提供可靠的数据传输服务。
- IP (网际协议):属于网络层,负责在网络中路由数据包。
-
traceroute有什么作用?:
- traceroute是一个网络诊断工具,用于显示数据包从源到目的地的路径,以及每个跳点的延迟时间。它帮助网络管理员诊断网络问题和了解数据包的路由情况。
-
DNS查询服务器的基本流程是什么?DNS劫持是什么?:
- DNS查询流程:
- 客户端向本地DNS服务器发起查询请求。
- 本地DNS服务器查询其缓存,如果未找到,则向根DNS服务器查询。
- 根DNS服务器响应并指引到顶级域DNS服务器。
- 顶级域DNS服务器提供负责特定域的权威DNS服务器地址。
- 本地DNS服务器从权威DNS服务器获取最终的IP地址并返回给客户端。
- DNS劫持:是一种网络攻击手段,攻击者通过篡改DNS服务器的记录,将域名解析到错误的IP地址,导致用户访问错误的网站。
- DNS查询流程:
相关文章:
计算机网络高频面试题
从输入URL到展现页面的全过程: 用户在浏览器中输入URL。浏览器解析URL,确定协议、主机名和路径。浏览器查找本地DNS缓存,如果没有找到,向DNS服务器发起查询请求。DNS服务器解析主机名,返回IP地址。浏览器使用IP地址建立…...

进程通信(1):无名管道(pipe)
无名管道(pipe)用来具有亲缘关系的进程之间进行单向通信。半双工的通信方式,数据只能单向流动。 管道以字节流的方式通信,数据格式由用户自行定义。 无名管道多用于父子进程间通信,也可用于其他亲缘关系进程间通信。 因为父进程调用fork函…...

YOLOv10改进 | 损失函数篇 | SlideLoss、FocalLoss、VFLoss分类损失函数助力细节涨点(全网最全)
一、本文介绍 本文给大家带来的是分类损失 SlideLoss、VFLoss、FocalLoss损失函数,我们之前看那的那些IoU都是边界框回归损失,和本文的修改内容并不冲突,所以大家可以知道损失函数分为两种一种是分类损失另一种是边界框回归损失,…...

【数组、特殊矩阵的压缩存储】
目录 一、数组1.1、一维数组1.1.1 、一维数组的定义方式1.1.2、一维数组的数组名 1.2、二维数组1.2.1、二维数组的定义方式1.2.2、二维数组的数组名 二、对称矩阵的压缩存储三、三角矩阵的压缩存储四、三对角矩阵的压缩存储五、稀疏矩阵的压缩存储 一、数组 概述:数…...

Flat Ads:金融APP海外广告投放素材的优化指南
在当今全球化的数字营销环境中,金融APP的海外营销推广已成为众多金融机构与开发者最为关注的环节之一。面对不同地域、文化及用户习惯的挑战,如何优化广告素材,以吸引目标受众的注意并促成有效转化,成为了广告主们亟待解决的问题。 作为领先的全球化营销推广平台,Flat Ads凭借…...

DBA 数据库管理 表管理 数据批量处理。表头约束
表管理 建库 库名命名规则:仅可以使用数字、字母、下划线、不能纯数字 不可使用MySQL命令或特殊字符 库名区分字母大小写 加if not exists 命令避免重名报错 create database if not exists gamedb; 建表 drop database if exists gamedb ; 删表…...

C# 上位机开发之旅-委托事件的那些事[2]
上位机项目开发过程,应该不少遇见界面同步实时刷新的情况,设备的运行情况以及设备数据的实时更新,应用场景非常之多。 那么这个时候,我们就可以用到C#语言中的一些关键功能来实现,比如事件,委托,…...

浏览器出现 502 Bad Gateway的原理分析以及解决方法
目录 前言1. 问题所示2. 原理分析3. 解决方法 前言 此类问题主要作为疑难杂症 1. 问题所示 2. 原理分析 502 Bad Gateway 错误表示服务器作为网关或代理时,从上游服务器收到了无效的响应 通常出现在充当代理或网关的网络服务器上,例如 Nginx、Apache…...

Java的高级特性
类的继承 继承是从已有的类中派生出新的类,新的类能拥有已有类的属性和行为,并且可以拓展新的属性和行为 public class 子类 extends 父类{子类类体 } 优点 代码的复用 提高编码效率 易于维护 使类与类产生关联,是多态的前提 缺点 类缺乏独…...
pip install selenium异常
error: externally-managed-environment This environment is externally managed ╰─> To install Python packages system-wide, try brew install xyz, where xyz is the package you are trying to install. If you wish to install a Python library that isnt in Ho…...

应急响应总结
应急响应 日志 windows IIS 6.0 及更早版本: C:\WINDOWS\system32\LogFiles\W3SVC[SiteID]\ IIS 7.0 及更高版本: C:\inetpub\logs\LogFiles\W3SVC[SiteID]\ Apache HTTP Server C:\Program Files (x86)\Apache Group\Apache2\logs\ 或者 C:\Prog…...
一些资源(●ˇ∀ˇ●)
GPT Kimi.ai - 帮你看更大的世界 (moonshot.cn) 文心一言 (baidu.com) 搜索AI伙伴 (baidu.com) 讯飞星火大模型-AI大语言模型-星火大模型-科大讯飞 (xfyun.cn) 秘塔AI搜索 (metaso.cn) GitHub打不开 下载Watt Toolkit...

WGCLOUD的ping设备监测可以导入excel数据吗
可以的 WGCLOUD的v3.5.3版本,已经支持导入excel数据,如下说明 数通设备PING监测使用说明 - WGCLOUD...

vue 画二维码及长按保存
需求 想要做如下图的二维码带文字,且能够长按保存 前期准备 一个canvas安装qrcode(命令:npm i qrcode) 画二维码及文字 初始化画布 <template><div><canvas ref"canvas" width"300" he…...

IDEA中Git常用操作及Git存储原理
Git简介与使用 Intro Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git是一款分布式版本控制系统(VSC),是团队合作开发…...

人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解
大家好,我是微学AI,今天给大家介绍一下人工智能算法工程师(中级)课程4-sklearn机器学习之回归问题与代码详解。回归分析是统计学和机器学习中的一种重要方法,用于研究因变量和自变量之间的关系。在机器学习中,回归算法被广泛应用于…...
智能制造热点词汇科普篇——工业微服务
随着互联网技术的不断发展,近十年来,微服务也逐渐走进人们的视线中来。何为微服务?让我们先来看看百度百科上的定义:微服务(或称微服务架构)是一种云原生架构方法,在单个应用中包含众多松散耦合…...

FastGPT+OneAI接入网络模型
文章目录 FastGPT连接OneAI接入网络模型1.准备工作2.开始部署2.1下载 docker-compose.yml2.2修改docker-compose.yml里的参数 3.打开FastGPT添加模型3.1打开OneAPI3.2接入网络模型3.3重启服务 FastGPT连接OneAI接入网络模型 1.准备工作 本文档参考FastGPT的官方文档 主机ip接…...

Java核心篇之JVM探秘:内存模型与管理初探
系列文章目录 第一章 Java核心篇之JVM探秘:内存模型与管理初探 第二章 Java核心篇之JVM探秘:对象创建与内存分配机制 第三章 Java核心篇之JVM探秘:垃圾回收算法与垃圾收集器 第四章 Java核心篇之JVM调优实战:Arthas工具使用及…...

未来互联网的新篇章:深度解析Facebook的技术与战略
随着科技的飞速发展和社会的不断变迁,互联网作为全球信息交流的重要平台,正经历着前所未有的变革和演进。作为全球最大的社交媒体平台之一,Facebook不仅是人们沟通、分享和互动的重要场所,更是科技创新和数字化进程的推动者。本文…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
解锁数据库简洁之道:FastAPI与SQLModel实战指南
在构建现代Web应用程序时,与数据库的交互无疑是核心环节。虽然传统的数据库操作方式(如直接编写SQL语句与psycopg2交互)赋予了我们精细的控制权,但在面对日益复杂的业务逻辑和快速迭代的需求时,这种方式的开发效率和可…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

相机从app启动流程
一、流程框架图 二、具体流程分析 1、得到cameralist和对应的静态信息 目录如下: 重点代码分析: 启动相机前,先要通过getCameraIdList获取camera的个数以及id,然后可以通过getCameraCharacteristics获取对应id camera的capabilities(静态信息)进行一些openCamera前的…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...