华为软件研发岗笔试题总结

合集下载

华为校园招聘软件研发上机测试题及部分解答+

华为校园招聘软件研发上机测试题及部分解答+

以下是收集到的两套题(没有添加答案),上机测试只有应聘软件研发的才会碰到。

有的写了点自己的解法,如果大家有好的想法欢迎讨论!大家一起学习嘛!以下是上机考试的一些注意事项:(1)考试时长为2个小时,总共有3个题(去年是2个题,难度要比今年大些),编译环境为VC 6.0(C语言)/ Eclipse(Java);(2)3个题目中大致第一个题是最简单的,第三个题是最难的;(3)从服务器上下载题目下来后最好能把工程保存到在电脑重启后不会自动还原的磁盘分区下面,这样不致由于各种意外因素电脑重启过后编的程序不会消失;(4)不要改动所给函数的原型,可以自己添加函数。

另外,华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数。

试题1:2011.9.6 转载自:/liuqiqi677/article/details/67554981、选秀节目打分,分为专家评委和大众评委,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)(这个问题很简单,应该只是涉及了下double/int转换)2、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

华为IT软件测试笔试题

华为IT软件测试笔试题

华为IT软件测试笔试题it名企软件测试快开始了,下面人才网小编为大家带来的是华为it 软件测试笔试题,希望对大家有所帮助~判断题(10*1分):1、软件是一种逻辑实体,而不是具体的物理实体,因而它具有抽象*。

(√)2、白盒测试侧重于程序结构,黑盒测试侧重于功能,其中白盒测试需要程序员参与,黑盒测试不需要(×)3、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。

(√)4、集成测试也叫做组装测试,通常在编码完成的基础上,将所有的程序模块进行有序的、递增的测试(×)5、系统测试应尽可能在实际运行使用环境下进行(√)6、详细设计的目的是为软件结构图中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。

(√)7、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。

(×)8、程序、需求规格说明、设计规格说明都是软件测试的对象(√)9、第三方测试是在开发方与用户方的测试基础上进行的验*测试(×)10、数据流图和数据字典共同构成系统的逻辑模型。

(√)选择题(20*2分):1、软件测试的目的正确的是(d)①测试是为了发现程序中的错误而执行程序的过程;②好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;③成功的测试是发现了至今为止尚未发现的错误的测试④测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;a、①b、①②③c、②③④d、①②③④2、软件测试的对象包括(b)a.目标程序和相关文档b.源程序、目标程序、数据及相关文档c.目标程序、*作系统和平台软件d.源程序和目标程序3、从是否关心软件内部结构和具体实现的角度划分。

(b)a、静态测试、动态测试b、黑盒测试、白盒测试、灰盒测试c、单元测试、集成测试、确认测试、系统测试、验收测试d、以上都不对4、关于软件测试模型,描述正确的是(c)a、v模型测试的对象就是程序本身,测试与开发可以同一阶段进行b、w模型测试的对象是程序,需求、设计等,可以支持迭代的开发模型c、h模型软件测试过程活动完全*,贯穿产品整个生命周期,与其他流程并发地进行。

华为软件测试笔试题

华为软件测试笔试题

华为软件测试笔试题
华为软件测试笔试题
华为软件测试笔试题
前面几道大题是基础形的判断、选择、阅读理解题,涉及到网络、通信、软件工程等等,都是大英文。

不过不难,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 语言。

(从小到大排序)。

华为校园招聘软件工程师笔试题

华为校园招聘软件工程师笔试题

一、判断题〔对的写 T,错的写 F 并说明原因,每题 4 分,共 20 分〕1、有数组定义 int a[2][2]={{1},{2,3}};那末 a[0][1]的值为 0。

〔〕2、int (*ptr) (),那末 ptr 是一维数组的名字。

〔〕3、指针在任何情况下都可发展>, <, >=, <=, = =运算。

〔〕4、switch(c) 语句中 c 可以是 int, long, char, float, unsigned int 类型。

〔〕5、#define print(x) printf("the no, "#x",is ")二、填空题〔共 30 分〕1、在 windows 下,写出运行结果,每空 2 分,共 10 分。

char str[ ]= "Hello" ;char *p=str;int n=10;sizeof(str)=( )sizeof(p)=( )sizeof(n)=( )void func(char str[100]){ }sizeof(str)=( )2、void setmemory(char **p, int num){ *p=(char *) malloc(num);}void test(void){ char *str=NULL;getmemory(&str,100);strcpy(str,"hello");printf(str);}运行 test 函数有什么结果?〔〕10 分3、设 int arr[]={6,7,8,9,10};int *ptr=arr;(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));( ) 10 分二、编程题〔第一小题 20,第二小题 30 分〕1、不使用库函数,编写函数 int strcmp(char *source, char *dest)相等返回 0,不等返回-1;2、写一函数 int fun(char *p)判断一字符串是否为回文,是返回1,不是返回 0,出错返回-1〔1〕什么是预编译,何时需要预编译:答案:1、总是使用不时常改动的大型代码体。

华为软件研发岗笔试题总结

华为软件研发岗笔试题总结
9。写一个“标准”宏,这个宏输入两个参数并返回较小的一个。答案:.#defineMin(X,Y)((X)>(Y)(Y):(X))b=a^b;a=a^b;ora^=b^=a;
和c++中的struct有什么不同答案:c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private
8。char*s="AAA";printf("%s",s);s[0]='B';printf("%s",s);有什么错
答案:"AAA"是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。cosntchar*s="AAA";然后又因为是常量,所以对是s[0]的赋值操作是不合法的。(特殊得全局只读字符串常量,不能对其进行修改)
相等返回0,不等返回-1;
2、写一函数intfun(char*p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
(1)什么是预编译,何时需要预编译:
答案:
1、总是使用不经常改动的大型代码体。
2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。
18.#include<>#include<>voidgetmemory(char*p){p=(char*)malloc(100);strcpy(p,"helloworld");}intmain(){char*str=NULL;getmemory(str);printf("%s/n",str);free(str);return0;}答案:程序崩溃,getmemory中的malloc不能返回动态内存,free()对str操作很危险

华为历年笔试题大汇总

华为历年笔试题大汇总

2010校园招聘笔试题目分享 (1)应聘华为各类工程师通信基础题库以及答案 (1)华为资金管理岗笔试 (10)华为厦门销售融资岗笔试 (12)华为财经笔试 (12)华为会计笔试 (12)华为软件工程师笔试题 (13)华为硬件笔试题 (18)研发(软件) (18)武汉华为笔试归来(财经类资金管理销售融资岗) (20)2008-2009校园招聘笔试题目分享 (21)华为笔试 (21)华为笔试回来 (22)华为的C语言笔试题 (23)华为C/C++笔试题 (24)2010校园招聘笔试题目分享应聘华为各类工程师通信基础题库以及答案电信基础知识题库(以下题目可以按填空、判断或简答方式出题,也可以经过变化成为选择题)1、语音信号数字化过程中,采用的是的量化方法是非均匀量化。

2、PCM30/32路系统中,每个码的时间间隔是488ns。

3、PCM30/32路系统中,TS0用于传送帧同步信号,TS16用于传送话路信令。

4、PCM30/32路系统中,复帧的重复频率为500HZ,周期为2ms。

5、程控交换机的硬件可分为话路系统和中央控制系统两部分,整个交换机的控制软件都放在控制系统的存储器中。

6、一般二氧化硅光纤的零色散波长在1310nm左右,而损耗最小点在1550nm波长左右。

7、G.652光纤是零色散波长在1310nm的单模光纤。

8、光缆的基本结构由缆芯、加强元件和护套组成。

9、常用的光缆结构形式有层绞式光缆、束管式光缆、骨架式光缆和带状式光缆。

10、在网状网的拓扑结构中,N个节点完全互连需要N(N-1)/2条传输线路。

11、在星型网的拓扑结构中,N个节点完全互连需要N-1条传输线路。

12、A TM技术是电路交换技术和分组交换技术的结合。

13、根据98年发布的《自动交换电话(数字)网技术体制》,我国电话网分为三级。

14、根据新的电话网体制,我国长途电话网分为二级。

15、当电话网全网为三级时,两端局之间最大的串接电路段数为5段,串接交换中心最多为6个。

华为软件笔试

华为软件笔试

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是指针,它们指向相同的常量区域4)一个32位的机器,该机器的指针是多少位答案:指针是多少位只要看地址总线的位数就行了。

华为校园招聘软件工程师笔试题

华为校园招聘软件工程师笔试题

华为校园招聘软件工程师笔试题一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。

()2、int (*ptr) (),则ptr是一维数组的名字。

()3、指针在任何情况下都可进行>, <, >=, <=, = =运算。

()4、switch(c) 语句中c可以是int, long, char, float, unsigned int 类型。

()5、#define print(x) printf("the no, "#x",is ")二、填空题(共30分)1、在windows下,写出运行结果,每空2分,共10分。

char str[ ]= "Hello";char *p=str;int n=10;sizeof(str)=( )sizeof(p)=( )sizeof(n)=( )void func(char str[100]){ }sizeof(str)=( )2、void setmemory(char **p, int num){ *p=(char *) malloc(num);}void test(void){ char *str=NULL;getmemory(&str,100);strcpy(str,"hello");printf(str);}运行test函数有什么结果?()10分3、设int arr[]={6,7,8,9,10};int *ptr=arr;(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));( ) 10分二、编程题(第一小题20,第二小题30分)1、不使用库函数,编写函数int strcmp(char *source, char *dest)相等返回0,不等返回-1;2、写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1(1)什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作系统(Operating System,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。

操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,计算机资源的利用效率更高,上层的应用程序可以获得比硬件提供的功能更多的支持。

操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。

目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows2000、Netware等。

华为软件笔试题一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。

(正确)2、int (*ptr) (),则ptr是一维数组的名字。

(错误)3、指针在任何情况下都可进行>, <, >=, <=, = =运算。

(正确)4、switch(c) 语句中c可以是int, long, char, float, unsigned int 类型。

(错误)5、#define print(x) printf("the no, "#x",is ") (正确)二、填空题(共30分)1、在windows下,写出运行结果,每空2分,共10分。

char str[ ]= "Hello";char *p=str;int n=10;sizeof(str)=(6)sizeof(p)=( 4)sizeof(n)=(4 )void func(char str[100]){ }sizeof(str)=(4 )2、void setmemory(char **p, int num){ *p=(char *) malloc(num);}void test(void){ char *str=NULL;getmemory(&str,100);strcpy(str,"hello");printf(str);}运行test函数有什么结果?(hello)10分3、设int arr[]={6,7,8,9,10};int *ptr=arr;(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));(8,8 ) 10分二、编程题(第一小题20,第二小题30分)1、不使用库函数,编写函数int strcmp(char *source, char *dest)相等返回0,不等返回-1;2、写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1(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是指针,它们指向相同的常量区域。

(4)以下代码中的两个sizeof用法有问题吗?[C易]void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母{for( size_t i=0; i <sizeof(str)/sizeof(str[0]); ++i )if( 'a' <=str[i] && str[i] <='z' )str[i] -= ('a'-'A' );}char str[] = "aBcDe";cout < < "str字符长度为: " < < sizeof(str)/sizeof(str[0]) < < endl;UpperCase( str );cout < < str < < endl;答案:函数内的sizeof有问题。

根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。

函数外的str是一个静态定义的数组,因此其大小为6,因为还有'\0',函数内的str实际只是一个指向字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于上只将其当指针看,一个指针为4个字节,因此返回4。

(5)一个32位的机器,该机器的指针是多少位答案:指针是多少位只要看地址总线的位数就行了。

80386以后的机子都是32的数据总线。

所以指针的位数就是4个字节了。

6。

main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}答案:2。

5*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5 &a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)int *ptr=(int *)(&a+1); 则ptr 实际是&(a[5]),也就是a+5 原因如下:&a是数组指针,其类型为int (*)[5]; 而指针加1要根据指针类型加上一定的值,不同类型的指针+1之后增加的大小不同a是长度为5的int 数组指针,所以要加5*sizeof(int) 所以ptr实际是a[5] 但是prt与(&a+1)类型是不一样的(这点很重要) 所以prt-1只会减去sizeof(int*) a,&a的地址是一样的,但意思不一样,a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a+1是下一个对象的地址,即a[5].7。

请问以下代码有什么问题:int main(){char a;char *str=&a;strcpy(str,"hello");printf(str);return 0;}答案:没有为str分配内存空间,将会发生异常问题出在将一个字符串复制进一个字符变量指针所指地址。

虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。

8。

char* s="AAA"; printf("%s",s); s[0]='B'; printf("%s",s); 有什么错?答案:"AAA"是字符串常量。

s是指针,指向这个字符串常量,所以声明s的时候就有问题。

cosnt char* s="AAA"; 然后又因为是常量,所以对是s[0]的赋值操作是不合法的。

(特殊得全局只读字符串常量,不能对其进行修改)9。

写一个“标准”宏,这个宏输入两个参数并返回较小的一个。

答案:.#define Min(X, Y) ((X)>(Y)?(Y):(X)) //结尾没有‘;’10。

嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。

答案:while(1){}或者for(;;) 11。

关键字static的作用是什么?答案:定义静态变量12。

关键字const有什么含意?答案:表示常量不可以修改的变量。

13。

关键字volatile有什么含意?并举出三个不同的例子?答案:提示编译器对象的值可能在编译器未监测到的情况下改变。

14。

int (*s[10])(int) 表示的是什么啊?答案:int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。

15。

有以下表达式:int a=248; b=4;int const c=21;const int *d=&a; int *const e=&b;int const *f const =&a; 请问下列表达式哪些会被编译器禁止?为什么?答案:*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f; *c 这是个什么东东,禁止*d 说了是const,禁止e = &a 说了是const 禁止const *f const =&a; 禁止16交换两个变量的值,不使用第三个变量。

即a=3,b=5,交换之后a=5,b=3; 答案:有两种解法, 一种用算术算法, 一种用^(异或) a = a + b; b = a - b; a = a - b; or a = a^b;// 只能对int,char..b = a^b; a = a^b; or a ^= b ^= a;17.c和c++中的struct有什么不同?答案:c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。

相关文档
最新文档