【面试】【前端】前端网络面试题总结
一、前端网络面试题总结
网络相关知识是前端开发的核心内容之一,面试中通常会考察协议、网络模型、性能优化及常见网络问题的处理。以下是针对前端网络面试题的总结:
(一)协议森林(大话网络协议)
-
网络协议分类:
- 应用层:HTTP、HTTPS、WebSocket、DNS 等。
- 传输层:TCP、UDP。
- 网络层:IP、ICMP。
- 数据链路层:ARP、MAC。
-
典型问题:
-
输入
ping IP
后敲回车,发包前发生的过程:
- DNS 查询:将域名解析为 IP 地址。
- 构造 ICMP 数据包:生成请求包。
- 路由查找:找到发送路径并发出数据包。
- 目标主机响应:返回 ICMP 回应包。
-
(二)网络通信模型
-
七层模型(OSI)与四层模型(TCP/IP):
- 七层模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- 四层模型:网络接口层、网络层、传输层、应用层。
-
子网掩码与网络划分:
- 通过子网掩码(如 255.255.255.0)确定主机数与网络范围。
- 子网内通信无需路由,跨子网需通过网关。
(三)TCP/IP 协议
-
TCP 特性:
-
可靠传输、面向连接。
-
三次握手
:确保双方都准备好通信。
- 第一次握手:客户端发送 SYN。
- 第二次握手:服务器发送 SYN+ACK。
- 第三次握手:客户端发送 ACK。
-
四次挥手:确保双方关闭通信。
- 第一次:客户端发送 FIN。
- 第二次:服务器返回 ACK。
- 第三次:服务器发送 FIN。
- 第四次:客户端返回 ACK。
-
-
UDP 特性:
- 无连接、不可靠但效率高,常用于实时传输(如视频、语音)。
(四)HTTP/HTTPS 协议
-
HTTP 特性:
- 无状态、明文传输、请求-响应模式。
-
HTTPS 工作原理:
- 使用 TLS/SSL 协议加密通信。
- 通过 CA 颁发的数字证书验证服务器身份。
- 客户端与服务器协商生成对称加密密钥。
-
HTTPS 是否一定安全?
-
不一定安全
,可能的风险:
- 中间人攻击:拦截通信并伪造证书。
- 不安全的证书颁发:信任非权威 CA。
-
防范措施:确保证书合法、校验 CA 的可信度。
-
(五)WebSocket 协议
-
工作层级:
- 工作在七层模型的应用层,基于 TCP 协议。
-
与 HTTP 的关系:
- 使用 HTTP 协议完成初始握手,之后升级为 WebSocket 协议。
-
特性:
- 全双工通信,适合实时应用。
-
应用场景:
- 点对点通信:通过唯一标识连接用户。
- 广播通信:通过服务端发送消息至多个客户端。
(六)常见网络问题与解决
-
CDN 的工作原理:
- 将资源缓存到离用户最近的节点,提高访问速度。
-
运营商劫持与防范:
- 劫持方式:插入广告、重定向流量。
- 防范措施:使用 HTTPS、DNS 加密(如 DoH/DoT)。
-
网络性能问题定位:
- Ping:测试与目标主机的连接延迟。
- Traceroute:检查网络路径中的延迟和问题节点。
- F12 开发者工具:分析请求时间、DNS 解析时间、网络耗时等。
-
Token 与 Cookie 的区别:
- Cookie:由服务器生成,保存在客户端,用于会话管理。
- Token:由服务器生成,通常存储在客户端(如 LocalStorage),携带用户认证信息,常用于无状态认证。
(七)常见问题解析
- 支付宝和微信的离线支付:
- 离线支付基于二维码或 NFC,通过本地缓存的动态密钥或凭证实现。
- 离线交易会在网络恢复后同步到服务器。
- HTTPS 抓包:
- 使用代理工具(如 Charles、Fiddler)安装中间人证书拦截 HTTPS 流量。
- DNS 泄露隐私与防范:
- 隐私泄露原因:DNS 请求通常未加密,可能被监视。
- 防范方法:使用加密 DNS(如 DNS over HTTPS)。
- 192.168.0.1 与 192.168.1.1 的通信:
- 通过路由器的网关进行跨子网通信,具体路径由路由表决定。
- 浏览器访问
192.168.3.4:8088
的过程:- 浏览器解析 URL,判断协议为 HTTP。
- 通过 DNS 将域名解析为 IP 地址。
- 建立 TCP 连接(三次握手)。
- 发送 HTTP 请求到目标服务器。
- 服务器返回 HTTP 响应,浏览器解析内容并渲染页面。
二、总结
前端网络知识的核心在于理解高层次的网络通信原理,掌握常见协议(HTTP、WebSocket、TCP 等)的特点,具备基本的网络性能优化能力,并能解决实际问题。通过对网络基础的深入理解,能够帮助开发者定位问题并提高应用的性能和可靠性。
相关文章:
【面试】【前端】前端网络面试题总结
一、前端网络面试题总结 网络相关知识是前端开发的核心内容之一,面试中通常会考察协议、网络模型、性能优化及常见网络问题的处理。以下是针对前端网络面试题的总结: (一)协议森林(大话网络协议) 网络协议…...
Qt 5.14.2 学习记录 —— 이십일 Qt网络和音频
文章目录 1、UDP带有界面的Udp服务器(回显服务器) 2、TCP回显服务器 3、HTTP客户端4、音频 和Linux的网络一样,Qt封装了Linux的网络API,即Socket API。网络编程是在应用层写,需要传输层支持,传输层有UDP和T…...
C++小病毒-1.0勒索(更新次数:2)
内容供学习使用,不得转卖,代码复制后请1小时内删除,此代码会危害计算机安全,谨慎操作 在C20环境下,并在虚拟机里运行此代码!,病毒带来后果自负! 使用时请删除在main()里的注释,并修改位置至C:\\(看我代码注释)//可以改成WIN Main() #include <iostream> #i…...
labelimg闪退的解决办法
其实就是你的python版本太高不稳定不支持labelimg 标记时出现闪退 问题原因:python版本过高 解决方案 第一步: 在python3.9以上的版本运行软件会闪退,这个时候我们需要创建一个3.9或者及以下的虚拟环境 conda cr…...
使用脚本执行地理处理工具
确定工具箱的别名,查看当前使用的arcgis的许可级别,确保工具可访问后,即可使用脚本执行工具. 操作方法 1.在arcmap中打开目标地图 2.打开python窗口 3.创建一个变量,引用要裁剪的输入要素类 in_features "<路径>" 4.创建一个变量,引用用于裁剪的图层 cl…...
【数据分享】2014-2025年我国道路数据(免费获取/全国/分省)
道路数据是我们在各项研究中经常使用的数据!道路数据虽然很常用,但是却基本没有能下载最近年份道路数据的网站,所以很多人不知道如何获到道路数据。 本次我们给大家分享的是2014-2025年的全国范围的道路数据!数据格式为shp矢量格…...
Mybatis-plus 更新 Null 的策略踩坑记
一个bug 在一个管理页面,有一个非必填字段被设置成空了并提交更新,再次打开的时候,发现字段还在,并没有被更新成功。 使用的数据库映射框架是 Mybatis-plus ,对于Mybatis 在更新字段的时候会对空进行校验,…...
图解 script 标签中的 async 和 defer 属性
<script> 当浏览器解析到这个标签时,它会立即停止解析HTML文档,转而去加载并执行这个脚本。这意味着如果将<script>放在页面顶部,它可能会延迟整个页面的加载速度,因为浏览器必须等待脚本执行完毕才能继续解析HTML。…...
C++ Lambda 表达式的本质及原理分析
目录 1.引言 2.Lambda 的本质 3.Lambda 的捕获机制的本质 4.捕获方式的实现与底层原理 5.默认捕获的实现原理 6.捕获 this 的机制 7.捕获的限制与注意事项 8.总结 1.引言 C 中的 Lambda 表达式是一种匿名函数,最早在 C11 引入,用于简化函数对象的…...
08.OSPF 特殊区域及其他特性
OSPF 特殊区域及其他特性 一. 前言OSPF的四个特殊区域Stub末梢区域Totally Stub完全末梢区域NSSATotally NSSA完全的NSSA二.Stub 区域和 Totally Stub 区域(1)网络规模变大引发的问题(2)传输区域和末端区域(3)Stub 区域(4)Totally Stub 区域三.NSSA 区域和 Totally NSS…...
计网week1+2
计网 一.概念 1.什么是Internet 节点:主机及其运行的应用程序、路由器、交换机 边:通信链路,接入网链路主机连接到互联网的链路,光纤、网输电缆 协议:对等层的实体之间通信要遵守的标准,规定了语法、语义…...
日志收集Day008
1.zk集群优化 修改zookeeper的堆内存大小,一般情况下,生产环境给到2G足以,如果规模较大可以适当调大到4G。 (1)配置ZK的堆内存 vim /app/softwares/zk/conf/java.env export JAVA_HOME/sortwares/jdk1.8.0_291 export JVMFLAGS"-Xms2…...
使用PC版本剪映制作照片MV
目录 制作MV模板时长调整拖动边缘缩短法分割删除法变速法整体调整法 制作MV 导入音乐 导入歌词 点击歌词 和片头可以修改字体: 还可以给字幕添加动画效果: 导入照片,自动创建照片轨: 修改片头字幕:增加两条字幕轨&…...
性能测试全链路监控模式有哪些?
目录 性能测试全链路监控的模式有哪些呢? 1. 调用链追踪(Trace) 2. 分布式追踪与日志聚合 3. 实时性能指标采集 4. 资源利用率监控 5. 自动化测试与回滚机制 6. 用户体验质量(QoE)评估 性能测试中的全链路监控模…...
【吉林乡镇界】面图层shp格式arcgis数据乡镇名称和编码wgs84无偏移内容测评
标题中的“吉林省乡镇界面图层shp格式arcgis数据乡镇名称和编码wgs84无偏移”揭示了这是一个地理信息系统(GIS)相关的数据集,主要用于描绘吉林省的乡镇边界。这个数据集包含了一系列的文件,它们是ArcGIS软件能够识别和处理的Shape…...
SpringAI 搭建智能体(二):搭建客服系统智能体
在现代人工智能应用中,智能体(Agent) 是一个重要的概念,它的核心能力是自主性与灵活性。一个智能体不仅能够理解用户的需求,还能拆解任务、调用工具完成具体操作,并在复杂场景中高效运行。在本篇博客中&…...
JAVA设计模式:依赖倒转原则(DIP)在Spring框架中的实践体现
文章目录 一、DIP原则深度解析1.1 核心定义1.2 现实比喻 二、Spring中的DIP实现机制2.1 传统实现 vs Spring实现对比 三、Spring中DIP的完整示例3.1 领域模型定义3.2 具体实现3.3 高层业务类3.4 配置类 四、Spring实现DIP的关键技术4.1 依赖注入方式对比4.2 自动装配注解 五、D…...
LeetCode题练习与总结:N 叉树的前序遍历--589
一、题目描述 给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。 n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1: 输入:root [1,null,3,2,4,nu…...
WebSocket 详解:全双工通信的实现与应用
目录 一、什么是 WebSocket?(简介) 二、为什么需要 WebSocket? 三、HTTP 与 WebSocket 的区别 WebSocket 的劣势 WebSocket 的常见应用场景 WebSocket 握手过程 WebSocket 事件处理和生命周期 一、什么是 WebSocket…...
【漫话机器学习系列】064.梯度下降小口诀(Gradient Descent rule of thume)
梯度下降小口诀 为了帮助记忆梯度下降的核心原理和关键注意事项,可以用以下简单口诀来总结: 1. 基本原理 损失递减,梯度为引:目标是让损失函数减少,依靠梯度指引方向。负梯度,反向最短:沿着负…...
Vue 3 中的 TypeScript:接口、自定义类型与泛型
在 Vue 3 中,TypeScript 提供了强大的类型系统,帮助我们更好地管理代码的类型安全。通过使用 接口(Interface)、自定义类型(Type Aliases) 和 泛型(Generics),我们可以编…...
[SaaS] 内容创意生产平台
1.即梦 2.讯飞绘镜 typemovie 3.Krea.ai 4.Pika 5.runway 6.pixVerse 7....
低代码系统-产品架构案例介绍、明道云(十一)
明道云HAP-超级应用平台(Hyper Application Platform),其实就是企业级应用平台,跟微搭类似。 通过自设计底层架构,兼容各种平台,使用低代码做到应用搭建、应用运维。 企业级应用平台最大的特点就是隐藏在冰山下的功能很深…...
2025年1月26日(超声波模块:上拉或下拉电阻)
添加上拉或下拉电阻是在电子电路设计和嵌入式系统编程中常用的一种技术手段,下面为你详细解释其含义、作用和应用场景。 基本概念 在数字电路里,引脚的电平状态通常有高电平(逻辑 1)和低电平(逻辑 0)两种…...
【自然语言处理(NLP)】深度循环神经网络(Deep Recurrent Neural Network,DRNN)原理和实现
文章目录 介绍深度循环神经网络(DRNN)原理和实现结构特点工作原理符号含义公式含义 应用领域优势与挑战DRNN 代码实现 个人主页:道友老李 欢迎加入社区:道友老李的学习社区 介绍 **自然语言处理(Natural Language Pr…...
C语言学习阶段性总结(五)---函数
函数构成五要素: 1、返回值类型 2、函数名 3、参数列表(输入) 4、函数体 (算法) 5、返回值 (输出) 返回值类型 函数名 (参数列表) { 函数体; return 返回值; } void 类型…...
C++初阶—string类
第一章:为什么要学习string类 1.1 C语言中的字符串 C语言中,字符串是以\0结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想&…...
Solon Cloud Gateway 开发:Route 的过滤器与定制
RouteFilterFactory 是专为路由过滤拦截处理设计的接口。对应路由配置 filters 1、内置的路由过滤器 过滤器工厂本置前缀说明与示例AddRequestHeaderFilterFactoryAddRequestHeader添加请求头 (AddRequestHeaderDemo-Ver,1.0)AddResponseHeaderFilterFactoryAddResponseHeade…...
【MySQL】 数据类型
欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】 数据类型 发布时间:2025.1.27 隶属专栏:MySQL 目录 数据类型分类数值类型tinyint类型数值越界测试结果说明 bit类型基本语法使用注意事项 小数类型float语法使用注意事项 decimal语…...
基于vue和elementui的简易课表
本文参考基于vue和elementui的课程表_vue实现类似课程表的周会议列表-CSDN博客,原程序在vue3.5.13版本下不能运行,修改两处: 1)slot-cope改为v-slot 2)return background-color:rgb(24 144 255 / 80%);color: #fff; …...
vim的多文件操作
[rootxxx ~]# vim aa.txt bb.txt cc.txt #多文件操作 next #下一个文件 prev #上一个文件 first #第一个文件 last #最后一个文件 快捷键: ctrlshift^ #当前和上个之间切换 说明:快捷键ctrlshift^,…...
spring spring-boot spring-cloud发布以及适配
https://spring.io/blog/2024/10/01/from-spring-framework-6-2-to-7-0 看了 spring 的官网,提到 2025 年 spring 会跟随 jdk 25 LTS发布后,接着发布 Spring Framework 7.0 GA,与之对应 spring 系列的组件版本情况如下。 Spring Framework版…...
【快速上手】阿里云百炼大模型
为了创建自己的知识库,本文介绍一下阿里云的百炼大模型,方便大家快速上手!快速查询自己想要的内容。 一、入口页 阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 二、大模型的选择 首先前提条件是 1、账号不能欠费 2、需…...
Linux:多线程[2] 线程控制
了解: Linux底层提供创建轻量级进程/进程的接口clone,通过选择是否共享资源创建。 vfork和fork都调用的clone进行实现,vfork和父进程共享地址空间-轻量级进程。 库函数pthread_create调用的也是底层的clone。 POSIX线程库 与线程有关的函数构…...
010 mybatis-PageHelper分页插件
文章目录 添加依赖配置PageHelper项目中使用PageHelper注意事项 PageHelper分页插件介绍 https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/en/HowToUse.md 使用方法 添加依赖 <dependency><groupId>com.github.pagehelper</groupId>&l…...
【huawei】云计算的备份和容灾
目录 1 备份和容灾 2 灾备的作用? ① 备份的作用 ② 容灾的作用 3 灾备的衡量指标 ① 数据恢复时间点(RPO,Recoyery Point Objective) ② 应用恢复时间(RTO,Recoyery Time Objective) 4…...
CVE-2023-38831 漏洞复现:win10 压缩包挂马攻击剖析
目录 前言 漏洞介绍 漏洞原理 产生条件 影响范围 防御措施 复现步骤 环境准备 具体操作 前言 在网络安全这片没有硝烟的战场上,新型漏洞如同隐匿的暗箭,时刻威胁着我们的数字生活。其中,CVE - 2023 - 38831 这个关联 Win10 压缩包挂…...
回顾:Maven的环境搭建
1、下载apache-maven-3.6.0 **网址:**http://maven.apache.org 然后解压到指定的文件夹(记住文件路径) 2、配置Maven环境 复制bin文件夹 的路径D:\JavaTool\apache-maven-3.6.0\bin 环境配置成功 3、检查是否配置成功 winR 输入cmd 命令行输入mvn -v…...
从零到全栈开发
HTML:超文本标记语言 CSS:层叠样式表 HTML可以理解为框架----(毛坯房) CSS 可以理解为装修----(装修) 学习工具: Vscode应用----扩展(中文) AI ----KiMi ,豆…...
单片机-STM32 WIFI模块--ESP8266 (十二)
1.WIFI模块--ESP8266 名字由来: Wi-Fi这个术语被人们普遍误以为是指无线保真(Wireless Fidelity),并且即便是Wi-Fi联盟本身也经常在新闻稿和文件中使用“Wireless Fidelity”这个词,Wi-Fi还出现在ITAA的一个论文中。…...
两种交换排序算法--冒泡,快速
目录 1.冒泡排序原理 2.快速排序原理 3.冒泡代码实现 4.快速排序代码实现 1.冒泡排序原理 冒泡排序(Bubble Sort)是一种简单的排序算法,基本思想是通过反复交换相邻的元素,直到整个序列有序。它的名字来源于较大的元素像气泡…...
langchain基础(一)
模型又可分为语言模型(擅长文本补全,输入和输出都是字符串)和聊天模型(擅长对话,输入时消息列表,输出是一个消息)两大类。 以调用openai的聊天模型为例,先安装langchain_openai库 1…...
【学术会议征稿】第五届能源、电力与先进热力系统学术会议(EPATS 2025)
能源、电力与先进热力系统设计是指结合物理理论、工程技术和计算机模拟,对能源转换、利用和传输过程进行设计的学科领域。它涵盖了从能源的生产到最终的利用整个流程,旨在提高能源利用效率,减少能源消耗和环境污染。 重要信息 官网…...
MyBatis框架基础学习及入门案例(2)
目录 一、数据库建表(tb_user)以及添加数据。 (1)数据库与数据表说明。 (2)字段与数据说明。 二、创建模块(或工程)、导入对应所需依赖坐标。 三、编写MyBatis核心主配置文件。(解决JDBC中"硬编码"问题) (1&…...
Salesforce Too Many Email Invocations: 11
在 Salesforce 中,“Too Many Email Invocations: 11” 错误通常表示您的组织在单个事务中超过了 Apex 电子邮件调用的限制。Salesforce 设置这些限制是为了防止滥用并确保公平使用。以下是解决该问题的方法: 理解限制 Salesforce 允许每个事务中最多进…...
2274. 不含特殊楼层的最大连续楼层数
2274. 不含特殊楼层的最大连续楼层数 题目链接:2274. 不含特殊楼层的最大连续楼层数 代码如下: class Solution { public:int maxConsecutive(int bottom, int top, vector<int>& special) {ranges::sort(special);int res max(special[0] …...
RGB 转HSV空间颜色寻找色块
文章目录 前言一、绿色确定二、红色确定总结 前言 提示:这里可以添加本文要记录的大概内容: 项目需要: 将RGB颜色空间转换为HSV颜色空间以寻找颜色,主要基于以下几个原因: 直观性: HSV颜色空间更符合人类…...
Kafka生产者ACK参数与同步复制
目录 生产者的ACK参数 ack等于0 ack等于1(默认) ack等于-1或all Kafka的同步复制 使用误区 生产者的ACK参数 Kafka的ack机制可以保证生产者发送的消息被broker接收成功。 Kafka producer有三种ack机制 ,分别是 0,1…...
计算机图形学试题整理(期末复习/闭or开卷/>100道试题/知识点)
1.各种坐标变换,会产生变换前后维度改变的是(投影变换)。 A)建模变换;B)观察变换;C)投影变换;D)视口变换 不同的坐标变换对维度的影响如下: 建模…...
Ubuntu 24.04 安装 NVIDIA Container Toolkit 全指南:让Docker拥抱GPU
Ubuntu 24.04 安装 NVIDIA Container Toolkit 全指南:让Docker拥抱GPU 前言一、环境准备1.1 验证驱动状态 二、安装NVIDIA Container Toolkit2.1 添加官方仓库2.2 执行安装 三、配置Docker运行时3.1 更新Docker配置 四、验证安装结果4.1 运行测试容器 五、实战应用 …...