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

news2024/9/23 19:22:16

在这里插入图片描述

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

文章目录

    • URI和 URL之间的区别
    • 什么是粘包?
    • 对滑动窗口的了解?
    • 滑动窗口的具体实现方式是什么?

URI和 URL之间的区别

URI(Uniform Resource Identifier)和 URL(Uniform Resource Locator)是与资源位置和标识相关的概念,但它们之间有一些区别。

  • URI 是一个更广泛的概念,它包括了 URL 和 URN(Uniform Resource Name)。URI 用于唯一地标识互联网上的资源,可以是文件、文档、图像、音频、视频等。URI 的格式由一系列的组件组成,包括方案(scheme)、主机(host)、路径(path)、查询参数(query parameters)等。

  • URL 是 URI 的一种特定类型,它主要用于指定资源在互联网上的位置。URL 包括了方案、主机和路径等信息,以及可选的查询参数和片段标识符。URL 的主要目的是提供一种方式来访问和获取特定的资源,例如通过在浏览器中输入 URL 来访问网页。

换句话说,URI 是资源的标识符,而 URL 是一种具体的资源位置的表示方式。URI 可以包括 URL,但它还可以包括其他类型的资源标识符,如URN。

总结起来,URI 是一个更广泛的概念,用于唯一标识资源,而 URL 是一种特定类型的 URI,主要用于指定资源在互联网上的位置。

什么是粘包?

在网络编程中,“粘包”是指在数据传输过程中,多个数据包被合并成一个数据包进行传输的现象。

当发送方发送的数据较小,且发送速度较快时,接收方可能在一次接收操作中接收到多个数据包。由于网络传输的延迟、数据包的大小限制等因素,这些数据包可能会被合并成一个数据包进行传输。这种情况下,接收方需要进行拆包处理,将接收到的数据包还原成多个独立的数据包。

粘包可能会导致数据解析错误或数据丢失等问题。为了解决粘包问题,通常可以采用以下几种方法:

  1. 固定数据包大小:在发送数据包时,将每个数据包的大小固定为一个特定的值。接收方可以根据数据包的大小进行拆分和解析。

  2. 在数据包之间添加分隔符:在每个数据包的开头或结尾添加特定的分隔符。接收方可以根据分隔符来识别数据包的边界,从而进行拆分和解析。

  3. 使用协议约定:通过在协议中定义数据包的结构和格式,明确数据包之间的边界和分隔方式。接收方可以根据协议约定进行拆包和解析。

  4. 使用 TCP 协议:相比于 UDP 协议,TCP 协议在传输数据时会对数据包进行分段和重组,从而避免粘包问题。如果可能的话,可以考虑使用 TCP 协议进行数据传输。

在这里插入图片描述

不同的网络编程框架和协议通常会提供相应的方法来处理粘包问题。在实际开发中,需要根据具体情况选择适合的方法来解决粘包问题,以确保数据传输的准确性和可靠性。

对滑动窗口的了解?

滑动窗口是一种用于数据传输和流量控制的机制,在网络通信和数据处理中经常使用。

在滑动窗口协议中,发送方和接收方之间会维护一个窗口,该窗口表示在某个时刻可以发送或接收的数据量。这个窗口通常以字节为单位进行度量。

发送方通过将数据分成多个数据包进行发送,并根据窗口的大小限制发送的数据量。接收方在接收到数据包后,会将其确认(ACK)给发送方。发送方根据接收到的 ACK 信息来了解已经成功发送的数据,并且可以调整窗口的大小。

滑动窗口的主要优点包括:

  1. 流量控制:通过限制发送方发送的数据量,可以避免接收方缓冲区溢出,从而提高网络的稳定性和可靠性。

  2. 提高传输效率:发送方可以在没有收到 ACK 之前发送多个数据包,减少了等待时间,提高了数据传输的效率。

  3. 错误恢复:如果某个数据包丢失或损坏,接收方可以通过发送 NACK(否定确认)来要求发送方重新发送丢失或损坏的数据包。
    在这里插入图片描述

滑动窗口协议在 TCP(传输控制协议)中被广泛使用,用于确保可靠的数据传输和流量控制。其他协议也可能使用类似的机制来管理数据传输。

需要注意的是,滑动窗口的具体实现和细节可能因协议和应用的不同而有所差异。

滑动窗口的具体实现方式是什么?

滑动窗口的具体实现方式可能因应用场景的不同而有所差异。

下面是一个滑动窗口的实现方法:

  1. 定义窗口的左右边界leftright
  2. 在字符串上移动窗口,即将leftright同时加1。
  3. 在窗口内进行需要的操作。
  4. 重复步骤2和3,直到窗口移动到字符串的末尾。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

how2heap-2.23-11-poison_null_byte

什么是poison_null_byte 当然不止这一种&#xff0c;下面最简单的形式 #include <malloc.h> int main() {char * a malloc(0x200);char * b malloc(0x200);size_t real_size malloc_usable_size(a);a[real_size] 0;return 0; }影响&#xff1a; chunk a&#xff0…

【Hadoop】说下HDFS读文件和写文件的底层原理?

文件读取文件的写入 文件读取 客户端调用 FileSystem 对象的 open&#xff08;&#xff09;函数&#xff0c;打开想要读取的文件。其中FileSystem 是 DistributeFileSystem 的一个实例&#xff1b;DistributedFileSystem 通过使用 RPC&#xff08;远程过程调用&#xff09; 访N…

Large Language Models Paper 分享

论文1&#xff1a; ChatGPTs One-year Anniversary: Are Open-Source Large Language Models Catching up? 简介 2022年11月&#xff0c;OpenAI发布了ChatGPT&#xff0c;这一事件在AI社区甚至全世界引起了轰动。首次&#xff0c;一个基于应用的AI聊天机器人能够提供有帮助、…

vue3组件传参

1、props: 2、自定义事件子传父 3、mitt任意组件通讯 4、v-model通讯(v-model绑定在组件上) (1)V2中父子组件的v-model通信&#xff0c;限制了popos接收的属性名必须为value和emit触发的事件名必须为input,所以有时会有冲突; 父组件: 子组件: (2)V3中:限制了popos接收的属性名…

读元宇宙改变一切笔记02_元素(上)

1. 很多组织和机构都想在元宇宙的定义上掌握话语权&#xff0c;使得它的定义中存在矛盾之处&#xff0c;也有大量含义混淆之处 1.1. 微软 1.1.1. 在谈论“多个元宇宙” 1.1.2. 微软首席执行官萨提亚纳德拉将元宇宙描述为一种可以将“整个…

Dockerfile的ENV

文章目录 环境总结测试测试1测试2测试3测试4测试5测试6 参考 环境 RHEL 9.3Docker Community 24.0.7 总结 如果懒得看测试的详细信息&#xff0c;可以直接看结果&#xff1a; 一条 ENV 指令可以定义多个环境变量。Dockerfile里可以包含多条 ENV 指令。环境变量的值不需要用…

(低级错误)IDEA/Goland报错连接数据库失败:URL错误和权限问题。

前言 做毕设ing&#xff0c;使用Goland自带的数据库工具连接服务器的数据库。报错 错误: Malformed database URL, failed to parse the main URL sections. (view)服务器是华为云&#xff0c;使用宝塔面板。数据库版本5.6.50。 排查过程 鉴于Goland报错报的狗屁不是&#…

H266/VVC率失真优化与速率控制概述

率失真优化技术 率失真优化&#xff1a; 视频编码的主要目的是在保证一定视频质量的条件下尽量降低视频的编码比特率&#xff0c;或者在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下&#xff0c;为了应对不同的视频内容&#xff0c;往往有多种候选的编码方…

YOLOv5改进 | 损失函数篇 | EIoU、SIoU、WIoU、DIoU、FocusIoU等二十余种损失函数

一、本文介绍 这篇文章介绍了YOLOv5的重大改进,特别是在损失函数方面的创新。它不仅包括了多种IoU损失函数的改进和变体,如SIoU、WIoU、GIoU、DIoU、EIOU、CIoU,还融合了“Focus”思想,创造了一系列新的损失函数。这些组合形式的损失函数超过了二十余种,每种都针对特定的…

万界星空科技商业开源MES主要功能介绍

一、系统概述&#xff1a; MES制造执行系统&#xff0c;其定位于制造执行系统的Java开源版本。系统包括系统管理&#xff0c;车间基础数据建模&#xff0c;计划管理&#xff0c;物料控制&#xff0c;生产执行&#xff0c;质量管理&#xff0c;库存管理&#xff0c;看板管理&am…

System学习笔记 - MacOs编译环境配置(一)

前言 好几年没有记录过东西&#xff0c;一是确实很忙&#xff0c;二是人也变懒了。新年开个新的学习计划&#xff0c;希望能坚持下去。 SystemC 简介 SystemC是一个建模语言&#xff0c;其本质是一个C的库&#xff0c;一般用于SoC建模&#xff0c;具体介绍不赘述&#xff0…

GPDB - 高可用 - 流复制状态

GPDB - 高可用 - 流复制状态 GPDB的高可用基于流复制&#xff0c;通过FTS进行自动故障切换。自动故障切换需要根据primary-mirror流复制的各种状态进行判断。本节就聊聊primary-mirror流复制的各种状态。同样适用于PgSQL 1、WalSndState typedef enum WalSndState {WALSNDSTATE…

为什么 Kafka 这么快?它是如何工作的?

随着数据以指数级的速度流入企业&#xff0c;强大且高性能的消息传递系统至关重要。Apache Kafka 因其速度和可扩展性而成为热门选择&#xff0c;但究竟是什么让它如此之快&#xff1f; 在本期中&#xff0c;我们将探讨&#xff1a; Kafka 的架构及其核心组件&#xff0c;如生…

如何编写高效的正则表达式?

正则表达式&#xff08;Regular Expression&#xff0c;简称regex&#xff09;是一种强大的文本处理技术&#xff0c;广泛应用于各种编程语言和工具中。本文将从多个方面介绍正则表达式的原理、应用和实践&#xff0c;帮助你掌握这一关键技术。 正则可视化 | 一个覆盖广泛主题…

嵌入式(六)模数转换ADC | ADC 工作模式 寄存器 轮询和中断方式

文章目录 1 CC2530的ADC模块2 ADC工作模式3 ADC相关寄存器3.1数据寄存器3.2 控制寄存器 4 ADC初始化配置5 ADC使用方式5.1 轮询方式5.2 中断方式 模拟/数字转换 (Analog to Digital Converter&#xff0c;简称ADC) 是将输入的模拟信号转换为数字信号。 各种被测控的物理量&…

基于SSM的企业员工管理系统

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

PIG框架学习2——资源服务器的配置详解

一、前言 1、pig资源服务器的配置 Spring Security oauth2相关的依赖是在pigx-common-security模块中引入的&#xff0c;其他模块需要进行token鉴权的&#xff0c;需要在微服务中引入pigx-common-security模块的依赖&#xff0c;从而间接引入相关的Spring security oauth2依赖…

YOLOv5改进 | 损失函数篇 | MPDIoU、InnerMPDIoU助力细节涨点

一、本文介绍 本文为读者详细介绍了YOLOv5模型的最新改进,带来的改进机制是最新的损失函数MPDIoU和融合了最新的Inner思想的InnerMPDIoU。提升检测精度和处理细节方面的作用。通过深入探讨MPDIoU和InnerMPDIoU(全网首发)的工作原理和实际代码实现,本文旨在指导读者如何将这些…

[文件I/O操作] 文件的介绍

目录 1.认识文件 2.树型组织结构和目录 3.文件路径 4.文件类型 5.用Java代码操作文件 5.1 File概述 5.2代码实例 5.2.1观察get系列代码的差异 ​编辑 5.3.2普通文件的创建、删除 ​编辑 5.3.3普通文件的删除 ​编辑 5.3.4观察目录的创建 ​编辑 5.3.5 观察文件重…

【SpringBoot】事务管理

1. 事务管理的概念 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位。事务会把所有的操作作为一个整体&#xff0c;一起向数据库提交或者是撤销操作请求。所以这组操作要么同时成功&#xff0c;要么同时失败。 事务的操作主要有三步&#xff1a; 开启事务&…