【持续更新中】腾讯软件测试笔试20150905

软件测试腾讯笔试题,包含25道不定项选择题和25道应用题,用时2个小时。

话说在笔试前去看了很多关于软件测试类的资料,结果很多都没用上,sad sad的~好吧,题外话就不说了,直接进入主题:(下面仅包含自己记得的题目)

知识点1.后序遍历

网上找的例题:

后序遍历:(1)左子树 (2)右子树  (3)根节点   

故遍历顺序是:DEBFCA

中序遍历:(1)左子树 (2)根节点  (3)右子树

故遍历顺序是:DBEAFC

先序遍历:(1)根节点 (2)左子树  (3)右子树

故遍历顺序是:ABDECF

2.无法ping通Server的原因

解答:防火墙里面的设置问题。参考资料如下:

windows server 2008解决无法PING通问题

3.有3对父子进行排序,对应的父子不能站在一起,那么有几种排序方式(这个答案待定,求路过大神解决)

4.关于Simulator技术、Mock/Fake技术和Hook技术的应用

软件模拟器(Simulator)

是CCS自带的一种脱离硬件情况下的软件仿真工具;

Fake 
有实际可工作的实现,但是通常有一些缺点导致不适合用于产品(基于内存的数据库就是一个好例子)。

Mock 
预先计划好的对象,带有各种期待,他们组成了一个关于他们期待接受的调用的详细说明。

Hook技术

钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。

5.多进程、多线程

多进程,相当于一个程序,每个进程有自己的地址空间

多线程,相当于一个里的一条命令,共享地址空间

多进程优点:

(1)每个进程互相独立,不影响主程序的稳定性,子进程崩溃没关系;
(2)通过增加CPU,就可以容易扩充性能;
(3)可以尽量减少线程加锁/解锁的影响,极大提高性能,就算是线程运行的模块算法效率低也没关系;
(4)每个子进程都有2GB地址空间和相关资源,总体能够达到的性能上限非常大
多进程缺点:

(1)逻辑控制复杂,需要和主程序交互; 
(2)需要跨进程边界,如果有大数据量传送,就不太好,适合小数据量传送、密集运算 
(3)多进程调度开销比较大; 
最好是多进程和多线程结合,即根据实际的需要,每个CPU开启一个子进程,这个子进程开启多线程可以为若干同类型的数据进行处理。当然也可以利用多线程+多CPU+轮询方式来解决问题;

多线程的优点:

(1)无需跨进程边界; 
(2)程序逻辑和控制方式简单; 
(3)所有线程可以直接共享内存和变量等; 
(4)线程方式消耗的总资源比进程方式好; 
多线程缺点:

(1)每个线程与主程序共用地址空间,受限于2GB地址空间; 
(2)线程之间的同步和加锁控制比较麻烦; 
(3)一个线程的崩溃可能影响到整个程序的稳定性; 
到达一定的线程数程度后,即使再增加CPU也无法提高性能,例如Windows Server 2003,大约是1500个左右的线程数就快到极限了(线程堆栈设定为1M),如果设定线程堆栈为2M,还达不到1500个线程总数; 
线程能够提高的总性能有限,而且线程多需要消耗较多的CPU


6.一个数组a[i]等价于()  A、*(a+i) B、a+1   C、*a+i  D、&a+i

参考资料:二维数组与指针中a[i]和*(a+i)等价问题

7.有一个a[7][8]数组,a[2][3]的地址是1099、 a[5][6]的地址是1153,那么a[6][7]的地址是?

8.DDoS(分布式拒绝服务攻击)  

指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

9.符合数据库第几范式

1NF:字段不可分; 
2NF:有主键,非主键字段依赖主键; 
3NF:非主键字段不能相互依赖;

数据库 三范式最简单最易记的解释

10.十进制数转为十六进制数

解法:

随便举个栗子->十进制数1610转为十六进制为64A

1610/16=100......10(A)

100/16=6......4

6/16=0......6

拓展:

(1)十六进制64A转为十进制

(A)10*16^0 + 4*16^1 + 6*16^2 = 1610

(2)十六进制64A转为二进制(参考列表)

0110 0100 1010

(3)十进制转二进制

1610/2=805......0

805/2=104......1

402/2=201......0

201/2=100......1

100/2=50......0

50/2=25......0

25/2=12......1

12/2=6......0

6/2=3......0

3/2=1.......1

1/2=0......1

最终结果为:110 0100 1010 

(4)二进制转十进制

0*2^0 + 1*2^1 + 0*2^2+ 1*2^3 + 0*2^4 + 0*2^5 + 1*2^6 + 0*2^7 + 0*2^8 + 1*2^9 +1*2^10 =1610

基本上就是C语言和数据结构比较多,另外还有些有Linux、网络拓扑结构、通信网络、计算机基础知识、行测、编程题等等。

所以咧~我要加把劲啦~

参考资料:

十六进制转二进制表:

0--0000

1--0001

2--0010

3--0011

4--0100

5--0101

6--0110

7--0111

8--1000

9--1001

A--1010

B--1011

C--1100

D--1101

E--1110

F--1111


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值