华为软件研发岗笔试题总结
华为校园招聘软件研发上机测试题及部分解答+
以下是收集到的两套题(没有添加答案),上机测试只有应聘软件研发的才会碰到。
有的写了点自己的解法,如果大家有好的想法欢迎讨论!大家一起学习嘛!以下是上机考试的一些注意事项:(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 软件测试笔试题,希望对大家有所帮助~判断题(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、总是使用不时常改动的大型代码体。
华为软件研发岗笔试题总结
和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.面向对象语言的特征中字符流和字节流的区别?2.和的区别的生命周期? 的生命周期?3.协议是长连接还是短连接?4.的基本数据类型有那些? 是不是基本类型?5.的概念和在项目中的应用?6.如何避免多个的读写阻塞1.4新增了那些方法解决这个问题?7.如果一个变量的值为,观察以下程序:8.变量分支1;分支2;程序最终执行那一个分支?9.中有那些重定向方法,它们的区别的优势和特点和的区别?10.在数据库中,一个表被删除后,还能否将空间分配给其它表哪?11.在数据库中,一个表有两千万条数据,怎样最有效的将其删除?12.在数据库中,如果处理表中的每一条数据,用那种方法?13.发送一条邮件的几个步骤在中如何初始化上下文14.常用的组件技术?会话的属性?实体的属性?15.与的区别?16.编程具体步骤?事务模式?17.容器管理事务的事务属性为的意义18.事务失败时的会话的重新初始化方法19.中开发应用通常遵循的步骤试题二:分类试题(分类必作题)基础1.作用域,以与不写时的区别?2.和的区别, 和的区别3.型变量中能不能存贮一个中文汉字?为什么?4.多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?5.继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?6.内部类的实现方式?父类:;{(){(" ");}}子类:;;{(){(" ");}([] ){= ();= ();}}输出结果:7. 3. ?( .){d1 = 1.0;}3.( .)A. { .静态内部类可以有静态成员,而非静态内部类则不能有静态成员 () { d1;}}B. { .静态内部类可以有静态成员,而非静态内部类则不能有静态成员() { d1;}}C. {() { d1;}}D. {() { d1;} 静态内部类的非静态成员不可访问外部类的非静态变量}E. {();}8.垃圾回收机制,如何优化程序?9.型 3.4是否正确?10.介绍中的 (包括如何写自己的数据结构)?11.中异常处理机制,事件机制?12.中的多形与继承?13.抽象类与接口?14.的通信编程,用编程,读服务器几个字符,再写入本地显示?15.用实现一种排序,类实现序列化的方法(二种)?如在框架中,实现比较要实现什么样的接口?16.编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。
华为招聘笔试题目
华为招聘笔试题目华为是很多求职者都想要进入的,下面是搜集整理的华为招聘笔试题目,欢迎阅读,供大家参考和借鉴!华为笔试题一:基础知识1、string 是最基本的数据类型吗?2、int 和integer 有什么区别3、string 和stringbuffer 的区别4、运行时异常与一般异常有何异同?5、说出servlet 的生命周期,并说出servlet 和cgi 的区别。
华为笔试题二:专业知识6、说出arraylist,vector,linkedlist 的存储性能和特性.7、ejb 是基于哪些技术实现的?并说出sessionbean 和entitybean 的区别,statefulbean 和statelessbean 的区别。
8、collection 和collections 的区别。
9、&和&&的区别。
10、hashmap 和hashtable 的区别。
华为笔试题三:知识拓展11、final,finally,finalize 的区别。
12、sleep() 和wait() 有什么区别?13、overload 和override 的区别。
overloaded 的方法是否可以改变返回值的类型?14、error 和exception 有什么区别?15、同步和异步有何异同,在什么情况下分别使用他们?举例说明。
.16、abstract class 和interface 有什么区别?一、判断题(对的写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 类型。
华为招聘笔试题汇总【最全面】
一、单项选择题1.Java是从()语言改进重新设计。
A.AdaB.C++C.PasacalD.BASIC答案:B2.下列语句哪一个正确()A.Java程序经编译后会产生machine codeB.Java程序经编译后会产生byte codeC.Java程序经编译后会产生DLLD.以上都不正确答案:B3.下列说法正确的有()A.class中的constructor不可省略B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行D.一个class只能定义一个constructor答案:C4.提供Java存取数据库能力的包是()A.java.sqlB.java.awtC.ngD.java.swing答案:A5.下列运算符合法的是()A.&&B.<>C.ifD.:=答案:A6.执行如下程序代码a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()A.0 B.1 C.-1 D.死循环答案:C7.下列哪一种叙述是正确的()A.abstract修饰符可修饰字段、方法和类B.抽象方法的body部分必须用一对大括号{ }包住C.声明抽象方法,大括号可有可无D.声明抽象方法不可写出大括号答案:D8.下列语句正确的是()A.形式参数可被视为local variableB.形式参数可被字段修饰符修饰C.形式参数为方法被调用时,真正被传递的参数D.形式参数不可以是对象答案:A9.下列哪种说法是正确的()A.实例方法可直接调用超类的实例方法B.实例方法可直接调用超类的类方法C.实例方法可直接调用其他类的实例方法D.实例方法可直接调用本类的类方法答案:D二、多项选择题1.Java程序的种类有()A.类(Class)B.AppletC.Application D.Servlet2.下列说法正确的有()A.环境变量可在编译source code时指定B.在编译程序时,所能指定的环境变量不包括class pathC.javac一次可同时编译数个Java源文件D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD3.下列标识符不合法的有()A.new B.$UsdollarsC.1234 D.car.taxi答案:ACD4.下列说法错误的有()A.数组是一种对象B.数组属于一种原生类C.int number=[]={31,23,33,43,35,63} D.数组的大小可以任意改变答案:BCD5.不能用来修饰interface的有()A.private B.publicC.protected D.static答案:ACD6.下列正确的有()A.call by value不会改变实际参数的数值B.call by reference能改变实际参数的参考地址C.call by reference不能改变实际参数的参考地址D.call by reference能改变实际参数的内容答案:ACD7.下列说法错误的有()A.在类方法中可用this来调用本类的类方法B.在类方法中调用本类的类方法时可直接调用C.在类方法中只能调用本类中的类方法D.在类方法中绝对不能调用实例方法答案:ACD8.下列说法错误的有()A.Java面向对象语言容许单独的过程与函数存在B.Java面向对象语言容许单独的方法存在C.Java语言中的方法属于类中的成员(member)D.Java语言中的方法必定隶属于某一类(对象),调用方法与过程或函数相同答案:ABC9.下列说法错误的有()A.能被java.exe成功运行的java class文件必须有main()方法B.J2SDK就是Java API C.Appletviewer.exe可利用jar选项运行.jar文件D.能被Appletviewer成功运行的java class文件必须有main()方法答案:BCD三、判断题1.Java程序中的起始类名称必须与存放该类的文件名相同。
华为历年笔试题大汇总
华为历年笔试题大汇总华为历年笔试题大汇总应聘华为各类工程师通信基础题库以及答案2 华为资金管理岗笔试10 华为厦门销售融资岗笔试11 华为财经笔试11 华为会计笔试11 华为软件工程师笔试题12 华为硬件笔试题16 研发(软件)17 武汉华为笔试归来(财经类资金管理销售融资岗)18 xx-xx校园招聘笔试题目分享19 华为笔试19 华为笔试回来20 华为的C语言笔试题21 华为C/C++笔试题22xx校园招聘笔试题目分享应聘华为各类工程师通信基础题库以及答案电信基础知识题库(以下题目可以按填空.判断或简答方式出题,也可以经过变化成为选择题)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.ATM技术是电路交换技术和分组交换技术的结合。
13.根据98年发布的《自动交换电话(数字)网技术体制》,我国电话网分为三级。
14.根据新的电话网体制,我国长途电话网分为二级。
15.当电话网全网为三级时,两端局之间最大的串接电路段数为5段,串接交换中心最多为6个。
16.新体制中一级长途交换中心(DC1)为省(自治区.直辖市)长途交换中心,其职能主要是汇接所在省(自治区.直辖市)的省际长途来去话务和一级交换中心所在地的长途终端话务。
华为笔试题史上最齐全
华为笔试题史上最齐全华为笔试题⼤全史上最齐全 华为笔试题(⼀) 1.static有什么⽤途?(请⾄少说明两种) 1)在函数体,⼀个被声明为静态的变量在这⼀函数被调⽤过程中维持其值不变。
2) 在模块内(但在函数体外),⼀个被声明为静态的变量可以被模块内所⽤函数访问,但不能被模块外其它函数访问。
它是⼀个本地的全局变量。
3) 在模块内,⼀个被声明为静态的函数只可被这⼀模块内的其它函数调⽤。
那就是,这个函数被限制在声明它的模块的本地范围内使⽤ 2.引⽤与指针有什么区别? 1) 引⽤必须被初始化,指针不必。
2) 引⽤初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引⽤,但是存在指向空值的指针。
3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。
4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 全局变量储存在静态数据库,局部变量在堆栈。
5.什么是平衡⼆叉树? 左右⼦树都是平衡⼆叉树且左右⼦树的深度差值的绝对值不⼤于1。
6.堆栈溢出⼀般是由什么原因导致的? 没有回收垃圾资源。
7.什么函数不能声明为虚函数? constructor函数不能声明为虚函数。
8.冒泡排序算法的时间复杂度是什么? 时间复杂度是O(n^2)。
9.写出float x 与“零值”⽐较的if语句。
if(x>0.000001&&x<-0.000001) 10.Internet采⽤哪种⽹络协议?该协议的主要层次结构? Tcp/Ip协议 主要层次结构为:应⽤层/传输层/⽹络层/数据链路层/物理层。
11.Internet物理地址和IP地址转换采⽤什么协议? ARP (Address Resolution Protocol)(地址解析協議) 12.IP地址的编码分为哪俩部分? IP地址由两部分组成,⽹络号和主机号。
不过是要和“⼦⽹掩码”按位与上之后才能区分哪些是⽹络位哪些是主机位。
华为公司软件笔试试卷 精品
华为公司软件笔试试卷(C/C++)一、填空题1-11-2、头文件中#ifndef/#define/#endif1-3、在如下的二叉数树中:请写出前序遍历为:ABDCEGFHI(也称前序周游)扩展知识:前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。
在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
若二叉树为空则结束返回,否则:(1)访问根结点(2)前序遍历左子树(3)前序遍历右子树注意的是:遍历左右子树时仍然采用前序遍历方法。
如上图所示二叉树前序遍历,也叫先根遍历,遍历的顺序是:根,左子树,右子树遍历结果:ABDECF中序遍历,也叫中根遍历,顺序是:左子树,根,右子树遍历结果:DBEAFC后序遍历,也叫后根遍历,遍历顺序,左子树,右子树,根遍历结果:DEBFCA1-4、以下为32位操作系统下的C 程序,请计算sizeof的值a)char str[]=”hello”;char *p = str;int n = 10;请计算:sizeof { str } =6sizeof { p } = 4sizeof { n } = 4b)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 -1B 1C 3D 7E 92-2、某些操作系统把一条命令的执行结果输出给下一条命令,作为它的输入,并加以处理,这种机制称为A,使命令执行的结果不在屏幕上显示,而引入另外一个文件,这种机制称为B。
使命令所需要的处理信息不从键盘接收,而取自另一个文件,这种机制称为C。
操作系统不从键盘逐条接收命令,而调用一个正文文件,执行其中保存的一系列命令,这种方式属于D方式,编写这样的文件应符合E 的语法规则。
华为 最新笔试题汇总(软件类和研发类岗位)
华为1.static有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。
它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。
那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指针有什么区别?1) 引用必须被初始化,指针不必。
2) 引用初始化以后不能被改变,指针可以改变所指的对象。
3) 不存在指向空值的引用,但是存在指向空值的指针。
3.描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。
4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?全局变量储存在静态数据库,局部变量在堆栈。
5.什么是平衡二叉树?左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。
6.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。
7.什么函数不能声明为虚函数?constructor函数不能声明为虚函数。
8.冒泡排序算法的时间复杂度是什么?时间复杂度是O(n^2)。
9.写出float x 与“零值”比较的if语句。
if(x>0.000001&&x<-0.000001)10.Internet采用哪种网络协议?该协议的主要层次结构?Tcp/Ip协议主要层次结构为:应用层/传输层/网络层/数据链路层/物理层。
11.Internet物理地址和IP地址转换采用什么协议?ARP (Address Resolution Protocol)(地址解析協議)12.IP地址的编码分为哪俩部分?IP地址由两部分组成,网络号和主机号。
不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。
13.用户输入M,N值,从1至N开始顺序循环数数,每数到M输出该数值,直至全部输出。
华为笔试题及答案
华为笔试题及答案一、选择题1. 下列哪种编程范式主要关注程序的计算过程和程序状态的变化?A. 面向对象编程B. 函数式编程C. 命令式编程D. 声明式编程答案:C解析:命令式编程是一种编程范式,主要关注程序的计算过程和程序状态的变化。
与之相对的是声明式编程,它更关注程序的结果而非过程。
2. 下列哪种排序算法的时间复杂度是O(nlog n)?A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序答案:B解析:快速排序的平均时间复杂度为O(nlog n),而冒泡排序、选择排序和插入排序的时间复杂度都是O(n^2)。
二、填空题3. 在计算机科学中,二叉树中的节点个数n与边数e的关系为______。
答案:e = n - 1解析:在二叉树中,每个节点都有两个子节点(可能为空),因此节点数n与边数e之间的关系为e = n - 1。
4. 一个具有1024个节点的完全二叉树,其深度为______。
答案:10解析:完全二叉树的深度可以通过以下公式计算:深度 = log2(节点数) + 1。
对于1024个节点的完全二叉树,深度为log2(1024) + 1 = 10 + 1 = 11。
三、算法题5. 编写一个C++程序,实现一个函数,该函数接收一个整数数组和一个目标值,返回数组中和为目标值的两个数的索引。
答案:```cpp#include <iostream>#include <vector>#include <unordered_map>std::vector<int> twoSum(const std::vector<int>& nums, int target) {std::unordered_map<int, int> hash_map;for (int i = 0; i < nums.size(); ++i) {int complement = target - nums[i];if (hash_map.find(complement) !=hash_map.end()) {return {hash_map[complement], i};}hash_map[nums[i]] = i;}return {};}int main() {std::vector<int> nums = {2, 7, 11, 15};int target = 9;std::vector<int> result = twoSum(nums, target);std::cout << "Indices are: " << result[0] << " and " << result[1] << std::endl;return 0;}```解析:本题考查哈希表的应用。
华为软件笔试题精修订
华为软件笔试题标准化管理部编码-[99968T-6889628-J68568-1689N]华为软件笔试题一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0。
()2、int(*ptr)(),则ptr是一维数组的名字。
()3、指针在任何情况下都可进行>,<,>=,<=,==运算。
()4、switch(c)语句中c可以是int,long,char,float,unsignedint类型。
()5、#defineprint(x)printf("theno,"#x",is")二、填空题(共30分)1、在windows下,写出运行结果,每空2分,共10分。
charstr[]="Hello";char*p=str;intn=10;sizeof(str)=()sizeof(p)=()sizeof(n)=()voidfunc(charstr[100]){}sizeof(str)=()2、voidsetmemory(char**p,intnum){*p=(char*)malloc(num);}voidtest(void){char*str=NULL;getmemory(&str,100);strcpy(str,"hello");printf(str);}运行test函数有什么结果()10分3、设intarr[]={6,7,8,9,10};int*ptr=arr;(ptr++)+=123;printf("%d,%d",*ptr,*(++ptr));()10分二、编程题(第一小题20,第二小题30分)1、不使用库函数,编写函数intstrcmp(char*source,char*dest)相等返回0,不等返回-1;2、写一函数intfun(char*p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1(1)什么是预编译,何时需要预编译:答案:1、总是使用不经常改动的大型代码体。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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可以。