数码准备记录

1.数据结构

常见的数据结构包括数组、链表、栈、队列、树(如二叉树、B树、B+树)、图等

2.队列和栈的区别

队列是一种先入先出的数据结构,即最先加入的元素被最先移除;

栈是一种后进后出的数据结构,即最后加入的元素被最先移除;

3.常见的排序算法

冒泡、选择、快速、归并、堆排序

4.快速排序和堆排序的区别

快速排序通常比堆排序更快,因为它具有更好的平均性能O(nlogn),但是它不是稳定的;

堆排序也是O(nlogn),但它主要用于保持堆的性质,并不是稳定的排序算法;

5.

String.equals()判断字符相等

6.==和equals区别

==比较的是基本类型的值或者引用类型是否指向同一个对象;

equals方法比较的是两个对象内容是否相等;

7.MySQL索引有哪些?

B+树索引、哈希索引、全文索引、

9.树的类型

二叉树、B树、B+树、红黑树等

B+树非常适合磁盘存储系统中的范围查询,因为所有数据都存储在叶子节点上;

红黑树是一种自平衡的二叉查找树,适合内存中的数据存储;

AVL平衡二叉树,对高度要求严格,左右子树高度差不能超过1;

对于插入可能复杂度高

10.两种网络模型

OSI七层模型和TCP/IP四层模型

11.应用层和表示层区别

应用层是OSI模型最顶层,为应用程序提供服务;

表示层对数据做转换、加密解密,确保发送的数据被接收端正确解释;

12.垃圾回收机制

垃圾回收机制是一种自动内存管理机制,用于自动回收不再使用的对象所占用的内存

13.高并发情况,怎么解决

高并发场景采用多种解决方案,例如使用缓存减少数据库的访问次数,利用负载均衡器分散到不同的服务器,使用消息队列来异步处理

14.redis基本数据结构

字符串、列表、集合、哈希、有序数组集合

15.List和Set区别

List是有序的集合,可以包含重复元素;

Set是无序的集合,不能包含重复元素;

基础理论

产品经理提出需求,开发测试产品对需求评审,在开发人员开发同时,测试会进行测试用例编写,编写完成后,开发产品测试评审。开发完成后,测试根据测试用例进行测试,发现问题给开发修改,解决完之后进行回归测试。运维预发布。回归测试。没有问题就发布到生产环境,然后上线

2.软件测试周期

制定测试计划-测试设计与研发-执行测试-编写测试报告-版本发布-测试总结

3.bug单

1.所属产品
2.所属项目
3.所属模块
4.影响版本
5.bug 的类型
6.bug 的标题
7.bug 的严重程度
8.bug 的优先级
9.重现缺陷的三个方面:操作步骤,预期结果,实际结果10.bug的重现上次相应的文件例出现 bug 时的截图

5. 黑盒测试常用的测试方法

黑盒测试主要关注软件的输入和输出,不考虑内部代码结构,常用的测试方法包括:

  • 等价类划分:将输入数据划分为不同的等价类,在每个等价类中选取一个代表值进行测试。
  • 边界值分析:测试输入变量的边界情况(如最大值、最小值、临界点)。
  • 因果图:通过因果关系分析输入条件之间的关系,生成测试用例。
  • 决策表测试:根据输入条件的不同组合,构建决策表,保证条件覆盖。
  • 场景测试:模拟实际用户的操作场景,验证功能的综合表现。

4.什么是集成测试
在单元测试的基础上,将各单元组成完整的体系,测试软件单位之间的接口是否正确,数据能否正常传递。…---------------比如注册和充值这两个功能能否连通
22.常见白盒测试的方法
1.语句覆盖 2.分支覆盖、判断覆盖 3.条件覆盖 4.判断/条件覆盖 5.路径覆盖

1. 测试工程师的功能和职责

测试工程师的主要职责是确保软件的质量,保证产品在交付前没有重大缺陷。其功能和职责包括:

  • 编写测试计划:基于需求和功能设计测试用例,确保覆盖所有功能模块。
  • 执行测试用例:运行手动或自动化测试,验证软件是否按照预期工作。
  • 报告和跟踪缺陷:记录和报告在测试中发现的缺陷,并确保开发人员修复后进行验证。
  • 回归测试:在修复或更新代码后重新测试,确保新的改动没有引入新的问题。
  • 维护测试环境:确保测试环境的稳定性和一致性。
  • 参与需求评审:帮助团队识别潜在的质量问题。

2. 如何实现测试的全覆盖

实现测试的全覆盖是一个复杂的任务,通常采用以下方法和工具来尽量达到:

  • 需求覆盖率:确保每个需求都有相应的测试用例。
  • 代码覆盖率:使用工具(如 JaCoCo、Cobertura)进行代码覆盖率分析,确保每一行代码都经过测试,常见覆盖率包括:
    • 语句覆盖率:执行每个语句。
    • 分支覆盖率:执行每个分支(例如 if-else 条件)。
    • 路径覆盖率:确保所有可能的执行路径都测试到。
  • 功能测试:测试所有功能模块,确保功能需求都实现。
  • 边界测试:覆盖所有可能的边界条件,检查极端输入和输出情况。
  • 交叉测试:测试不同模块之间的交互,确保它们在集成时能够正常工作。

3. 黑盒测试中的常用技术和方法

黑盒测试不关心代码内部实现,侧重于功能的输入和输出。常见的黑盒测试技术有:

  • 等价类划分:将输入数据划分为几类,每类只选一个典型值进行测试,减少测试数据量。
  • 边界值分析:针对临界点进行测试,如最大值、最小值、刚好超过或低于边界的值。
  • 决策表测试:用来测试系统在不同条件组合下的行为。
  • 场景测试:根据用户的操作场景,设计具有代表性的测试用例。
  • 因果图测试:用于分析输入条件和输出之间的关系,确保覆盖各种组合情况。

4. 性能测试的概念及黑盒/白盒属性

性能测试主要关注软件在高负载条件下的表现,用于确定系统的速度、可扩展性和稳定性。通常性能测试属于黑盒测试,因为它测试的是系统外部表现,而不关心内部实现。

5. 性能测试的概念与观测指标

性能测试的目标是评估系统在特定工作负载下的响应能力和稳定性,常见类型包括:

  • 负载测试:模拟多个用户访问系统,观察系统在正常负载下的表现。
  • 压力测试:逐步增加负载,直到系统超负荷,评估系统的极限。
  • 并发测试:测试多个用户同时操作同一资源时系统的性能。
  • 稳定性测试:长时间运行系统,评估其在稳定负载下的表现。

主要观测的性能指标包括:

  • 响应时间:系统处理请求所需的时间。
  • 吞吐量:系统在单位时间内能处理的请求数。
  • 并发用户数:系统能够同时支持的最大用户数。
  • 资源使用率:CPU、内存、磁盘等资源的占用情况。
  • 错误率:在负载下出现的错误请求比例。

7. 性能测试的步骤或流程

性能测试的标准流程包括以下步骤:

  1. 需求分析:了解性能需求,确定需要测试的性能指标(如响应时间、吞吐量)。
  2. 测试环境搭建:搭建与实际环境相似的测试环境,包括硬件、软件、网络条件等。
  3. 设计测试方案:确定测试场景、负载模型,设计性能测试用例。
  4. 执行测试:使用性能测试工具执行测试,模拟用户行为并加载系统。
  5. 数据监控与采集:实时监控系统的各项资源指标,并采集测试结果。
  6. 分析和报告:分析测试数据,找出瓶颈,并提出优化建议。
  7. 优化和重测:根据测试结果进行系统优化,再次测试,直到性能达到预期目标。

12. OSI 七层模型

OSI(Open Systems Interconnection)模型是一个标准化的通信框架,分为七个层次,每一层都有特定的功能和协议。这些层次从物理硬件层到应用软件层,提供了一个分层的抽象模型,便于理解网络通信。

OSI 七层模型的各层:
  1. 物理层(Physical Layer):

    • 功能:负责传输数据的物理媒介,如电缆、光纤和电信号。
    • 示例:RJ-45 接口、光纤、Wi-Fi 频段。
  2. 数据链路层(Data Link Layer):

    • 功能:提供节点间的可靠数据传输,处理帧的建立、传输和错误检测。
    • 协议:以太网(Ethernet)、点对点协议(PPP)、MAC 地址。
  3. 网络层(Network Layer):

    • 功能:负责不同网络之间的数据传输,处理路由选择和逻辑地址(IP 地址)的分配。
    • 协议:IP(Internet Protocol),ICMP(Internet Control Message Protocol)。
  4. 传输层(Transport Layer):

    • 功能:提供端到端的可靠数据传输,确保数据按顺序无误地传输到目的地。
    • 协议:TCP(Transmission Control Protocol),UDP(User Datagram Protocol)。
  5. 会话层(Session Layer):

    • 功能:管理应用之间的会话,负责会话的建立、维持和终止。
    • 协议:RPC(Remote Procedure Call),NetBIOS。
  6. 表示层(Presentation Layer):

    • 功能:处理数据的表示形式,负责数据加密、解密和格式转换。
    • 协议:SSL/TLS(加密协议),JPEG(图像格式),MPEG(视频格式)。
  7. 应用层(Application Layer):

    • 功能:直接为用户提供网络服务,处理应用程序与网络之间的交互。
    • 协议:HTTP、HTTPS、FTP、SMTP、DNS。

13. 浏览器输入一个地址到页面显示的过程和协议

当用户在浏览器中输入一个 URL(如 http://www.example.com)并回车后,发生了多个步骤,涉及不同的协议和通信过程。

主要的步骤及其对应的协议:
  1. DNS 查询(域名解析):

    • 浏览器首先查找 URL 对应的 IP 地址。此时使用的协议是 DNS(Domain Name System) 协议。
    • 浏览器会先查找本地缓存,若缓存中没有找到,会向 DNS 服务器发送请求,获得域名 www.example.com 对应的 IP 地址。
  2. TCP 连接

    • 获得 IP 地址后,浏览器与服务器建立一个 TCP 连接。此过程使用 TCP(Transmission Control Protocol) 协议,保证数据传输的可靠性。
    • 建立连接的过程中,使用了 三次握手 的机制:
      1. 客户端发送 SYN 请求到服务器。
      2. 服务器回复 SYN-ACK
      3. 客户端再回复 ACK,连接建立完成。
  3. HTTPS/HTTP 请求

    • 一旦 TCP 连接建立,浏览器向服务器发送 HTTP/HTTPS 请求,获取网页内容。具体协议取决于 URL 是 http:// 还是 https://
    • HTTP(HyperText Transfer Protocol)是无状态的应用层协议,用于发送网页数据。
    • HTTPS(HTTP Secure)是在 HTTP 之上加了 SSL/TLS 加密层,用于加密传输数据。
  4. SSL/TLS 握手(仅适用于 HTTPS):

    • 如果是 HTTPS 请求,浏览器和服务器之间会进行 SSL/TLS 握手,建立加密连接。这一过程包括协商加密算法、交换密钥、验证证书等步骤,确保数据传输安全。
  5. 服务器响应

    • 服务器收到请求后,根据请求的 URL,查找对应的资源,并通过 HTTP/HTTPS 协议返回响应数据,包括 HTML 页面、CSS 文件、JavaScript 文件等。
  6. 浏览器解析和渲染

    • 浏览器接收服务器响应的数据,开始解析 HTML 文件,下载引用的资源(如图片、CSS、JavaScript 等),并渲染页面。
    • 其中,图片的下载可能使用 HTTP,而音视频的传输可能使用 RTMPHTTP Streaming 等协议。
总结:
  • DNS 协议用于解析域名到 IP 地址。
  • TCP 协议用于建立客户端与服务器之间的可靠连接。
  • HTTP/HTTPS 协议用于传输网页请求和响应。
  • SSL/TLS 协议用于加密 HTTPS 连接。
  • HTTP 还可能用于加载页面中的其他资源,如图片、样式表等。

2.数据库知识

. DELETEDROP 的区别

  • DELETE

    • 作用:用于删除表中的部分或全部数据,但表结构依然存在。
    • 特点
      • 只删除表中的数据,保留表和表的结构。
      • 可以结合 WHERE 子句来删除特定的数据行。
      • 可以回滚:如果使用了事务,DELETE 操作可以回滚。
    • 语法示例
       

      sql

      复制代码

      DELETE FROM table_name WHERE condition;

  • DROP

    • 作用:用于删除整个表,包括表结构和表中的数据。
    • 特点
      • 不仅删除表中的数据,还删除整个表的定义。
      • 删除表后,表不可恢复(除非有备份)。
      • 不可回滚DROP 操作不可回滚。
    • 语法示例
       

      sql

      复制代码

      DROP TABLE table_name;

总结
  • DELETE 删除数据,保留表结构;DROP 删除整个表,包括表结构。
  • DELETE 可以回滚,DROP 不可回滚。

4. 如果测试来不及怎么办

如果项目时间紧,测试时间不足,可以采取以下措施:

  • 优先测试核心功能:把资源集中在最重要的业务功能上,优先测试用户最常使用的功能。
  • 风险分析:分析各个模块的风险,优先测试高风险的模块,推迟低风险模块的测试。
  • 增加测试人员:如果条件允许,调动其他团队的测试人员,进行并行测试。
  • 自动化测试:优先编写自动化脚本,对回归测试和重复性高的测试用例进行自动化。
  • 与开发团队紧密合作:提前介入开发,进行早期测试(例如单元测试和集成测试),减少后期需要执行的测试量。
  • 5. 性能指标

    性能测试中的关键指标包括:

  • 响应时间(Response Time)

    • 请求发出到收到响应的时间,通常用于衡量系统的性能。
  • 吞吐量(Throughput)

    • 单位时间内处理的请求数或事务数,通常以每秒请求数(RPS)或每秒事务数(TPS)表示。
  • 并发用户数(Concurrency)

    • 同时访问系统的用户数量。
  • 资源使用率

    • CPU、内存、网络和磁盘的使用率,监测系统的资源消耗情况。
  • 错误率

    • 请求失败的比例,通常表示为请求的失败率或错误代码的返回频率。

1.插入语句用法

insert into table_name (字段1,字段2,字段3)values(值1,值2,值3);

2.更新语句

update table_name set 字段1=值1

3.删除语句

delete from table_name where 字段1=值1

4.查询语句

selete * from table_name

5.多表联查

selete * from student st join score sc on st.name=sc.name

6.Oracle当中的for update怎么使用

selete * from table_name for update 

1.执行 for update 语句2.打开小锁3.修改数据4.点击对号5.关闭小锁6.点击提交(执行 commit)

 6.端口号

Mysql 3306;oracle 1521; sqlserver 1433

7.数据库聚合函数都有

Sum\avg\max\min\ount

8.模糊查询的方法

selet * from table_name where name like'孙%'

9.in 的用法

select name,age,sex from student where name in(‘曹操’,‘孙权’)

10.去重

distinct

11.说下取前几行的用法

select * from table_name limit 3;

12.倒序

desc

13.关系型数据库

mysql、oracle、sqlserver

14.非关系型数据库

redis,mongodb

16.三种数据库的区别

mysql:端口3306,客户端连接工具sqlyog,开源

17.删除数据库

delete from table_name where 字段  (删除部分语句

truncate table table_name       (数据清空表结构还在

drop table table_name        (删除数据表结构一并删除

delete和truncate之删除表的数据不删除表结构,drop都删除

三者使用场景也不一样,不需要一张表drop,删除部分数据delete,清空数据truncate

删除速度 drop > truncate > delete

18.说下A表和B表进行俩个表联查

selete * from A a1 join B b1 on a1.id=b1.id;

19什么是外连接

外连接分为左外和右外

20.

1.左连接以左表为基础,坐标内容全部输出,右表内容和左表相同的输出,不同的以NULL出现

selete * from A a left outer join B b on a.name=b.name

2.内连接,把两个表相同的全部输出,不同的全部过滤

3.右连接,和左连接正好反过来;

21。嵌套查询、子查询

嵌套:即子查询,查询里面还有查询

Select * from student where name in(select name from score where score>60)

22.什么是数据库中的索引,以及索引的作用,

如创建一个索引索引就好比一本书的目录,可以帮助我们快速的查询到我们查看的内容,也就是
说在数据库里添加索引能够加快数据的查询速度但是同时也会减慢数据的录入速度

23. 事务具有4个特性:原子性、一致性、隔离性、持久性

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

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

相关文章

RTMP协议分析

理论 总体介绍 RTMP协议是应⽤层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建⽴完成后,RTMP协议也要客户端和服务器通过“握⼿”来建⽴基于传输层链接之上的RTMP Connection链…

Collection 单列集合 List Set

集合概念 集合是一种特殊类 ,这些类可以存储任意类对象,并且长度可变, 这些集合类都位于java.util中,使用的话必须导包 按照存储结构可以分为两大类 单列集合 Collection 双列集合 Map 两种 区别如下 Collection 单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两…

Electron-(二)桌面应用的启动动画创建

一、概述 在很多桌面应用中都会有启动画面的显示。启动画面可以解决在启动时耗时较长,将每一步反馈给用户。另外一方面解决启动过程中的环境检查及检查结果的反馈。 在当今的桌面应用领域,启动动画已成为提升用户体验的重要组成部分。它不仅仅是一个简单…

【Linux】main函数的参数列表从何而来?

Linux系统进程通过exec系列函数启动新程序时,argc整型 、 argv数组 和 环境变量表 environ 会作为 exec 系列函数的参数,显式传递给新程序的 main 函数。 main函数的参数列表 在C语言中,main函数的标准参数列表通常如下所示: in…

极客wordpress模板

这是一个展示WordPress主题的网页设计。页面顶部有一个导航栏,包含多个选项,如“关于我们”、“产品中心”、“案例展示”、“新闻动态”、“联系我们”和“技术支持”。页面中间部分展示了多个产品,每个产品都有一个图片和简短的描述。页面下…

MySQL【知识改变命运】06

前言:在05这节数据结构里面,我们知道select * from 这个操作很危险,如果数据库很大,会把服务器资源耗尽,接下来提到的查询可以有效的限制返回记录 1:分页查询 分页查询可以有效控制一次查询出来的结果集的…

【CTF刷题9】2024.10.19

[MoeCTF 2021]babyRCE 考点&#xff1a;关键词过滤&#xff08;绕过方法参考往期博客&#xff09; 来源&#xff1a;nssctf <?php$rce $_GET[rce]; if (isset($rce)) {if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\|\%|\&g…

图像中的数值计算

目录 图像读取与形状图像数据展示图像数据操作超出范围的像素值处理 图像读取与形状 使用cv2.imread函数读取图像文件。图像的形状通过shape属性获取&#xff0c;格式为(高度, 宽度, 颜色通道数)。 import cv2img1 cv2.imread(bg.jpg) img2 cv2.imread(fish.jpg)print(img1…

Linux服务器安装SRAToolkit教程

SRAToolkit是由NCBI&#xff08;美国国家生物技术信息中心&#xff09;提供的一个工具集&#xff0c;用于下载、读取和转换SRA&#xff08;Sequence Read Archive&#xff09;格式的数据文件。这些数据文件包含了大规模的核酸序列数据&#xff0c;对于基因组学研究至关重要。本…

pytorch激活函数介绍

在 PyTorch 中,激活函数(Activation Functions)是神经网络中重要的非线性组件,用于引入非线性,使网络能够学习复杂的函数关系。以下是 PyTorch 中常见的激活函数及其特点: 1. ReLU (Rectified Linear Unit) 函数: torch.nn.ReLU()公式: ReLU(x)=max⁡(0,x)特点: 常用于隐…

python-代码技巧

python-代码技巧 简单tips1、多个列表循环遍历2、使用map对列表中多个文件进行批量操作 仅个人笔记使用&#xff0c;感谢点赞关注 简单tips 1、多个列表循环遍历 dataTypes ["train","test"] dataStations ["1","2","3"…

【C语言】自定义类型:结构体--结构体内存对齐(用于计算结构体的大小)

结构体内存对齐 结构体内存对齐用于计算结构体的大小。 &#xff08;1&#xff09;对齐规则 1&#xff09;&#xff09;结构体的第一个成员对齐到和结构体变量起始位置偏移量为0的地址处。 2&#xff09;&#xff09;其他成员变量要对齐到某个数字&#xff08;对齐数&#…

FFmpeg 4.3 音视频-多路H265监控录放C++开发四 :RGB颜色

一 RGB 的意义&#xff1f; 为什么要从RGB 开始讲起呢&#xff1f; 因为最终传输到显卡显示器的颜色都是RGB 即使能处理YUV的API&#xff0c;本质上也是帮你做了从 YUV 到 RGB的转换。 RGB888 表示 R 占8bit&#xff0c;G 占8bit&#xff0c;B 占8bit&#xff0c;也就是每一…

Gin框架操作指南10:服务器与高级功能

官方文档地址&#xff08;中文&#xff09;&#xff1a;https://gin-gonic.com/zh-cn/docs/ 注&#xff1a;本教程采用工作区机制&#xff0c;所以一个项目下载了Gin框架&#xff0c;其余项目就无需重复下载&#xff0c;想了解的读者可阅读第一节&#xff1a;Gin操作指南&#…

手撕布隆过滤器:原理解析与面试心得

前言 说来话长&#xff0c;话来说长。前些天我投了一些日常实习的简历&#xff0c;结果足足等了两个礼拜才收到面试通知&#xff0c;看来如今的行情确实是挺紧张的。当时我是满怀信心去的&#xff0c;心想这次一定要好好拷打面试官一番&#xff0c;结果没想到&#xff0c;自我…

腰背肌筋膜炎有哪些治疗方法

腰背肌筋膜炎主要表现为腰背部的疼痛、酸胀、僵硬、活动受限等症状。在疾病初期&#xff0c;症状可能相对较轻&#xff0c;通过休息、保暖、适当的物理治疗等&#xff0c;往往可以缓解症状&#xff0c;此时病情不算严重。如果患者不重视&#xff0c;继续保持不良的生活习惯&…

微服务架构 --- 使用RabbitMQ进行异步处理

目录 一.什么是RabbitMQ&#xff1f; 二.异步调用处理逻辑&#xff1a; 三.RabbitMQ的基本使用&#xff1a; 1.安装&#xff1a; 2.架构图&#xff1a; 3.RabbitMQ控制台的使用&#xff1a; &#xff08;1&#xff09;Exchanges 交换机&#xff1a; &#xff08;2&#…

什么是不同类型的微服务测试?

大家好&#xff0c;我是锋哥。今天分享关于【什么是不同类型的微服务测试&#xff1f;】面试题&#xff1f;希望对大家有帮助&#xff1b; 什么是不同类型的微服务测试&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 微服务架构中的测试可以分为多种类…

WPF基础权限系统

一.开发环境 VisualStudio 2022NET SDK 8.0Prism 版本 8.1.97Sqlite 二. 功能介绍 WPF 基础权限系统&#xff0c;是一个支持前后端分离设计的 客户端(C/S)项目&#xff0c;该示例项目前端xaml使用UI库 &#xff0c;Material Design Themes UI 来构建用户界面&#xff0c;确保…

【into outfile写文件】

简介 select * from user into outfile C:/Users/ichunqiu/Desktop/PhpStudy2018/PHPTutorial/WWW/1.txt;用法的意思就是把user表中查询到的所有字段都导出到1.txt文件中 我们之前还有学到dumpfile&#xff0c;单是它只能导出一条数据 写入shell 测试注入点 usernameadmin&…