华为面试笔试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华为软件测试笔试题
Posted on 2010年04月1日, 22:29, by admin, under Test.
华为软件测试笔试题
前面几道大题是基础形的判断、选择、阅读理解题,涉及到网络、通信、软件工程等等,都是大英文。不过不难,CET4的水平就差不多了,但是重要的还是计算机方面的一些基础知识。后面的几道大题如下:
1、有A、B两个水杯,都没有刻度,也不允许做刻度。A杯装满水是5升,B杯装满水是3升。不借助别的任何工具,只用这两个杯子如何精确的得到4升水?
A满5 B空
A将B满 A2
清空B
A2移于B
A满5
A5满B
A4
2、软件工程中,根据软件开发的 V 模型,有哪些基本的阶段划分?
3、软件测试方法有哪些分类?各有什么特点?设计测试用例的主要方法有哪些?
4、网络安全方面,简述Syn_FLOOD攻击的原理。你还知道哪些类型的网络攻击?
一、根据一张“策略—收获”图,张三可以选择横向的方案A和方案B,李四可以选择纵向的方案1、方案2、方案3。两人选择方案的交叉点就是两人各自的收获。比如张三选择方案B,李四选择方案1,交叉点是(50,80),则张三收获50元,李四收获80元。两人都想让自己的收获尽可能的高,选择方案时两人均不知对方的选择。问两人最终的收获各是多少?
二、桌上排列着一行乒乓球,一共100个。两个人轮流拿球装入口袋,拿到第100个球的人是胜利者。每次拿球最少拿1个,最多拿5个。如果你先开始拿球,你要拿几个?以后你要怎样拿球,才能保证你能拿到第100个?
三、冒泡排序。用C 或 Java 语言。(从小到大排序)
C
#include
void main()
{
int a[10];
int temp;
int i;
int j;
int x;
a[0] = 3;
a[1] = 4;
a[2] = 54;
a[3] = 654;
a[4] = 77;
a[5] = 8;
a[6] = 9;
a[7] = 366;
a[8] = 90;
a[9] = 32;
for( i=0;i<9;i++)
{
for( j =0; j<9-i;j++)
{
if(a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] =temp;
}
}
}
for(x=0;x<10;x++)
{
printf("%d\t",a[x]);
}
}
JAVA:
package pck;//打开pck数据包
public class Bubble {//建立一个名为Bubble的类
public static void main(String args[]){//建立main函数
int nums[]={99,-10,100123,18,-978,5623,463,-9,287,49};//建立名为nums的数组,包含10个数,并为这10个数初始化值
int a,b,t;建立3个整型变量
System.out.print("Original array is:");//屏幕输出Original array is:这段字符
for(int i=0;i<10;i++)//循环
System.out.print(" "+nums[i]);//屏幕上依次显示空格+nums[0]的数值空格
+nums[1]……+nums[9]
System.out.println();
for(a=1;a<10;a++)
for(b=10-1;b>=a;b--){
if(nums[b-1]>nums[b]){//当后面的数大于前面的数是执行调换
t=nums[b-1];
nums[b-1]=nums[b];
nums[b]=t;
}
}//一段for语句循环,意思是把数组里大的数吊到前面,小的放到后面
System.out.print("Sroted array is:");屏幕上输出Sroted array is:这段字符
for(int i=0;i<10;i++)//循环语句为后面输出nums里的数作准备
System.out.print(" "+nums[i]);//在屏幕上输出空格+nums[0]空格+nums[1]……nums[9] System.out.println();//这句不太清楚,可能是输出空白行
}
}
C#
/**////
/// 冒泡排序
///
/// 源数组 /// 是否倒序 /// 返回数组
private int[] Order(int[] src,bool isDesc)
{
for (int i = 0; i < src.Length - 1; i++)
{
for (int j = 0; j < src.Length - 1; j++)
{
if (isDesc)
{
if (src[j] < src[j + 1])//倒序排列:如果左边小于右边则交换位置
{
int tmp = src[j]; src[j] = src[j + 1]; src[j + 1] = tmp;
}
}
else
{
if (src[j] > src[j + 1])//顺序排列:如果左边小于右边则交换位置
{
int tmp = src[j]; src[j] = src[j + 1]; src[j + 1] = tmp;
}
}
}
}
return src;
}
华为软件测试笔试题主要分三部分:软件基础题、数据结构编程题、数据库题
其中软件基础题题型有:选择(约50题,多为软件工程知识:黑盒测试、软件测试流程等、数据库SQL语言、二叉树中序遍历、数据类型在内存中存储情况、面向对象的含义、队列、栈、堆等)、程序填空(1题,二叉树先序遍历)、写运行结果,还有一个忘记了。
数据结构编程题:给出一组数据,要求按照降序排列。写出设计思想和程序。(冒泡排序)
数据库题:多为问答题,有SQL语言查询,关系数据库......(面试官没让我做,但是瞟了
一眼题目,有一大版,感觉有点深)
面试中涉及:1.介绍过去两年的项目情况(内容、自己担任的工作)