计算机基础面试题 |18.精选计算机基础面试题

在这里插入图片描述

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6
🍨 阿珊和她的猫_CSDN个人主页
🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》
🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

    • 对域名缓存的了解?
    • 除了滑动窗口,还有哪些流量控制机制?
    • 在哪些场景下使用滑动窗口协议比较合适?
    • 在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么办?

对域名缓存的了解?

域名缓存(DNS Cache)是指将域名解析结果存储在本地设备上,以便在下次访问该域名时可以直接从缓存中获取解析结果,从而提高 DNS 解析速度和减少网络延迟。域名缓存通常由操作系统或网络设备提供,它能够大幅提高 DNS 解析速度,提高网络访问效率。

域名缓存的工作原理如下:

  1. 用户在浏览器中输入域名。
  2. 浏览器将域名发送给本地 DNS 服务器。
  3. 本地 DNS 服务器将域名解析为 IP 地址,并将结果存储在域名缓存中。
  4. 本地 DNS 服务器将 IP 地址返回给浏览器。
  5. 浏览器使用 IP 地址连接到服务器。

在这里插入图片描述

当用户再次访问该域名时,浏览器会首先检查域名缓存,如果该域名已经在缓存中,则直接从缓存中获取解析结果,而不需要再次向 DNS 服务器发送请求。这种做法能够大幅提高 DNS 解析速度,减少网络延迟,提高网络访问效率。

需要注意的是,域名缓存并不是绝对的,它只缓存最近的 DNS 解析结果。如果 DNS 解析结果发生了变化,则需要更新域名缓存。此外,域名缓存也有过期时间,过期后需要重新向 DNS 服务器发送请求以获取最新的解析结果。

除了滑动窗口,还有哪些流量控制机制?

除了滑动窗口,还有以下几种流量控制机制:

  1. 令牌桶模型:该模型将请求分配到固定数量的桶中,每个桶有一定的容量,当桶的容量达到上限时,请求被拒绝。当请求被处理完成后,桶的容量会逐渐恢复。这种机制能够限制请求的速率,但可能会导致突发请求被拒绝。
  2. 固定窗口:该机制将请求分配到固定大小的窗口中,窗口中的请求可以并发处理,但窗口的大小是固定的。当窗口已满时,新请求会被拒绝,直到之前的请求处理完成。这种机制能够限制请求的速率,但可能会导致请求排队等待处理。
  3. 动态窗口:该机制将窗口大小设置为固定值,但允许窗口根据网络状况动态调整。当网络状况良好时,窗口大小会增加;当网络状况不好时,窗口大小会减小。这种机制能够根据网络状况自动调整请求速率,但可能会导致请求波动。

滑动窗口是一种常见的流量控制机制,它能够根据网络状况动态调整窗口大小,从而实现平衡请求速率与网络带宽之间的平衡。

在哪些场景下使用滑动窗口协议比较合适?

滑动窗口协议(Sliding Window Protocol)适用于以下场景:

  1. 网络带宽受限:当网络带宽有限时,滑动窗口协议能够限制请求的速率,避免请求过多导致网络拥塞。
  2. 延迟敏感:当请求的延迟敏感时,滑动窗口协议能够平衡请求速率与延迟之间的关系,尽可能减少延迟。
  3. 带宽敏感:当请求的带宽敏感时,滑动窗口协议能够平衡请求速率与带宽之间的关系,尽可能减少带宽占用。
  4. 网络延迟变化:当网络延迟变化时,滑动窗口协议能够根据网络状况自动调整窗口大小,以保持请求速率不变。

在这里插入图片描述

滑动窗口协议适用于需要控制请求速率的场景,如 HTTP 请求、TCP 连接等。它能够确保网络带宽的稳定使用,提高网络性能,并减少网络拥塞和延迟。

在交互过程中如果数据传送完了,还不想断开连接怎么办,怎么办?

如果数据传送完了,但仍然不想断开连接,可以使用长连接(Long Connection)技术。长连接是指在完成一次数据传输后,连接保持打开状态,等待下一次数据传输。这种技术可以节省建立连接的开销,提高数据传输效率,但可能会导致网络拥塞和资源浪费。

常用的长连接技术包括:

  1. HTTP Keep-Alive:HTTP 协议允许客户端与服务器之间保持连接状态,以避免建立新的连接的开销。当客户端发送完请求后,可以保持连接状态,等待服务器的响应。
  2. TCP Keep-Alive:TCP 协议允许客户端与服务器之间保持连接状态,以避免建立新的连接的开销。当客户端发送完数据后,可以设置保活定时器,定期发送保活消息,以保持连接状态。

需要注意的是,虽然长连接可以提高数据传输效率,但可能会导致网络拥塞和资源浪费。因此,在使用长连接时,需要根据网络状况和资源状况进行合理控制,以保持网络稳定和资源高效使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/303517.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【代码复现系列】paper:CycleGAN and pix2pix in PyTorch

或许有冗余步骤、之后再优化。 1.桌面右键-git bash-输入命令如下【git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix】 2.打开anaconda的prompt,cd到pytorch-CycleGAN-and-pix2pix路径 3.在prompt里输入【conda env create -f environment.y…

基于SSM的校园二手交易管理系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

多项式回归

定义:使用多项式函数来拟合数据点,以预测因变量和自变量之间的关系。 基本形式如下: 理解: 在了解了线性回归模型之后,我们会意识到数据集上的点有时使用曲线拟合效果会更好。我们可以选择使用多项式曲线进行拟合。 …

Gromacs轨迹相关

1. 如何用VMD保存和查看gromacs的模拟轨迹 sob老师,请问一下,vmd载入两个文件后,是在TK中输入animate delete 什么命令可以删除第0帧么? 老师,在载入轨迹的时候出现out of memory,md.xtc文件过大导致vmd闪…

图解JVM (及一些垃圾回收\GC相关面试题 持续更新)

垃圾回收,顾名思义就是释放垃圾占用的空间,从而提升程序性能,防止内存泄露。当一个对象不再被需要时,该对象就需要被回收并释放空间。 Java 内存运行时数据区域包括程序计数器、虚拟机栈、本地方法栈、堆等区域。其中,…

Unity组件开发--相机跟随角色和旋转

1.相机跟随组件,节点: 2.相机跟随组件脚本: using System; using System.Collections; using System.Collections.Generic; using Unity.Burst.Intrinsics; using UnityEngine; using UnityEngine.UI;public class CameraFollow : Singleton&…

软件测试|深入理解SQL CROSS JOIN:交叉连接

简介 在SQL查询中,CROSS JOIN是一种用于从两个或多个表中获取所有可能组合的连接方式。它不依赖于任何关联条件,而是返回两个表中的每一行与另一个表中的每一行的所有组合。CROSS JOIN可以用于生成笛卡尔积,它在某些情况下非常有用&#xff…

服务器监控软件夜莺使用(二)

文章目录 一、采集器安装1. Categraf简介2. Categraf部署3. 测试服务器部署4. 系统监控插件5. 显卡监控插件6. 服务监控插件 二、监控仪表盘1. 机器列表2. 系统监控3. 服务监控 三、告警配置1. 邮件通知2. 告警规则3. 告警自愈 一、采集器安装 1. Categraf简介 Categraf 需要…

一种DevOpts的实现方式:基于gitlab的CICD(二)

写在之前 前文已经搭建了基于gitlab的cicd环境,现在我们来更近一步,结合官网给出的案例来详细介绍如何一步一步实现CI的过程。 基于gitlab搭建一个前端静态页面 环境依赖: gitlabgitlab runner(docker版本) 环境达吉…

【华为】IPsec VPN 实验配置(动态地址接入)

【华为】IPsec VPN 实验配置(动态地址接入) 注意实验需求配置思路配置命令拓扑R1基础配置配置第一阶段 IKE SA配置第二阶段 IPsec SA ISP_R2基础配置 R3基础配置配置第一阶段 IKE SA配置第二阶段 IPsec SA PCPC1PC2 检查建立成功查看命令清除IKE / IPsec…

VBA中类的解读及应用第八讲:实现定时器功能的自定义类事件

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程,目前已经是第一版修订了。这套教程定位于最高级,是学完初级,中级后的教程。 类,是非常抽象的,更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

Elasticsearch:Search tutorial - 使用 Python 进行搜索 (三)

这个是继上一篇文章 “Elasticsearch:Serarch tutorial - 使用 Python 进行搜索 (二)” 的续篇。在今天的文章中,本节将向你介绍一种不同的搜索方式,利用机器学习 (ML) 技术来解释含义和上下文。 向量搜索 嵌入 (embed…

图像融合论文阅读:CrossFuse: 一种基于交叉注意机制的红外与可见光图像融合方法

article{li2024crossfuse, title{CrossFuse: A novel cross attention mechanism based infrared and visible image fusion approach}, author{Li, Hui and Wu, Xiao-Jun}, journal{Information Fusion}, volume{103}, pages{102147}, year{2024}, publisher{Elsevier} } 论文…

Windows安装Rust环境(完整教程)

一、 安装mingw64(C语言环境) Rust默认使用的C语言依赖Visual Studio,但该工具占用空间大安装也较为麻烦,可以选用轻便的mingw64包。 1.1 安装地址 (1) 下载地址1-GitHub:Releases niXman/mingw-builds-binaries GitHub (2) 下载地址2-W…

函数战争(栈帧)之创建与销毁(c语言)(vs2022)

首先,什么是函数栈帧? C语言中,每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录,是编译器用来实现过程函数调用的一种数据结构。 以问答的方式解释编译器与解释器-CSDN博客htt…

C++ OpenGL 3D Game Tutorial 2: Making OpenGL 3D Engine学习笔记

视频地址https://www.youtube.com/watch?vPH5kH8h82L8&listPLv8DnRaQOs5-MR-zbP1QUdq5FL0FWqVzg&index3 一、main类 接上一篇内容&#xff0c;main.cpp的内容增加了一些代码&#xff0c;显得严谨一些&#xff1a; #include<OGL3D/Game/OGame.h> #include<i…

寒假前端第一次作业

1、用户注册&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户注册</title> …

C++学习笔记——string类和new函数

目录 string类 1.功能增强 1.1 子字符串提取 1.2 字符串拼接 1.3 大小写转换 1.4 字符串比较 2.性能优化 3.使用示例 下面是一个简单的使用示例&#xff0c;展示了如何使用改进后的String类&#xff1a; NEW函数 2.1NEW函数的基本用法 2.2NEW函数的注意事项 2.3避…

使用lwip的perf进行测速TCP不稳定的一些相关配置项

在使用lwIP的perf工具进行TCP性能测试时&#xff0c;TCP不稳定可能涉及以下配置问题&#xff1a; 缓冲区大小&#xff08;Buffer Size&#xff09;&#xff1a;lwIP中的TCP性能受到发送和接收缓冲区大小的影响。如果缓冲区过小&#xff0c;可能导致数据包丢失或延迟增加&#x…

《BackTrader量化交易图解》第8章:plot 绘制金融图

文章目录 8. plot 绘制金融图8.1 金融分析曲线8.2 多曲线金融指标8.3 Observers 观测子模块8.4 plot 绘图函数的常用参数8.5 买卖点符号和色彩风格8.6 vol 成交参数8.7 多图拼接模式8.8 绘制 HA 平均 K 线图 8. plot 绘制金融图 8.1 金融分析曲线 BackTrader内置的plot绘图函…