华为软件机试试题及答案
华为IT软件测试笔试题
华为IT软件测试笔试题
it名企软件测试快开始了,下面人才网小编为大家带来的是华为it 软件测试笔试题,希望对大家有所帮助~
判断题(10*1分):
1、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象*。(√)
2、白盒测试侧重于程序结构,黑盒测试侧重于功能,其中白盒测试需要程序员参与,黑盒测试不需要(×)
3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。(√)
4、集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试(×)
5、系统测试应尽可能在实际运行使用环境下进行(√)
6、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。(√)
7、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。(×)
8、程序、需求规格说明、设计规格说明都是软件测试的对象(√)
9、第三方测试是在开发方与用户方的测试基础上进行的验*测试(×)
10、数据流图和数据字典共同构成系统的逻辑模型。(√)
选择题(20*2分):
1、软件测试的目的正确的是(d)
①测试是为了发现程序中的错误而执行程序的过程;
②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;
③成功的测试是发现了至今为止尚未发现的错误的测试
④测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误
的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;
华为机考题目及答案
华为机考题目及答案
1.删除字符串中所有给定的子串(40分)
问题描述:
在给定字符串中查找所有特定子串并删除,如果没有找到相应子串,则不作任何操作。
要求实现函数:
int delete_sub_str(const char *str, const char *sub_str, char *result_str)
【输入】:str(输入的被操作字符串)、sub_str(需要查找并删除的特定子字符串)
【输出】:result_str(在str字符串中删除所有sub_str子字符串后的结果)
【返回】:删除的子字符串的个数
注:
I、子串匹配只考虑最左匹配情况,即只需要从左到右进行字串匹配的情况。比如:在字符串"abababab"中,采用最左匹配子串"aba",可以匹配2个"aba"字串。如果匹配出从左到右位置2开始的"aba",则不是最左匹配,且只能匹配出1个"aba"字串。
II、输入字符串不会超过100 Bytes,请不用考虑超长字符串的情况。
示例
输入:str = "abcde123abcd123"
sub_str = "123"
输出:result_str = "abcdeabcd"
返回:2
输入:str = "abcde123abcd123"
sub_str = "1234"
输出:result_str = "abcde123abcd123"
返回:0
我的答案:
#include
#include
int delete_sub_str(const char *str, const char *sub_str, char *result_str);
华为面试笔试题目(附答案).doc
华为面试/笔试题目(附答案)
(1)什么是预编译,何时需要预编译:
答案:
1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
(2)char * const p char const * p const char *p 上述三个有什么区别?
答案:
char * const p; //常量指针,p的值不可以修改
char const * p;//指向常量的指针,指向的常量值不可以改 const char *p; //和char const *p (3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; cout < < ( str7 == str8 ) < < endl;
结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域。
华为软件笔试
1)什么是预编译,何时需要预编译:
1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
2)char * const p char const * p const char *p 上述三个有什么区别?
答案:
char * const p; //常量指针,p的值不可以修改
char const * p;//指向常量的指针,指向的常量值不可以改
const char *p;//和char const *p 相同
3)char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout < < ( str1 == str2 ) < < endl; cout < < ( str3 == str4 ) < < endl; cout < < ( str5 == str6 ) < < endl; cout < < ( str7 == str8 ) < < endl;
结果是:0 0 1 1 str1,str2,str3,str4是数组变量,它们有各自的内存空间;而str5,str6,str7,str8是指针,它们指向相同的常量区域
华为机试题目全解
华为机试题
【2011】
1、
(stdlib.h里面定义了五种类型、一些宏和通用工具函数。类型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t;宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等;常用的函数如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit())
#include
#include
#include
#include
#define LENGTH 13
int verifyMsisdn(char *inMsisdn)
{
char *pchar=NULL;
assert(inMsisdn!=NULL);
if(LENGTH==strlen(inMsisdn))
{
if(('8'==*inMsisdn)&&(*(inMsisdn+1)=='6'))
{
while(*inMsisdn!='\0')
{
if((*inMsisdn>='0')&&(*inMsisdn<='9'))
inMsisdn++;
else
return 2 ;
}
}
else
return 3;
}
else
return 1;
return 0;
}
int main()
{
char *pchar=NULL;
unsigned char ichar=0;
int result;
switch(ichar)
{
case 0:
pchar="8612345363789";break; case 1:
最全华为上机试题及部分答案
2011年华为软件校园招聘编程测验
1、请上机编写程序,按题目要求提交文件。[详见考试说明,点击进入考试说明]
3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设输出。两者相同则得分,不同则不得分。
4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情况
5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误
6、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余用例不被执行,无法得分
7、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目
(17)1,判断电话号码是否合法:
//要注意情况包含,有可能会同时出现几种不好的情况,要按照顺序输出错误。不能同时输出好几种错误,应该是这样包含:先判断长度是否符合,再判断是否以86打头,再判断有无其他字符
int fun(char num[])
{ char *p=num;
int n=strlen(num);
if(n==13){
if(*p=='8'&&*(p+1)=='6')
while(*p!='\0'){
if(*p>='0'&&*p<='9')
p++;
else
return 2;
if(*p=='\0')
return 0;
}
else return 3;
}
else
return 1;
}
int main()
{
char num[]="87139a3887671";
int k=fun(num);
华为机试题目
华为机试题目
字符串通配查找
描述: 请用程序实现带有通配符(?与*)的字符串匹配功能。
代表单个字符,*代表任意个(0或多个)字符
运行时间限制: 无限制
内存限制: 无限制
输入: 带有通配符的模式串和目标串,长度均不超过20。
模式串在前,目标串在后。
输出: 输出第一个匹配位置的下标值(字符串起始开始就匹配上的值为0),若没有匹配的位置则输出-1
样例输入: ?^_^*
abc^_^abc
样例输出: 2
答案提示: 2
/*
* 封装PPP数据包
描述: 计算机通信中会使用多种协议,TCP/IP协议族是最常见的一组,其中有一个链路层协议叫PPP协议,也称点到点协议,比如家庭使用的ADSL拨号链路层使用的就是PPP协议,底层使用是以太网协议,也称PPPOE。PPP协议也规定了自己的组包方式,也就是上层协议的数据,抵达PPP层时,会再次添加包头和包尾,继而传输到更底层的协议。下面介绍下PPP协议打包的基本规则,根据该规则,按照要求读取原始数据,组包成PPP规定的新数据。
PPP数据包格式简介:
-------------------------------------------------------------
|标志 | 地址 | 控制 | 协议 | 信息 | CRC校验 | 标志|
------------------------------------------------------------
1字节 1字节 1字节 2字节 N字节 2字节 1字节
标志:PPP包的开头和结尾,1字节长度,固定为0x7e
应聘华为软件的上机试题及部分答案
1,判断电话号码是否合法:
//要注意情况包含,有可能会同时出现几种不好的情况,要按照顺序输出错误。不能同时输出好几种错误,应该是这样包含:先判断长度是否符合,再判断是否以86打头,再判断有无其他字符
int fun(char num[])
{ char *p=num;
int n=strlen(num);
if(n==13){
if(*p=='8'&&*(p+1)=='6')
while(*p!='\0'){
if(*p>='0'&&*p<='9')
p++;
else
return 2;
if(*p=='\0')
return 0;
}
else return 3;
}
else
return 1;
}
int main()
{
char num[]="87139a";
int k=fun(num);
cout<
return 0;
}
2、数组比较(20分)
•问题描述:
比较两个数组,要求从数组最后一个元素开始逐个元素向前比较,如果2个数组长度不等,则只比较较短长度数组个数元素。请编程实现上述比较,并返回比较中发现的不相等元素的个数
比如:数组{1,3,5}和数组{77,21,1,3,5}按题述要求比较,不相等元素个数为0
数组{1,3,5}和数组{77,21,1,3,5,7}按题述要求比较,不相等元素个数为3
•要求实现函数:
int array_compare(int len1, int array1[], int len2, int array2[]) •示例
1)输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5},int len2 = 5 函数返回:0
华为测试面试题目(有答案)
1。什么是预编译,何时需要预编译:
答案:1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
2。char * const p
char const * p
const char *p
上述三个有什么区别?
答案:
char * const p; //常量指针,p的值不可以修改
char const * p;//指向常量的指针,指向的常量值不可以改
const char *p;//和char const *p
3。char str1[] = "abc";
char str2[] = "abc";
const char str3[] = "abc";
const char str4[] = "abc";
const char *str5 = "abc";
const char *str6 = "abc";
char *str7 = "abc";
char *str8 = "abc";
cout << ( str1 == str2 ) << endl;
cout << ( str3 == str4 ) << endl;
cout << ( str5 == str6 ) << endl;
cout << ( str7 == str8 ) << endl;
结果是:0 0 1 1
str1,str2,str3,str4是数组变量,它们有各自的内存空间;
【试题】从网上整理的华为机试题目
【关键字】试题
一、华为机试——2018年校招
10号参加的华为的机试,这次的3道题难度适中。第一题字符串,第二题贪心算法(会不会?),dp可以解,第三题长整数相乘。因为题主做过第三题原题,刚开始就把第三题秒了~~
然后开始做第一题,一般10分钟就可以搞定。第二题要想一下,不过也差不多是原题,Le etcode上第55题jump game应该是此题原型。
因为都刷过几乎是原题的原故,一个小时不到3题就AC完了
下面是完整题目和代码
题目一、给你一个原始字符串,根据该字符串内每个字符出现的次数,按照ASCII码递增顺序重新调整输出。
举例!假设原始字符串为
eeefgghhh
则每种字符出现的次数分别是
1.eee 3次
2.f 1次
3.gg 1次
4.hhh 3次
重新排序后输出的字符串如下:
efghegheh
编写程序,实现上述功能。
【温馨提示】
1.原始字符串中仅可能出现“数字”和“字母”;
2.请注意区分字母大小写。
1.#include <iostream>
2.#include <map>
3.#include <vector>
4.#include <algorithm>
ing namespace std;
6.int main(){
7. string str;
8. int a[128]={0};
9. while (cin >> str){
10. for(int i=0;i<str.length();i++){
11. a[str[i]]++;
12. } //caculate the number of each character
华为机考试题+答案
1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分= 专家评委平均分* 0.6 + 大众评委* 0.4,总分取整。如果没有大众评委,则总分= 专家评委平均分,总分取整。函数最终返回选手得分。
函数接口int cal_score(int score[], int judge_type[], int n)
#include
int cal_score(int score[], int judge_type[], int n)
{
int i =0;
int sum1=0, sum2=0;
int count1=0,count2=0;
int zhongfen=0;
for(i =0; i
{
if(1==judge_type[i])
{
sum1+=score[i];
count1++;
}
else //if(2==judge_type[i])
{
sum2+=score[i];
count2++;}
}
if(count2==0)
{
zhongfen = sum1;
}
else{
zhongfen = int ((sum1/count1)*0.6 +(sum2/count2)*0.4);
}
return zhongfen;
}
int main()
华为公司软件笔试试卷 精品
华为公司软件笔试试卷(C/C++)
一、填空题
1-1
1-2、头文件中#ifndef/#define/#endif
1-3、在如下的二叉数树中:
请写出前序遍历为:ABDCEGFHI(也称前序周游)
扩展知识:
前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
若二叉树为空则结束返回,否则:
(1)访问根结点
(2)前序遍历左子树
(3)前序遍历右子树
注意的是:遍历左右子树时仍然采用前序遍历方法。
如上图所示二叉树
前序遍历,也叫先根遍历,遍历的顺序是:根,左子树,右子树
遍历结果:ABDECF
中序遍历,也叫中根遍历,顺序是:左子树,根,右子树
遍历结果:DBEAFC
后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根
遍历结果:DEBFCA
1-4、以下为32位操作系统下的C 程序,请计算sizeof的值
a)
char str[]=”hello”;
char *p = str;
int n = 10;
请计算:
sizeof { str } =6
sizeof { p } = 4
sizeof { n } = 4
b)
void Func { char str[100]}
{
sizeof { str } =4
}
c)
void *p = malloc { 100}
sizeof {p}=4
二、选择题
2-1、在一种语言中,运算符是从右向左结合的(例如:a+b+c=a+(b+c));下面表达式“7-(16/(3+10*2)-4”的结果是:(C)
A -1
B 1
C 3
D 7
华为面试问题答案
华为面试问题答案
这是一篇由网络搜集整理的关于华为面试问题答案的文档,希望对你能有帮助。
1、下列哪些语句关于内存回收的说明是正确的? (b )
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
2、下面异常是属于Runtime Exception 的是(abcd)(多选)
A、ArithmeticException
B、IllegalArgumentException
C、NullPointerException
D、BufferUnderflowException
3、Math.round(11.5)等于多少(). Math.round(-11.5)等于多少(c). c
A、11 ,-11
B、11 ,-12
C、12 ,-11
D、12 ,-12
4、下列程序段的输出结果是:(b ) void complicatedexpression_r(){ int x=20, y=30; boolean b; b=x>50&&y>60||x>50&&y60||x A、true
B、false
C、1
D、011.activity
5. 对一些资源以及状态的操作保存,最好是保存在生命周期的哪个函数中进行(d)
A、onPause()
B、onCreate()
C、onResume()
D、onStart()
5、Intent传递数据时,下列的数据类型哪些可以被传递(abcd)(多选)
A、Serializable
B、charsequence
华为校园招聘软件研发上机测试题及部分解答+
以下是收集到的两套题(没有添加答案),上机测试只有应聘软件研发的才会碰到。有的写了点自己的解法,如果大家有好的想法欢迎讨论!大家一起学习嘛!
以下是上机考试的一些注意事项:
(1)考试时长为2个小时,总共有3个题(去年是2个题,难度要比今年大些),编译环境为VC 6.0(C语言)/ Eclipse(Java);
(2)3个题目中大致第一个题是最简单的,第三个题是最难的;
(3)从服务器上下载题目下来后最好能把工程保存到在电脑重启后不会自动还原的磁盘分区下面,这样不致由于各种意外因素电脑重启过后编的程序不会消失;
(4)不要改动所给函数的原型,可以自己添加函数。另外,华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数。
试题1:2011.9.6 转载自:
/liuqiqi677/article/details/6755498
1、选秀节目打分,分为专家评委和大众评委,score[] 数组里面存储每个评委打的分数,judge_type[] 里存储与score[] 数组对应的评委类别,judge_type[i] == 1,表示专家评委,judge_type[i] == 2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数先分别取一个平均分(平均分取整),然后,总分= 专家评委平均分* 0.6 + 大众评委* 0.4,总分取整。如果没有大众评委,则总分= 专家评委平均分,总分取整。函数最终返回选手得分。
函数接口int cal_score(int score[], int judge_type[], int n)
华为2023年北京软件工程师上机机测编程题目
华为2023北京软件工程师上机机测编程题目华为2023年校招机测题目
华为2023年,在北京的软研工程师,需要参与机测,机测通过后,进入面试。
机测时间是30分钟,分批进展。在线提交系统,效劳器会编译,给出结果。语言可以选择C,C++,Java.系统给出编译结果,也许分为:编译错误,答案错误,正确这几类。
北京机测一共2个编程题,没有其他题。任意选一个答题,2个都做更好。
【提示】:
1、系统有时提交会出问题,建议编完之后,保存在txt文档里,万一提交失败,可以直接粘贴,重新提交;
2、有任何问题,立刻找考官,不然很铺张时间。
3、答对了,时间越短,分数越高。据考官说“答案错误”,他们会看程序,给分。没说编译错误会不会。反正答题的人许多,编译错误的一大堆,估量他们不会管了。答案错误那种,估量他们也来不及细看。所以,还是尽量做到正确吧,不然很难有时机。
4、超出30分钟后,修改也行,不过超时会影响分数。30分钟前,肯定要提交1次,不要写了半天,没提交。答案没对的话,建议超时了也要修改,不然,就没戏了。
以下是题目,不是原文,但是要点没错:
1、推断比整数N小的数里,有多少个与7相关的数。与7相关指:7的倍数或者带有7的数(比方7、14、17、27)。只需要给出总的个数,不需要输出它们。N小于30000.
2、给一个数组,输出数组里超出全部元素平均值的元素的个数。比方:1、2、
3、
4、5,输出3. int get(intiArray[],intiLen).