在线笔试题-测试(一)

1、白盒测试方法中,逻辑覆盖发现错误的能力,从强到弱排序为:

路径覆盖、条件组合、判定+条件覆盖、条件覆盖、判定覆盖、语句覆盖

2、解决IP地址资源有限问题:当前使用最多的是NAT方式(多个内网共享一个IP),未来主要通过ipv6方式解决

3、malloc函数与free函数:内存分配函数

(1)malloc:将可用内存块连接为一个长链表

(2)free

**用户free一段内存后,仍然可用调用该指针:因为free只是告诉系统内存可回收,但内存仍然可用访问(值可能发生变化),这种情况叫做野指针。正确的操作是free后把该指针指向null

char *str=(char*)malloc(10); ////指向整型的指针str指向一个大小为10字节的内存的地址

strcpy(str,"CSDN");

free(str)

print("str=%s",str); // 输出结果为:str=

4、new/delete函数

int *p=new int(); //在可存储区分配创建了一个int对象,并返回该对象地址给指针p
delete p; //释放p指向的内存,p不再有效
p=null;

5、实施缺陷跟踪的原因:软件质量无法控制、问题无法量化、重复问题接连产生、解决问题的知识无法保留

6、C++内联函数:以 inline 修饰,可以提升程序运行效率

//如果定义的inline函数体内有递归/循环等,编译时会自动忽略掉内联

//Inline必须与函数定义放在一起,才能成为内联函数,仅将内联放在声明前是不起作用的

7、数据链路层的三个基本问题:封装成帧、透明传输、差错检测

8、修饰符 volatile

在 Java 中 volatile、synchronized 和 final 实现可见性,synchronized 和在 lock、unlock 中操作保证原子性

使用volatile修饰的变量是共享的,变量的更新将被通知到其他线程

在访问volatile变量时不会执行加锁操作,因此也就不会使执行线程阻塞,因此volatile变量是一种比sychronized关键字更轻量级的同步机制。

9、java四种访问修饰符:

修饰符 子类 其他包 备注
public 公开可用
protect × 继承类可访问
defalut × × 包访问权限
private × × × 本类,以及类内部方法可以访问

10、Linux静态/动态库的命名方式

(1)静态库:libXXX.a,其中XXX为静态库名

(2)动态库:libXXX.so

11、内存与CPU间加cache(高速缓存)有什么用:cache速度高于内存,可以提高CPU处理效率

12、final修饰方法的重载与覆盖:

final方法不能被覆盖,可以被重载(重载时方法名相同,参数不同)

13、避免死锁:银行家算法

14、一小时分钟与秒针有59次重合,一天中分钟与时针有22次重合

// 一天之中只有两个12点的时候三个针是完全重合在一起的

15、一个源程序到一个可执行程序的过程:预编译、编译、汇编、链接

预编译:主要处理源代码文件中的以“#”开头的预编译指令

编译:生成汇编代码

汇编:将汇编代码转换为机器指令

链接:组装模块,使各个模块能正确衔接

16、C语言中,函数名代表函数的入口地址

17、Android四大组件:Activity(交互界面)、广播接收器、内容提供者、服务(后台解决方案)

18、测试驱动开发,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。

19

 

你可能感兴趣的:(测评题,测试)