腾讯后端一面:当 TCP 建立连接之后,TCP 和 UDP 的实时性是不是就差不多了?

news2024/11/17 12:36:39

在这里插入图片描述

更多大厂面试内容可见 -> http://11come.cn

腾讯后端一面:当 TCP 建立连接之后,TCP 和 UDP 的实时性是不是就差不多了?

项目相关

面试官可能是 Go 方向的,我面试的是 Java 方向的,所以面试官也没有问我简历上的项目,主要问了实验室中做的项目,哪个项目比较有技术挑战?

面试主要问了计算级网络相关,以及如果让你来实现一个分布式锁,你该如何来实现,这一点说的时间比较久,有二十分钟左右

TCP 和 UDP

1、TCP 和 UDP 的区别?

TCP: TCP 时面向连接的协议,在传输数据之前,需要双方建立可靠的连接,即通过三次握手建立 TCP 连接

UDP: UDP 是非连接的协议,即发送端和接收端之间不建立连接,他只负责将数据包发送出去,不保证数据包的到达,因此数据包可能存在丢失、乱序、重复,也没有错误或者纠正机制

2、两者的使用场景

TCP 适用于对可靠性要求比较高的应用,比如网页浏览、远程调用、文件传输等

UDP 适用于对实时性要求较高的应用,比如视频、直播等场景,偶尔丢失数据相对于连接建立和恢复带来的延迟更加可以接收

3、两者的实时性谁更好一些?

UDP 的实时性更好一些,UDP 主要从以下几个方面来保证了较好实时性:

  • 无连接: UDP 传输数据不需要建立连接,因此速度是比较快的
  • 低延迟: UDP 发送数据时,不需要等待确认、恢复重传,因此大大降低了传输过程中的延迟
  • 简单的协议头: UDP 的协议头只有 8 字节,TCP 的协议头至少 20 字节,因此 UDP 传输时的开销也比较小

4、如果 TCP 建立连接之后,TCP 和 UDP 的实时性谁会更好一些呢?

上边已经说了 UDP 保证实时性的几个方面,可以看到并不只是因为建立连接才会导致 TCP 的实时性较差

还有其他因素,因为 TCP 是保证 数据可靠、有序 ,因此 TCP 发送数据之后需要等待接收方确认,并且有重传机制,来保证数据到达接收方,这些都会导致在传输过程中的延时较高

TCP 还有 流量控制拥塞控制 ,因此会根据网络拥堵情况调整数据包发送速率,在保证了数据包可靠性的同时,也带来了一定的传输延时

因此,TCP 建立连接之后,UDP 的实时性还是比 TCP 好得多,因为实时性好并不只是因为 UDP 是无连接的

红黑树

5、红黑树的特性了解吗?

红黑树是自平衡的二叉搜索树,红黑树包括以下 5 个特性:

1、每个节点要么是黑色要么是红色

2、根节点始终都是黑色

3、叶子节点不包含任何数据,并且都设置为黑色

4、如果一个节点是红色,则它的子节点必须是黑色

这条性质确保了从根到叶子的路径上不会出现两个连续的红色节点,有助于避免树的局部区域出现过高的密度,这是通过颜色的变化来轻微调整树的平衡。

5、从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点

红黑树最关键的性质,确保了树的平衡。无论从哪个节点到其叶子节点的路径,经过的黑色节点数量必须相同。这确保了最长的可能路径(红色和黑色交替出现)最多是最短可能路径(全黑色)的两倍长,保证了查询性能的稳定

6、红黑树如何保证比较好的查询性能?

红黑树是通过维持树的平衡来保证比较好的查询性能,平衡的二叉搜索树的数据结构可以让查询、插入、删除的时间复杂度达到 O(logn)

当新插入元素,红黑树会通过 旋转重新染色 来调整树的结构,满足上述的特性,保证了红黑树的平衡,使得查询性能较为稳定,在 Java 的 HashMap 中就使用到了红黑树来优化数据的查询性能

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

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

相关文章

信号继电器HBDXH-200/1辅助电源110VDC 启动电压110VDC JOSEF约瑟

用途 适用于直流操作的继电保护和自动控制线路中,作为信号指示用,有多组动合保持触点。满足现场指示和遥信要求。 技术参数 启动信号额定值:直流电流型:10mA~4A. 直流电压型:220VDC、110VDC、48VDC、24VDC 辅助电源电压:220VDC、110VDC、220VAC、110…

华为ensp中MSTP多网段传输协议(原理及配置命令)

作者主页:点击! ENSP专栏:点击! 创作时间:2024年4月22日15点29分 在华为ENSP中,MSTP(多段传输协议)是重要的生成树协议,它扩展了STP(生成树协议&#xff09…

舒适护眼模式:苹果手机字体大小怎么设置?

在现代社会,人们对于手机的使用已经不再局限于通讯和娱乐,也逐渐成为了我们生活和工作中不可或缺的一部分。然而,长时间使用手机可能会对我们的视力造成一定程度的影响。 为了更好地保护视力健康,苹果手机提供了舒适护眼的模式&a…

vue3项目使用<img :src=““ />动态加载图片

分享一下使用<img :src"" />动态加载图片时遇到的问题以及解决方法。 下面是部分页面代码&#xff0c;这里我使用了<img :src"itemc.headUrl" />来动态加载图片 这时遇到了问题&#xff0c;因为这里的itemc.headUrl是图片的相对路径&#xff…

戴尔电脑怎么关闭开机密码?

1.同时按键盘上是“window键”&#xff08;一般是键盘最下面一排第二个&#xff09;和“R键“&#xff0c;并在弹出的窗口输入“netplwiz”然后确定。 2.然后会弹出的“用户账户”窗口&#xff0c;接下来取消勾选“要使用本计算机&#xff0c;用户必须输入用户名和密码” 3.上面…

RK3568 学习笔记 : 更改 u-boot spl 中的 emmc 的启动次序

环境 开发板&#xff1a; 【正点原子】 的 RK3568 开发板 ATK-DLRK3568 u-boot 版本&#xff1a;来自 【正点原子】 的 RK3568 开发板 Linux SDK&#xff0c;单独复制出来一份&#xff0c;手动编译 编译环境&#xff1a;VMware 虚拟机 ubuntu 20.04 问题描述 RK3568 默认 …

Automated CNN approach

图1有点简单 作者未提供代码

Linux 内核设备树 ranges属性

今天有人问了我一下ranges属性&#xff0c;找了相关资料确认后&#xff0c;记录一下&#xff1a; 参考资料链接&#xff1a;让你完全理解linux内核设备树ranges属性地址转换 - vkang - 博客园 (cnblogs.com) ranges属性定义如下&#xff1a; ranges < local_address pa…

学习笔记:Vue3(图片明天处理)

文章目录 1.概述1.1定义1.2特性1.3组合式API 2.基本用例-项目搭建3.项目目录介绍3.1概述3.2查看文件 4.组合式API4.1概述4.2新的API风格4.2.1概述4.2.2写法4.2.3基本用例-Setup选项使用4.2.4基本用例-语法糖写法&#xff08;重点&#xff09;4.2.5执行时机4.2.6代码特点 4.3响应…

nodejs在控制台打印艺术字

const figlet require("figlet");figlet("SUCCESS", function (err, data) {if (err) {console.log("Something went wrong...");console.dir(err);return;}console.log(data);}); 参考链接&#xff1a; https://www.npmjs.com/package/figlet…

制造数字化“管理套路”

在当今竞争激烈的市场环境中&#xff0c;制造企业始终关心三个核心问题&#xff1a;生产效率、产品质量、成本控制&#xff0c;所以许多企业渴望加强对生产过程的管理控制。 生产过程是一个相对复杂的过程&#xff0c;涉及到多个环节和因素。从原材料的采购到产品的设计、生产…

【机器学习】各大模型原理简介

目录 ⛳️推荐 前言 一、神经网络&#xff08;联结主义&#xff09;类的模型 二、符号主义类的模型 三、决策树类的模型 四、概率类的模型 五、近邻类的模型 六、集成学习类的模型 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风…

一举颠覆Transformer!最新Mamba结合方案刷新多个SOTA,单张GPU即可处理140k

还记得前段时间爆火的Jamba吗&#xff1f; Jamba是世界上第一个生产级的Mamba大模型&#xff0c;它将基于结构化状态空间模型 (SSM) 的 Mamba 模型与 transformer 架构相结合&#xff0c;取两种架构之长&#xff0c;达到模型质量和效率兼得的效果。 在吞吐量和效率等关键衡量指…

去除图像周围的0像素,调整大小

在做分割任务时&#xff0c;经常需要处理图像&#xff0c;如果图像周围有一圈0像素&#xff0c;需要去除掉&#xff0c;重新调整大小 数组的处理 如果图像的最外一圈为0&#xff0c;我们将图像最外圈的图像0去除掉。 import numpy as npdef remove_outer_zeros(arr):# 获取数…

vue3【详解】选项式 API 实现逻辑复用

抽离逻辑代码到一个函数函数命名约定为 useXxxx格式 ( React Hooks 也是 )在 setup 中引用 useXxx 函数 演示代码&#xff1a;实时获取鼠标的坐标 逻辑封装 useMousePosition.js // 导入 ref, onMounted, onUnmounted import { ref, onMounted, onUnmounted } from "vue…

【Python-Pygame】

Python-Pygame ■ Pygame-简介■ Pygame-安装■ Pygame-Rect区域位置■ Pygame-Draw绘图函数■ Pygame-■ Pygame-■ Pygame-■ Pygame-事件监听■ Pygame-Event事件模块■ Pygame-游戏循环■ Pygame-Display显示模块■ Pygame-Time时间控制■ Pygame-Font文本和字体■ Pygame-…

软考 - 系统架构设计师 - ESB(企业服务总线)例题

问题 1&#xff1a; 根据描述 Ramp Control 是负责系统中相关各种业务活动的组件&#xff0c;根据题目描述&#xff0c;系统中包含检查机位环境&#xff0c;卸货&#xff0c;装货等业务活动&#xff0c;所以 Ramp Control 服务组件提供的服务名称就是 “负责检查机位环境&#…

OLAP多维语义模型

概述 为了严谨起见&#xff0c;在正式内容之前&#xff0c;先把OLAP多维语义模型是什么说明一下。 先说OLAP&#xff08;Online Analytical Processing&#xff09;&#xff0c;它是和OLTP相对的概念&#xff0c;关于这两个概念的详细解释网上有很多。严格的来说OLAP与多维数…

Java Email API有哪些常用功能?如何使用?

Java Email API支持哪些邮件协议&#xff1f;常用的邮件API推荐&#xff1f; Java Email API作为Java开发领域中处理电子邮件的重要工具&#xff0c;为我们提供了丰富的功能来发送、接收和管理电子邮件。下面&#xff0c;AokSend就来详细探讨一下Java Email API的常用功能。 …

Webpack-

定义 静态模块&#xff1a;指的是编写代码过程中的html&#xff0c;css&#xff0c;js&#xff0c;图片等固定内容的文件 打包&#xff1a;把静态模块内容压缩、整合、翻译等&#xff08;前端工程化&#xff09; 1&#xff09;把less/sass转成css代码 2&#xff09;把ES6降级…