自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 哈希简单介绍

状态标记:1.EXIST(存在)2.EMPTY(空)3.DELETE(删除)闭散列-开放定址法:当前位置被占用了,按规则找下一个位置(占用别人的位置)哈希表不能满了再扩容,控制负载因子到一定值就扩容。比如统计字符串中字符出现的字数,字符范围是集中。负载因子越大,冲突概率越大,空间利用率越高。负载因子越小,冲突概率越小,空间利用率越低。1.直接定址法(值的分布范围集中)2.除留余数法(值的分布范围分散)哈希冲突:不同的值映射到相同的位置。

2024-09-22 16:09:03 271

原创 北京黑镜科技测试一面

6.如果有1000个人同时登录,如何运用工具做压力测试。5.登录界面接口如何测试,具体测试步骤。9.查询同学成绩排名前五名,如何查询。8.查询每个班的同学,如何查询。7.如何学习,学习方法。3.如何编写测试用例。4.使用过的测试工具。

2024-09-13 16:56:49 177

原创 make/Makefile

有:则会检测目标对象文件与依赖对象文件的时间关系,判断目标是否需要重新生成(在目标文件上次生成后,源码有没有修改过)2.如果需要生成,则会检测依赖文件是否存在是否需要生成因此会到下边找寻依赖文件的生成规则,先生成依赖文件最终依赖文件都生成后,再去生成目标文件3.第一个目标对象文件生成后,则退出。这就是一个常规的文本文件,但是搭配了make就不一样了,因为Makefile可以记录项目的构建规则。Makefile文件命名是固定的,可以是Makefile或者makefile,其他的都不行。

2024-09-12 20:29:51 248

原创 数组排序(快排)

请你将该数组升序排列。

2024-09-12 17:24:38 400

原创 博客系统自动化测试报告

进入2010年代,博客适应了移动设备的需求,并集成了多媒体元素,同时与社交媒体紧密结合,提升了传播效果。测试报告总结表明,在2023年8月20日至8月25日期间,对博客系统进行了全面测试,涵盖用户登录、文章编辑、用户注销等功能。本次测试项目博客系统包括了用户的登录和注销、博客的增删查改、一键返回主页功能,此次共发现了0个问题。本次测试项目博客系统包括了博客登录页面、博客首页、博客详情页、博客编辑页面,发现了1个问题。a.预期结果:界面正常显示博客标题、博客发布时间、博客内容、编辑按钮、删除按钮、导航栏。

2024-09-08 17:46:46 866

原创 自动化测试概念(1)

移动端测试难度相对较⼤,移动端测试的稳定性要⽐接⼝⾃动化测试和web⾃动化测试的稳定性要差很多,原因主要是移动端测试收到的环境影响⽐较多。理想的⾃动化测试⾦字塔表达了⾃动化测试的理想情况,利⽤较少的时间和精⼒在单元测试上就能够发现更多有效的问题。模拟⼈在浏览器上的操作⾏为,⾃动的打开浏览器,访问百度⾸⻚,并进⾏⼀系列的搜索和验证等⾏为。UI测试也称为界⾯测试,常⻅的UI⾃动化测试包含web⾃动化测试、移动端⾃动化测试等等。⾃动化测试不⼀定⽐⼈⼯测试更能保障系统的可靠性,⾃动化测试是测试⼈员⼿⼯编写,

2024-09-03 20:33:51 205

原创 测试分类简介

按照测试⽬标分类按照测试⽬标分类。

2024-09-03 19:55:52 1065

原创 测试用例的具体方法

依据需求将输⼊(特殊情况下会考虑输出)划分为若⼲个等价类,从等价类中选出⼀个测试⽤例,如果这个测试⽤例测试通过,则认为所代表的等价类测试通过,这样就可以⽤较少的测试⽤例达到尽量多的 功能覆盖,解决了不能穷举测试的问题。场景主要包括4种主要的类型:正常的⽤例场景,备选的⽤例场景,异常的⽤例场景,假定推测的场景。场景来测试需求是指模拟特定场景边界发⽣的事情,通过事件来触发某个动作的发⽣,观察事件的最终结果,从⽽⽤来发现需求中存在的问题。通过运⽤场景来对系统的功能点或业务流程的描述,从⽽提⾼测试效果的⼀种⽅法。

2024-09-02 20:24:10 859 1

原创 Scrum 敏捷模型、软件测试

描述bug的基本要素:问题出现的版本、问题出现的环境、问题出现的步骤、预期结果、实际结果。设计测试⽤例的万能公式:功能测试+界⾯测试+性能测试+兼容性测试+易⽤性测试+安全测试。每日会议:昨天做了什么( 进度)、今天做了什么(有目标)、遇到了什么问题(风险把控)bug评审⾄少需要项⽬组各个⽅⾯的代表参加:测试代表、开发代表、产品代表。excel测试用例要素:序号、标题、测试环境、测试数据、步骤、预期结果。五个重要会议:需求发布会议、计划发布会议、每日会议、演示会议。三个角色:产品经理、项目经理、研发团队。

2024-08-27 00:28:02 442

原创 多态(二)

一个含有虚函数的类中都至少都有一个虚函数表指针,因为虚函数 的地址要被放到虚函数表中,虚函数表也简称虚表。虚函数的继承是一种接口继承,派生类继承的是基类虚函数的接口,目的是为了重写,达成。普通函数的继承是一种实现继承,派生类继承了基类函数,可以使用函数,继承的是函数的实。多态,继承的是接口。所以如果不实现多态,不要把函数定义成虚函数。以下程序输出结果是什么()

2024-08-14 23:06:27 337

原创 多态(一)

重写的条件本来是虚函数+三同(函数名、参数、返回值相同),但是有一些例外。2、协变,返回值的指可以不同,但是要求返回值必须是父子关系指针和引用。1、派生类的重写虚函数可以不加virtual(建议大家都加上)2、基类指针或者引用多态,不同对象传递过去,调用不同函数。1、调用函数是重写的虚函数。多态调用看的指向的对象。普通对象,看当前者类型。

2024-08-14 15:54:11 190

原创 继承(二)

隐藏/重定义:子类和父类有同名的成员,子类成员隐藏了父类的成员。重载:同一个作用域,重载了参数。(在实际中最好不要定义同名函数)子类对象不能初始化父类对象,用父类成员初始化子类成员。析构函数会自动调用。显示调用父类析构,无法保证先子后父,所以子类析构函数完成舅自定义调用父类析构,这样就保证了先子后父。友元关系不能继承。子类继承父类的静态成员,继承的是使用权(地址一样)面经:1.什么是菱形继承?菱形继承的问题是什么?

2024-08-11 23:27:57 943

原创 继承(一)

2.不论是基类的protected还是public成员在派生类中的继承是怎样的只要遵循一个原则:服从小的。,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,1.基类的private成员在派生类中都是不可见的。,增加功能,这样产生新的类,称派生类。的最重要的手段,它允许程序员在。机制是面向对象程序设计。

2024-08-05 23:45:31 153

原创 模板的特化

可以看到,Less绝多数情况下都可以正常进行比较,但是在特殊场景下就得到错误的结果。上述示例中,p1指向的d1显然小于p2指向的d2对象,但是Less内部并没有比较p1和p2指向的对象内容,而是比较p1和p2指针的地址,这就无法达到预期而错误。即:在原模版类的基础上,针对特殊类型所进行特殊化的实现方式。模板特化中分为函数模板特化与类模板特化。4.函数形参表:必须要和模板函数的基础惨淡胡类型完全相同,如果不同编译器可能会报一些奇怪的错误。3、函数名后跟一对尖括号,尖括号中指定需要特化的类型;

2024-08-05 16:47:48 194

原创 list的拷贝构造

【代码】list的拷贝构造。

2024-08-01 23:11:00 344

原创 list双向链表迭代器的实现

【代码】list双向链表迭代器的实现。

2024-08-01 23:07:04 432

原创 单参数的构造类型可以生成隐式类型的转换

在许多面向对象的编程语言中,当类有一个单参数的构造函数时,这个构造函数可以被用于生成一种隐式的类型转换。这种特性允许程序员在没有显式类型转换的情况下,将一种类型的数据转换成另一种类型。的类,它表示二维空间中的一个点。在这种情况下,编译器会尝试使用与该整数匹配的构造函数来创建一个临时的。由于第一个构造函数只接受一个参数,编译器允许我们在某些情况下隐式地将整数转换为。对象的函数中传递一个整数值,编译器可能会自动执行这种转换。然而,需要注意的是,在某些语言中,如 C++,可以通过使用。函数,而该函数期望一个。

2024-07-30 19:31:48 334

原创 逆波兰表达式求值

该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6。该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9。逆波兰表达式是一种后缀表达式,所谓后缀就是指算符写在后面。返回一个表示表达式值的整数。

2024-07-27 17:48:45 296

原创 电话号码的字母组合(中等难度)

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。首先将每个按键的对应的字母映射好,然后采用递归的方式进行组合。的字符串,返回所有它能表示的字母组合。

2024-07-23 16:54:40 367

原创 杨辉三角leetcode

在「杨辉三角」中,每个数是它左上方和右上方的数的和。生成「杨辉三角」的前 numRows。给定一个非负整数 numRows。

2024-07-23 16:09:32 340

原创 只出现一次的数字

异或:1.任何数异或0=任何数;2.相同数异或=0,不同数异或=1(这里的相同数、不同数指的是二进制的数字进行异或),除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。为4,这是数组中唯一出现一次的数。

2024-07-22 13:29:37 198

原创 vector的运用(迭代器)

头删,头插,某个位置删插。

2024-07-20 23:47:27 106

原创 reserve和resize

第一种,将reserve改为resize,resize直接将空间开好,并且把size也提上来。所以,正确使用就不会出现特别大的问题。

2024-07-20 23:03:16 207

原创 C++中size_t怎么用

是C++标准库中定义的一种无符号整型数据类型,通常用于表示大小或数量,如数组的长度、容器的大小或指针算术。头文件中,因此在使用之前需要包含这个头文件。类型确保了跨平台的一致性,使得代码更加健壮和可移植。

2024-07-20 19:57:26 305

原创 vector容器+排序算法sort

中第一个元素和最后一个元素后位置的迭代器。将这两个迭代器传递给。需要包含算法的头文件:#include<algorithm>是一个范围基础的for循环,它遍历。string类型也可以进行排序。关键字让编译器自动推导出。第一正向,第二个反向。

2024-07-20 17:01:37 609

原创 vector

会分配一些额外的空间以适应可能的增长,因为存储空间比实际需要的存储空间更大。不同的库采用不同的策略权衡空间的使用和重新分配。但是无论如何,重新分配都应该是对数增长的间隔大小,以至于在末尾插入一个元素的时候是在常数时间的复杂度完成的。就时间而言,这是一个相对代价高的任务,因为每当一个新的元素加入到容器的时候,的元素进行访问,和数组一样高效。但是又不像数组,它的大小是可以动态改变的,而且它的大小会被容器自动处理。占用了更多的存储空间,为了获得管理存储空间的能力,并且以一种有效的方式动态增长。

2024-07-20 16:30:22 302

原创 截取网址的各个部分(string.substr)

【代码】截取网址的各个部分(string.substr)

2024-07-19 15:57:45 346

原创 string相关

C_str:当在C++中想要查看C中的一些文件或者代码时,可以使用这个进行打开查看。

2024-07-19 15:55:17 135

原创 string

Erase:从某个位置开始删除n个字符,如果给多了,有多少删多少。可以头删,也可以给迭代器位置(不建议经常使用,效率不高)下面介绍append:追加;assign:覆盖;insert:在第几个位置插入几个字符(存在效率问题,不要多用)s1.at(15)通过访问下标为15(不存在的)的字符来验证at的功能,抛出异常。温柔的检查:不想吃饭了,把碗收起来,自己回房间去了。暴力的检查:不想吃饭了,直接把桌子掀了;

2024-07-19 14:46:01 180

原创 字符串相加

你不能使用任何內建的用于处理大整数的库(比如。), 也不能直接将输入的字符串转换为整数形式。,计算它们的和并同样以字符串形式返回。给定两个字符串形式的非负整数。

2024-07-16 23:13:33 211

原创 迭代器+反向迭代器

四种迭代器:iterator,const_iterator,reverse_iterator,const_reverse_iterator。接上节内容,反向迭代器(aoto的价值显示的更明显)这里就凸显的范围for 不能倒着遍历,只能正着遍历。

2024-07-16 22:57:22 242

原创 string+迭代器

注意:这里size_t不算/0。

2024-07-16 00:14:30 192

原创 STL(一)

书写形式:string (const string& str, size_t pos, size_t len = npos);

2024-07-10 21:40:33 216

原创 C++中的模板(二)

/ 普通类,类名和类型是一样。// 类模板,类名和类型不一样。// 类型:Stack<T>// 类名:Stack。

2024-07-10 20:32:10 253

原创 C++中的模板(一)

首先,我们做一个简单的假设:假如现在你有穿越回古代的机会,然而你在古代的身份是曹植的管家,这天曹植写了一首《洛神赋》,他命令你把这首诗广泛的传播出去,那么在当时的技术条件下,你只能先制作竹签,然后一个一个把字刻上去,但是只有一个人效率极其的慢,而且也不能量产;在这个函数中,Swap(a,b)和Swap(c,d)并不是调用的同一个函数,而是两个不同的函数,是你将参数传递给Swap以后,编译器检测到你传入的参数是什么类型,就对应生成这个类型的函数,然后再进行交换,是编译器代替你做了这个工作。

2024-07-09 23:36:36 373

原创 malloc/free和new/delete的区别

的共同点是:都是从堆上申请空间,并且需要用户手动释放。在申请空间 后会调用构造函数完成对象的初始化,delete。只需在其后跟上空间的类型即可, 如果是多个对象,[ ]在释放空间前会调用析构函数完成空间中资源的清理。只会开辟空间,不会调用构造函数与析构函数,而。申请空间时,需要手动计算空间大小并传递,申请空间失败时,返回的是。申请的空间不会初始化,,因此使用时必须判空,申请自定义类型对象时,

2024-07-08 21:35:50 136

原创 为什么要内存对齐?

每个颗粒chip里面有8个bank,每次同时从8个bank中取一位数据,为了节约地址总线位数,每次都是从每个bank的同一行、同一列里读取、操作数据,其次,在四个颗粒中的相对位置也是相同的,每一字节的每一位在每个chip的bank里位置也都是相同的(相同行、相同列)。答案是四个,因为cpu想同时取出4个字节的数据也就是32位,肯定会充分发挥并行传输数据的能力,同时与四个颗粒进行数据交互,速度就会比与一个颗粒交互要快。4.如果嵌套了结构体的情况,嵌套的结构体对齐到自己的最大对齐数的整数倍处。

2024-05-14 11:58:26 275

原创 什么是内存泄漏?什么是内存溢出?

在上面这段代码中,就存在着C++中最经典的内存泄漏问题,我们会发现,在foo方法调用结束后,x,y都会被机器自动释放,但是指针p并不会被释放掉,他会像一座孤岛一样一直停留在那里,只有使用者知道p停留在哪里,可是这个时候的x,y已经被释放了,所以别人也用不了,就一直占用着这块内存,那么我们该如何让解决这个问题呢?当然,我们也可以选择保留指针p,只需要将他赋值为空指针就好了,在下次使用它时,判断一下,它是否为空指针,就知道它是不是闲着的了。(用NULL,有时编译器会把它和int类型弄混)

2024-05-09 16:59:19 189

原创 函数指针和指针函数

首先,我们从signal下手,我们不难发现,signal是一个函数,参数是(int,void(*)(int)),只不过第二个参数是函数指针,此时,我们将已经分析出来的部分去掉就变成void (* ) (int),不难看出,这是一个函数指针那么,最外面的这个函数指针就表示是函数signal的返回类型,返回参数是int类型。是函数,是一个表示返回类型为指针的函数。是指针,是一个指向函数的指针;

2024-04-26 17:05:44 217

原创 有关this指针的一道面试题(C++)

当对象调用成员函数时,将对象地址作为实参传递给。即成员函数中,不能给。

2024-04-18 20:28:34 226

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除