测试开发面经分享,面试七天速成 DAY2

在这里插入图片描述

1. TCP和UDP的区别

a. TCP是面向连接的协议,而UDP是无连接的协议。
b. TCP提供可靠的数据传输,保证数据的有序性和完整性,而UDP则不提供这些保证。
c. TCP使用流控制和拥塞控制机制,以确保数据的可靠传输,而UDP没有这些机制。
d. TCP较慢但稳定,适用于需要可靠传输的应用,如文件传输和网页浏览。而UDP较快但不稳定,适用于实时性要求较高的应用,如音视频传输和在线游戏。

2. TCP三次握手和四次挥手过程

  • 三次握手过程:
    a. 客户端发送一个SYN(同步)报文给服务器,请求建立连接。
    b. 服务器收到SYN报文后,回复一个SYN+ACK(同步+确认)报文给客户端,表示同意建立连接。
    c. 客户端收到SYN+ACK报文后,回复一个ACK(确认)报文给服务器,表示连接建立成功。
  • 四次挥手过程:
    a. 客户端发送一个FIN(结束)报文给服务器,请求关闭连接。
    b. 服务器收到FIN报文后,回复一个ACK报文给客户端,表示收到关闭请求。
    c. 服务器完成自己的数据传输后,发送一个FIN报文给客户端,请求关闭连接。
    d. 客户端收到FIN报文后,回复一个ACK报文给服务器,表示同意关闭连接。此时,连接关闭。

3. B树和B+树的区别

  • B树是一种平衡多路查找树,每个节点可以存储多个键和指针。B树的特点是所有叶子节点都在同一层级上,且节点的键值按升序排列。
  • B+树也是一种平衡多路查找树,与B树不同的是,B+树的非叶子节点只存储键,而不存储数据,所有数据都存储在叶子节点上。叶子节点使用链表连接,方便范围查询和顺序访问。
  • B树的非叶子节点存储键和指针,而B+树的非叶子节点只存储键,减少了非叶子节点的大小。
  • B树的叶子节点存储键和数据,而B+树的叶子节点只存储键和数据的指针,减少了磁盘I/O操作。
  • B树的范围查询需要在内部节点和叶子节点上进行,而B+树的范围查询只需要在叶子节点上进行。
  • B+树的叶子节点使用链表连接,方便范围查询和顺序访问。

4. 链表和数组的区别

a. 存储方式:

  • 数组是一种连续存储结构,它将元素在内存中按顺序依次存储,可以通过索引来访问元素。
  • 链表是一种离散存储结构,它使用节点来存储元素,每个节点包含数据和指向下一个节点的指针。

b. 动态性:

  • 数组的大小一旦确定,通常是固定的,无法动态地改变数组的长度。
  • 链表的长度可以动态地增加或减少,通过添加或删除节点来实现。

c. 插入和删除操作的效率:

  • 数组在插入和删除元素时,需要移动其他元素以保持连续存储的特性,可能需要进行大量的元素移动,时间复杂度为O(n)。
  • 链表在插入和删除元素时,只需要调整节点的指针,不需要移动其他元素,时间复杂度为O(1)。

d. 随机访问的效率:

  • 数组通过索引可以直接访问元素,时间复杂度为O(1)。
  • 链表需要从头节点开始遍历到目标位置才能访问元素,时间复杂度为O(n)。

e. 内存空间的使用:

  • 数组在创建时就需要分配一定的连续内存空间,无论实际使用的元素个数是多少,都会占用固定大小的内存。
  • 链表的内存空间是动态分配的,每个节点可以在需要时分配,可以更灵活地利用内存空间。

5. python、C语言、C++的区别

a. 语法和易用性:

  • Python的语法简洁、清晰,易于学习和理解。它使用缩进来表示代码块,没有大括号等特殊字符。
  • C语言和C++的语法较为复杂,需要注意语法规则和特殊字符的使用。C++是C语言的扩展,除了C语言的语法外,还引入了面向对象编程的特性。

b. 类型系统:

  • Python是一种动态类型语言,变量的类型可以在运行时自动推断,不需要显式声明。
  • C语言和C++是静态类型语言,变量的类型需要在编译时显式声明,类型检查在编译时进行。

c. 内存管理:

  • Python使用自动内存管理机制(垃圾回收),开发者不需要手动管理内存。Python的垃圾回收机制自动处理内存分配和释放。
  • C语言和C++需要手动管理内存,开发者需要显式地分配和释放内存,以避免内存泄漏和悬空指针等问题。

d. 应用场景:

  • Python适用于快速开发、脚本编写、数据分析和人工智能等领域。它具有丰富的第三方库和框架支持,提供了大量的工具和资源。
  • C语言和C++适用于系统级编程、嵌入式开发、游戏开发和性能要求较高的应用。它们具有更接近底层的控制能力,可以直接操作内存和硬件。

互联网大厂测开经历,目前担任测试开发负责人,每天分享互联网面经,如果你有测试相关的问题,欢迎咨询,海鲜市场【简历优化】、【就业指导】、【模拟/辅导面试】,已辅导20位以上同学拿到心仪offer

简历修改119/次
模拟面试159/小时
测试开发工具指导159/小时

海鲜市场

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

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

相关文章

HCIE-QOS基本原理

QOS基本原理 QOS概述什么是QOSQoS服务模型区分服务模型QoS常用技术 (DiffServ模型)QoS数据处理流程 (DiffServ模型) QoS流分类和流标记QoS数据处理流程为什么需要流分类和流标记 简单流分类外部优先级 - VLAN报文外部优先级 - MPLS报文外部优先级 - IP报文各外部优先级间的对应…

Kafka集成flume

1.flume作为生产者集成Kafka kafka作为flume的sink,扮演消费者角色 1.1 flume配置文件 vim $kafka/jobs/flume-kafka.conf # agent a1.sources r1 a1.sinks k1 a1.channels c1 c2# Describe/configure the source a1.sources.r1.type TAILDIR #记录最后监控文件…

计算机视觉基础课程知识点总结

图像滤波 相关: 核与图像同向应用,不翻转。 卷积: 核在应用前翻转,广泛用于信号处理和深度学习(现在常说的二维卷积就是相关)。 内积: 向量化的点积操作,是相关和卷积的一部分。 模板匹配:通过在图像中…

Go变量作用域精讲及代码实战

1. 变量的作用域概述 在编程中,变量的作用域(Scope)定义了变量在程序中的可见性和生命周期。理解变量的作用域对于编写健壮且可维护的代码至关重要。Go语言(简称Go)提供了几种不同的作用域类型,使得开发者可…

13600KF+3060Ti,虚拟机安装macOS 14,2024年6月

距离上次装macOS虚拟机已经有一段时间了,macOS系统现在大版本升级的速度也是越来越快了,由于Office只支持最新三个版本的macOS,所以现在保底也得安装macOS 12了,我这次是用macOS 14做实验,13和12的安装方式和macOS 14一…

Word同行内的文字如何左右分别对齐

先打开标尺(视图-标尺) 开右边,选一个制表位置,比如我选34 切回开始,点段落段落右下角 然后 然后 我修改为35(因为“6月13日”总共3个字符) 在文字中间按下Tab键,效果如下

视频生成模型 Dream Machine 开放试用;微软将停止 Copilot GPTs丨 RTE 开发者日报 Vol.224

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

《C++程序设计》银行管理系统

莫思身外无穷事 且尽生前有限杯 我们先来看一下项目需求: 【场景】 在日常生活中,我们普遍接触到窗口服务系统,如到银行柜台办理业务、景区现场购买门票等。当需要办理业务的顾客数超过窗口数量时,我们需遵循排队等待原则。 【需…

微服务 | Springboot整合Dubbo+Nacos实现RPC调用

官网:Apache Dubbo 随着互联网技术的飞速发展,越来越多的企业和开发者开始关注微服务架构。微服务架构可以将一个大型的应用拆分成多个独立、可扩展、可维护的小型服务,每个服务负责实现应用的一部分功能。这种架构方式可以提高开发效率&…

怎么用住宅代理IP?使用住宅代理IP有哪些好处?

如何使用住宅代理IP: 使用住宅代理IP主要涉及以下几个步骤: 选择合适的代理IP供应商: 考虑供应商的可靠性、代理IP的质量、速度、稳定性以及价格。选择信誉良好且服务稳定的供应商,确保获得高质量的代理IP服务。配置代理IP&#…

2024年中漫谈

不知不觉,2024年已来到了6月,博主不禁感叹时光易逝,岁月的车轮滚滚向前,永不止步,此刻无关贫穷与富裕,伟大与平凡。 于是乎,宇宙(时空)看似毫无终点,一望无垠…

辽宁普通测径仪升级智能测径仪后都有哪些改进?

关键字: 普通测径仪, 智能测径仪, 测径仪升级, 测径仪特点, 智能测径仪优势, 目前多数厂家测径仪的数据处理方式是单片机计算出最终结果,然后传输到工控机后期处理。这样的电路系统对轧钢现场的高温、高粉尘和强电磁干扰的环境适应性很差,使得同一厂家、…

芯片后端对于芯片设计公司的重要性

在芯片设计流程中,后端设计是一个至关重要的环节,它直接关系到芯片从设计到实际生产的转化,以及最终产品的性能、可靠性、成本和上市时间。 以下是为什么芯片后端非常重要的几个关键原因: 物理实现:后端设计是芯片从逻…

【APP移动端自动化测试】第二节.Appium介绍和常用命令代码实现

文章目录 前言一、Appium介绍和安装二、python代码功能实现 2.1 hello appium 参数详解 2.2 在脚本内启动其他app 2.3 获取app的包名和界面名 2.4 关闭app和驱动对象 2.5 安装和卸载以及是否安装app 2.6 将应用置于后台总结 前言 一、Appium介绍…

Vertical Layout 、Horizontal Layout 实验窗体自适应布局

实验目的 学习实验使用布局实现如下自适应界面 窗体邮件,布局设置为垂直布局 用同样的方法,添加groupbox,并右键设置为水平布局 拖入一个Horizontal Layout,然后拖入button,拖入 Horizontal Spacer 遇到一个问题&#…

openh264 帧内预测编码过程源码分析

函数关系 说明: 可以看到完成帧内预测编码的核心函数就是 WelsMdI16x16、WelsMdI4x4、WelsMdI4x4Fast 、WelsMdIntraChroma 四个函数。 原理 WelsMdI16x16函数 功能:针对16x16像素块的帧内模式决策过程: 局部变量申明;根据宏块…

三星公布尖端芯片进展 | 百能云芯

三星电子在本周三举办的年度晶圆制造盛会上,揭开了未来多项技术革新的神秘面纱,并宣布其晶圆制造业务将整合全球领先的记忆芯片、晶圆制造及封装服务,为AI芯片客户提供一站式服务,以加速其生产进程。 三星强调,客户仅需…

万元补贴助力开源项目!「GitCode 开源摘星计划」已开启

当我们谈到开源项目运作的痛点,都在谈什么?找不到对项目感兴趣的开发者,始终是几个人维护…代码托管平台上开源项目众多,得不到有力的流量支持,项目被淹没在茫茫列表里…社区运营要专人来做,成本太高… 这…

【StructueEngineering】Wind Load Combination Patterns风荷载组合模式

文章目录 Combination PatternsBasic Rules of Combinations组合的基本规律Specific Combination Patterns1. First 8 Combinations (1 to 8)2. Middle 8 Combinations (9 to 16)3. Last 8 Combinations (17 to 24) Summary of CombinationsKey Variables and Parameters with …

vue/react/js 常用的原生获取当前页面的url网址的相关方法

目录 第一章 场景 第二章 总结 第一章 场景 最近实现需求时遇到这么一种情况: 本地url —— 线上url —— 需求:需要将token清除掉 注意事项:token不是#/后面的参数,说明并不是我们前端返回的,vue路由的方法使用不…