Keep your head up in failure, and your head down in success.
失败时,要高昂起头;成功时,要保持谦逊。
这里大概整理了百分之六十,因为当时只记了这些,仅供大家参考!
q->pNext = p->pNext;
p->pNext = q;
语法格式:s[start:end:step]
1、其中 s 为字符串的变量名,start 表示切片的起始位置,end 表示截至位置,step 表示步长(默认为 1)
2、当 step 为正值时,如果 start 省略,表示从最左侧开始;如果 end 省略,表示到最右侧结束
3、当 step 为负值时,切片由右向左进行,如果 start 省略,表示从最右侧开始;如果 end 省略,表示到最左侧结束
4、切片的结果中包含 start 所在位置的元素但不包括 end 所在位置的元素
route ADD 目的网络 MASK 子网掩码 网关地址 METRIC 跳数 IF 端口号 (跳数和端口号可以省略)
答:判定中每个条件的所有可能结果至少出现一次,每个判定本身所有可能结果也至少出现一次
1、等价类划分法
2、边界值分析法
3、错误猜测法
4、场景法
5、因果图法和判定表法
6、正交试验法
答:路径测试
答:非增量集成测试
1、度量与评估软件的质量
2、改进软件开发过程
3、保证软件质量(有争议)
解析:逻辑测试覆盖是白盒测试法常用的技术。主要的覆盖标准有6种,强度由弱到强依次是:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖、路径覆盖
在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。
人员:用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段
Beta testing(β测试),是软件在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场
Alpha testing (α测试),是由用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试
1、明确测试的目标,增强测试计划的实用性编写
2、坚持“5W”规则:测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)
3、采用评审和更新机制
4、分别创建测试计划与测试详细规格、测试用例
新建->提交->确认->分配->修复->验证->关闭
自动化测试可以节省一定的时间和人力成本,提高测试效率。可以从以下几个方面考虑:
1、覆盖率
优点:在同等时间内,覆盖率更高
缺点:只适合回归测试
2、测试效率
优点:执行相同数量的测试,速度更快
缺点:测试脚本开发耗时长
3、执行可靠性
优点:可靠的按脚本执行,后续定位、复现有明确的配置路径可循
缺点:没有手工测试手段灵活
4、资源利用率高
5、可进行压力、负载、并发、重复等人力不易完成的任务
自动化测试和手工测试之间是相辅相成的关系,优势互补
前置测试模型是由Robin FGoldsmith等人提出的,是一个将测试和开发紧密结合的模型,该模型提供了轻松的方式,可以使你的项目加快速度
1 开发和测试相结合
2 对每一个交付内容进行测试
3 在设计阶段进行计划和测试设计
4 测试和开发结合在一起
5 让验收测试和技术测试保持相互独立
6 反复交替的开发和测试
7 发现内在的价值
概要设计
需求分析,概要设计,详细设计,编码,测试,验收
需求分析->测试计划->测试设计->系统测试->回归测试
6~10位自然数的无效等价类:
https://blog.csdn.net/zhangyumumu/article/details/104550524
大于1且小于100的边界值:
正好等于:2,99
刚刚大于:3,100
刚刚小于:1,98
因果图
alter table tableName add columnName datatype
alter table tableName drop column columnName
drop table 表名称
truncate table 表名称
delete from 表名称 where 列名称 = 值
1、drop(删除表):删除表的内容和定义,释放空间,把整个表都删掉
2、truncate(清空表中的数据):删除表中的内容、释放空间,但不删除定义(保留表的数据结构)
3、delete(删除表中的数据):delete 语句用于删除表中的行。执行删除的过程是每次从表中删除一行,并且同时将该行的删除记录操作作为事务记录在日志中保存,以便进行回滚操作
truncate 与不带 where 的 delete 的区别:只删除数据,而不删除表的结构(定义)
4、truncate table:删除表中的所有行,但表的结构及其列、约束、索引等保持不变
5、对于有外键约束引用的表,不能使用 truncate table,而应使用不带 where 子句的 delete 语句
6、执行速度:一般来说,drop 大于 truncate 大于 delete
7、delete 语句是数据库操作语言(dml),事务提交后生效,支持回滚、触发器;truncate、drop 是数据库定义语言(DDL),操作立即生效,不能回滚,操作不触发 trigger
内连接:https://editor.csdn.net/md/?articleId=119756645#_264
外连接:https://editor.csdn.net/md/?articleId=119756645#_284
ATHLETE(Ano, Aname, Asex, Adep)
ITEM(Ino, Iname, Ilocation)
SCORE(Ano, Ino, Score)
https://editor.csdn.net/md/?articleId=119756645#MySQL_462
1.数据结构化
2.数据的共享性高,冗余度低,易扩充
3.数据独立性高
4.数据由DBMS统一管理和控制
MongoDB, Cassandra, CouchDB, Hypertable, Redis, Riak, Neo4j, HBASE, Couchbase, MemcacheDB, RevenDB and Voldemort
Oracle、MySQL/MariaDB、SQL Server、PostgrcSQL、 DB2
牛客网
答案:
A 获取网站用户注册的个人资料信息
B 获得其它用户的Cookie值
C 冒用网站用户的身份发布信息
A 类最多:2^24 -1(网络号 8 位,主机号 24 位)
定义:在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间
https://www.cnblogs.com/lancidie/archive/2011/08/20/2147040.html
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
栈是私有的,堆是公有的
在多线程环境下,每个线程拥有一个栈和一个程序计数器。栈和程序计数器用来保存线程的执行历史和线程的执行状态,是线程私有的资源。其他的资源(比如堆、地址空间、全局变量)是由同一个进程内的多个线程共享。
https://blog.csdn.net/ffsiwei/article/details/81230374
https://www.cnblogs.com/hanxiaobei/p/5514544.html
将标准输出重定向到标准错误信息输出
1、Linux 中支持输入输出重定向,0、1和2分别表示标准输入、标准输出和标准错误信息输出,可以用来指定需要重定向的标准输入和标准输出,例如 2>a.txt
表示将错误信息输出到文件 a.txt 中
2、可以在这三个标准输入输出之间实现重定向,例如将错误信息重定向到标准输出,2>&1
https://www.cnblogs.com/flyor/p/6411140.html
class Solution:
# 返回从尾部到头部的列表值序列,例如[1,2,3]
def printListFromTailToHead(self, listNode):
# write code here
stack = []
while listNode:
stack.append(listNode.val)
listNode = listNode.next
return stack[::-1]
class Solution:
def FindGreatestSumOfSubArray(self, array):
# write code here
n = len(array)
dp = [ i for i in array]
for i in range(1,n):
dp[i] = max(dp[i-1]+array[i], array[i])
return max(dp)
dp [i] 表示以元素 array[i] 结尾的最大连续子数组和
以 [1,-2,3,10,-4,7,2,-5] 为例:
dp[0] = 1, dp[1] = -1, dp[2] = 3, dp[3] = 13, …
以此类推,dp[i] = max(dp[i-1]+array[i], array[i])
class Solution:
def merge(self , A, m, B, n):
# write code here
while n:
A[m] = B[n-1]
n -= 1
m += 1
return A.sort()
描述:某个红包金额出现的次数超过了红包总数的一半,给定一个红包金额数组 gifts ,及它的大小 n ,请返回所求红包的金额。若没有金额超过总数的一半,返回 0
https://www.nowcoder.com/practice/e8a1b01a2df14cb2b228b30ee6a92163?tpId=13&rp=1&ru=%2Fta%2Fcoding-interviews&qru=%2Fta%2Fcoding-interviews%2Fquestion-ranking
解题思路:排序找中间
1、对数组进行排序,用到 Python 中的 sort() 方法,默认升序排序
2、for 循环遍历排序后的数组,找到中间的元素,将它返回,即为所求红包金额
class Solution:
def MoreThanHalfNum_Solution(self, numbers):
# write code here
numbers.sort()
count = 0
n = len(numbers) // 2
for i in numbers:
if i == n:
count += 1
return numbers[n]
删除给定字符串内相邻并相同的字母。反复执行重复项删除操作
给定一个整数,检查他是否为交替位二进制数
提高交付软件的质量和效率
答:https://blog.csdn.net/qq_41949208/article/details/106670596
压力测试:是在一定的负荷条件下,长时间连续运行系统给系统性能造成的影响
负载测试:在一定的工作负荷下,给系统造成的负荷及系统响应的时间。
TPS:Transactions Per Second,意思是每秒事务数,具体事务的定义,都是人为的,可以一个接口、多个接口、一个业务流程等等。一个事务是指事务内第一个请求发送到接收到最后一个请求的响应的过程,以此来计算使用的时间和完成的事务个数。
以单接口定义为事务为例,每个事务包括了如下3个过程:
a.向服务器发请求
b.服务器自己的内部处理(包含应用服务器、数据库服务器等)
c.服务器返回结果给客户端
如果每秒能够完成N次这三个过程,tps就是N;
如果多个接口定义为一个事务,那么,会重复执行abc,完成一次这几个请求,算做一个tps。
QPS:Queries Per Second,意思是每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数),显然,这个不够全面,不能描述增删改,所以,不建议用qps来作为系统性能指标。
区别: 如果是对一个查询接口(单场景)压测,且这个接口内部不会再去请求其它接口,那么tps=qps,否则,tps≠qps
如果是容量场景,假设n个接口都是查询接口,且这个接口内部不会再去请求其它接口,qps=n*tps
答:接口规范是api接口文档
https://www.zhihu.com/question/52409287
https://www.cnblogs.com/ustcinfo-qc/p/12124174.html
for(i=0; i<n; i++)
{
if(condition)
...
else
...
}
if(condition)
{
for(i=0; i<n; i++)
...
}
else
{
for(i=0; i<n; i++)
...
}
答:6次,5次
测试用例设计
支付宝蚂蚁森林或微信红包功能
在一个Web测试页面上,有一个输入框,一个计数器(count)按钮,用于计算一个文本字符串中字母a出现的个数
http://www.51testing.com/mobile/view.php?itemid=3959150
SQL查询
‘张’姓学生中平均成绩大于75分的学生信息
https://www.cnblogs.com/anliux/articles/12775188.html
编程
将字符串中"hello word"中的word替换成world
MySQL 中的 union
shell 命令获得域名的 ip 地址
加索引带来的不良影响
常见的网站漏洞
socket
软件工程的主要环节
根据输出和输入的依赖关系设计测试用例的方法
数据结构测试
string s = new string(“xyz”)
改变文件所有者的命令:chmod
输入条件的组合情况,选择什么方法:因果图法
自动化测试局限性
单元测试的依据
typedef struct{
int32_t a;
char b;
double c;
}T;
sizeof(T)=