- 博客(69)
- 收藏
- 关注
原创 Test——BUG篇
对于测试人员来说,不仅要具备开发能力,测试能力,还要有一定的产品分析能力来保证产品的质量;软件测试的生命周期指;以下是具体内容从用户角度:需求是否合理;从开发角度:技术上是否可行,是否有优化空间;从测试角度:需求是否符合逻辑多久参考需求文档,技术文档编写测试用例;编写测试文档要明确标注使用到的测试方法,测试手段,测试工具等全方位的覆盖测试测试报告沙盒,小流量,全流量,全线上所以说:测试执行完成后不能就说软件100%的问题被解决了,有些问题可能很难被发现。
2025-04-02 11:30:37
414
原创 笔试题第二周
a选出两者最小值进行枚举,知道找到一个数使得两者%为0;gcd计算的是两者最大公约数:使用要找出连续序列,可以;接着使用定义两个指针i,j;从头到尾找出符合要求的区间后进行比较,找出最长区间的个数返回即可;但这要要注意:如果:{1,2,2,2,3,4}:这时我们就要想办法只取3个2中的1个后继续找区间:这里采用count变量来统计连续区间个数:如果遇到相同数字只需指针往后移动;反之就让count++再让指针往后移动略...
2025-03-23 19:12:55
1015
原创 数据结构——并查集
1. 数组的下标对应集合中元素的编号;2. 数组的值中如果为负数,负号代表根,数字代表该集合中元素个数;3. 数组的值中如果为非负数,代表该元素双亲在数组中的下标(编号)
2025-03-11 20:33:50
910
原创 数据结构——栈和队列
栈是一种特殊的线性表,只允许在;进行数据插入和删除操作的一端称为,另一端称为;栈中的数据元素遵守LIFO(Last In First Out)的特性。
2025-02-24 20:13:31
936
1
原创 数据结构——顺序表与链表
顺序表问题:a.头部插入或者删除效率低:O(N) = N,需要挪动数据;b.空间不够需要扩容,扩容有一定的消耗且有可能存在一定的浪费;c.只适合尾插尾删;优点:支持下标随机访问;链表(双向)问题:下标随机访问不方便:O(N) = N;优点:a.插入与删除效率高:O(N) = 1,只需要改变指针指向;b.按需申请释放,合理利用空间,不存在浪费。
2025-02-16 22:10:36
905
原创 数据结构——时间空间复杂度
数据结构与算法在后期找工作时非常重要(笔试与面试都有,都要求手撕),所以学习时没学完一个知识点要找对应的题去做,反复练习(敲代码)才会使你的认识提升一个档次,下来也要进行归类,画图总结,复习时才轻松点~数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合;简单来说数据结构:在内存中管理数据;而与数据库又有什么关系呢?数据库: 在磁盘中管理数据在C语言中写过的通讯录其实就是数据结构中的一种(数据结构称为顺序表)
2025-01-25 21:37:08
1291
原创 C语言——编译与链接
) //用更形象的符号来替换一种实现// 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。注意:#define定义标识符时千万不要加分号(;明明有加括号却报错了!就是因为#define替换把;给替换上了,造成语法错误#define 机制包括了一个规定:允许把参数替换到文本中,这种实现通常称为宏(macro)或定义宏(define macro)#define Add(a, b) a + b // 没有;
2025-01-22 22:17:00
978
原创 C语言——动态内存管理
前面已经掌握了开辟内存的方式:但这种开辟内存的方式有两个特点:1. 空间开辟大小是的;2. 数组在声明的时候,必须,它所需要的内存在编译时分配。如果一个数组在(前面通讯录信息存满了还要存信息),我们就要进行来学习动态内存开辟内存来满足需求~
2025-01-13 21:32:01
1610
原创 C语言——结构体,位段,枚举和联合
int x;int y;//可以在这里初始化struct stuint date;}s1;//全局变量int main()//局部变量 按顺序初始化//指定成员初始化return 0;enum Day//星期Mon = 1,Tues,Wed,Thur,Fri,Sat,Sunenum Day是一个枚举类型;枚举括号内的内容都是常量;枚举默认从0开始(与数组一样);但你也可以自己修改(Mon = 1)//联合类型的声明union Unchar c;int i;
2025-01-08 20:50:08
955
1
原创 C语言——分支与循环语句
目录一.分支语句1.if语句1.1语法:1.2悬空else问题2.switch语句2.1语法2.2default子句二.循环语句1.while循环1.1语法1.2break与continue2.for循环2.1语法2.2for与while循环2.3关于for循环的一道笔试题3.dowhile循环3.1语法三.猜数字游戏实现四.goto语句补充scanf与getchar最后作为c语言最常见的判断语句,几乎有关判断的场景都要用到if来实现用if表达式中,表达式为真(非0)执行,为假(0)就停止执行。
2025-01-07 22:33:57
1009
1
原创 专题十四——BFS
b进行dfs遍历(上下左右找合法坐标)只要它是1并且没被标记,就把它加入到队列中并进行标记;c再次对grid进行遍历,只要坐标的值是1并且没别标记就代表它走不出边界,进行统计即可。1.两层for循环找‘1’&&该位置没被标记,将该坐标进队列,执行一次bfs;安排高度时,任意相邻的格子高度差至多为1,也就是既可以设计成0,也可以设计成1;如果从1作为起点走到终点0,那等到终点时记录距离时就不知道是从哪一个1为起点的。所以我们从0为起点开始,走到不是0的位置就进行距离记录,同时把它。与01矩阵的思路一样~
2025-01-07 15:37:28
926
原创 C语言——字符函数和内存函数
C语言对应字符串的处理很繁琐(比如经常要知道它们的长度啦,拷贝啦,移动啦): 所以专门提供了一些列字符(串)函数来方便使用者处理使用~
2025-01-03 20:40:03
872
原创 C语言——数据在内存中的存储
但是在C语言中除了8 bit的char之外,还有16 bit的short型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题:因此就导致了大端存储模式和小端存储模式。同时,加法和减法也可以统一处理(CPU只有加法器)此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。这时,浮点数就采用下面的规则表示,即指数E的计算值减去127(或1023),得到真实值,再将。
2024-12-24 22:12:34
942
原创 C语言——指针
学习指针相关的知识可能是你学习C语言碰到的第一道‘难关’,但它非常重要,重要到后面无时无刻都会出现它来引出新知识点或者通过它来理解新知识,所以必须要好好地掌握好指针!
2024-12-10 21:45:23
1020
原创 专题十二——队列和宽搜
oj链接:N 叉树的层序遍历2二叉树的锯齿形层序遍历oj链接:二叉树的锯齿形层序遍历3二叉树的最大宽度 oj链接:二叉树最大宽度4在每个数中找最大值oj链接:在每个树行中找最大值
2024-11-29 15:22:04
170
1
原创 专题十一——栈
/- : 需要将操作放入 op 中。在放入之前先把栈内可以算的都算掉,使用现有的 val 和 op 进行计算(直到栈内没有操作符或者遇到左括号后停止)) : 使用现有的 val 和 op 进行计算(直到遇到左边最近的一个左括号为止)数字 : 从当前位置开始继续往后取,将整一个连续数字整体取出,加入 val 中。2) 为防止 () 内出现的首个字符为运算符,使用两个栈 val 和 op。op :存放所有的数字以外的字符。val : 存放所有的数字。( : 直接加入 op 中。解法:双栈(通用解法)
2024-11-22 17:19:47
329
1
原创 Linux——五种IO模型
使用select要注意以下细节1.select后accept还是阻塞吗?一定不会阻塞(事件已经就绪)2.read能直接读吗?如果不能,谁最清楚底层fd的数据就绪了?绝对不能读,读取的时候,条件不一定满足;由select来统一监管(select知道)3.select要正常工作,要借助辅助数组(fd_array),来保存所有合法的fd!select的fd_set* 是输入输出参数,它会继续参数重置4.select统一监管是怎么做到的?
2024-10-30 12:24:56
1425
1
原创 Linux——数据链路层
不是一口气就发送给了对方的,这就是网络转发的本质~那这样说的话,你得先才行啊!能不能做到呢?能!下面的数据链路层就是来解决这个问题的~
2024-10-22 10:16:29
841
原创 动态规划算法题
最后一块石头的重量 II这样问题就转为:选择一些数使得和等于sum/2!也就是01背包问题解法:动态规划(分5步)1状态表示dp[i][j] 表示从i个数里选,所有选法中能否凑成j这个数的最大和2确定状态转移方程(按照题目要求+经验)画图分析3初始化加一行加一列即可4填表顺序从上到下,从左往右5返回值sum-2*dp[n][sum/2] 或者是 abs(dp[n][sum/2]-(sum-dp[n][sum/2]))public://sum/2问题i
2024-10-20 16:06:57
809
原创 Linux——传输层协议
而在TCP中:client发送的报文请求每次可能是不同的:有建立连接的,发送数据的,断开连接的,应答的,应答+发送数据的;server怎么知道收到的报文是什么请求(类型)呢?通过报头里的保留(6位)的标记位来进行判断;ack标记为1说明该报文时应答报文,该报文里有数据说明该报文类型是:应答 + 发送数据类型。
2024-10-12 15:15:15
1412
原创 递归 搜索与回溯算法题
先进行画图分析N=2时,为了最下面的盘子解放,我们直接将(一个)盘子移到B上而N=3时,为了最下面的盘子解放,(参考N=2)然后我们将最大(解放)的盘子移到C上,那下一步呢?
2024-09-28 16:11:29
427
1
原创 Linux——HTTPS协议
加密:明文 (要传输的信息)进行一系列变换, 生成密文解密:密文进行一系列变换, 还原成明文在这个加密和解密的过程中, 往往需要一个或者多个中间的数据, 辅助进行这个过程, 这样的数据称为密钥在86版的火烧圆明园中,亲臣递给慈禧太后的周折中明文秘钥:烧了的洞密文:通过秘钥将文字进行组合成句子数字摘要(数据指纹),其基本原理是利用单向散列函数(Hash 函数)对信息进行运算,生成一串固定⻓度的数字摘要。数字指纹并不是一种加密机制,但可以用来判断数据有没有被篡改。
2024-09-24 10:55:02
1010
原创 Linux——应用层协议HTTP
HTTP(超文本传输协议)就是其中之一。它是一个至关重要的协议:定义了客户端(如浏览器)与服务器之间如何通信,以交换或传输超文本(如 HTML 文档)。而且:HTTP 协议是一个无连接、 无状态的协议, 即每次请求都需要建立新的连接, 且服务器不会保存客户端的状态信息。Cookie(也称为 Web Cookie) 是服务器发送到用户浏览器并保存在浏览器上的一小块数据文件/内存存储), 它会在浏览器之后向同一服务器再次发起请求时被携带并发送到服务器。
2024-09-22 10:38:57
1242
原创 Linux——应用层自定义协议与序列化
进程组是一个或者多个进程的集合, 一个进程组可以包含多个进程每一个进程组也有一个唯一的进程组 ID(PGID), 并且这个 PGID 类似于进程 ID会话看成是一个或多个进程组的集合:一个会话可以包含多个进程组;会话有自己的SID。
2024-09-15 17:43:00
1021
原创 Linux——网络基础&&Socket编程
截止到目前, 我们还没接触过任何协议, 但是如何朴素的理解协议, 我们已经可以试试了。问题: 主机 B 能识别 data, 并且准确提取 a=10, b=20, c=30 吗?能!因为双方都同样有结构体类型:用“相同”的代码来实现协议,用同样的结构体来定义类型,双方之间不就有天然的“共识”,自然就能识别并提取了:这不就是约定吗!所以,我们来朴素地理解协议:所谓协议, 就是通信双方都认识的结构化的数据类型。
2024-09-08 15:45:21
979
原创 Test——入门篇
互联⽹技术岗位流传着这样⼀个鄙视链:算法 > 后端开发 > 前端开发 > 测开 > 测试.....这只是互联⽹⺠⼯茶余饭后的⽆聊消遣:不同的岗位⼯作的重点不同,每个⻆⾊都不能被代替!生活上:到商场买衣服a)外观测试:挑选符合自己审美的衣服b)材质测试:考虑衣服是否100%纯棉,是否含涤纶等材质c)尺码测试:试衣间进行试穿d)价格测试:开价格是否符合预期手机上:打开某个购物软件a)启动测试:点击软件图标,测试软件是否可以正常打开b)搜索测试:点击输⼊框,输⼊关键词,点击搜索c)商品测试。
2024-06-30 14:42:16
889
原创 Git原理与使用
在工作中,你或许会遇到过:那在这种情况中有没有什么办法来帮助我们来进行对不同版本进行保存呢??⽬前最主流的版本控制器就是:Git。Git可以控制电脑上所有格式的⽂件,例如doc、excel,dwg、dgn、rvt等等。而对于我们开发⼈员来说,Git最重要的就是可以帮助我们管理软件开发项⽬中的源代码⽂件! 它不仅能够进行对不同版本的保存,也能对文件的修改信息做出追踪:如文本文件:第10行新增单词“Git”,删除单词“Windows”而二进制文件(图片,视频)就无法进行追踪,只能把文件每次改动串起来(图片从1
2024-06-29 11:59:56
1295
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人