文档库 最新最全的文档下载
当前位置:文档库 › 华为校园招聘软件研发上机测试题及部分解答+

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

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

以下是收集到的两套题(没有添加答案),上机测试只有应聘软件研发的才会碰到。有的写了点自己的解法,如果大家有好的想法欢迎讨论!大家一起学习嘛!

以下是上机考试的一些注意事项:

(1)考试时长为2个小时,总共有3个题(去年是2个题,难度要比今年大些),编译环境为VC 6.0(C语言)/ Eclipse(Java);

(2)3个题目中大致第一个题是最简单的,第三个题是最难的;

(3)从服务器上下载题目下来后最好能把工程保存到在电脑重启后不会自动还原的磁盘分区下面,这样不致由于各种意外因素电脑重启过后编的程序不会消失;

(4)不要改动所给函数的原型,可以自己添加函数。另外,华为提供的工程是将Main函数隐藏了的,所以自己不用再添加Main函数。

试题1:2011.9.6 转载自:

https://www.wendangku.net/doc/b87010467.html,/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)

(这个问题很简单,应该只是涉及了下double/int转换)

2、给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。

例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}

函数接口void sort(int input[[, int n, int output[])

基本的方法:

1) 先进行排序,然后挨个放/也可以以2为间隔存放。

第一种方法的时间复杂度根据所选排序算法的不同而不同,空间复杂度为:n;

2) 第一次选出一个最大,放在相应位置;第二次取出剩余最大值,放相应位置;依次类推。其中,选最大值可以使用最大堆方法来实现(注意,不是堆排序哦)

选择一种好的排序算法的话(比如快排),两者的时间复杂度是差不多的。

3、操作系统任务调度问题。操作系统任务分为系统任务和用户任务两种。其中,系统任务的优先级< 50,用户任务的优先级>= 50且<= 255。优先级大于255的为非法任务,应予以剔除。现有一任务队列task[],长度为n,task中的元素值表示任务的优先级,数值越小,优先级越高。函数scheduler实现如下功能,将task[] 中的任务按照系统任务、用户任务依次存放到system_task[] 数组和user_task[] 数组中(数组中元素的值是任务在task[] 数组中的下标),并且优先级高的任务排在前面,优先级相同的任务按照入队顺序排列(即先入队的任务排在前面),数组元素为-1表示结束。

例如:task[] = {0, 30, 155, 1, 80, 300, 170, 40, 99} system_task[] = {0, 3, 1, 7, -1} user_task[] = {4, 8, 2, 6, -1}

函数接口void scheduler(int task[], int n, int system_task[], int

user_task[])

方法1:

先扫描一遍task,分别将任务放到system_task[]和user_task[];

用稳定的排序算法(比如插入排序、归并排序等)分别对system_task[]和user_task[]进行排序;

方法2:

用稳定的排序算法先对task[]进行排序,然后再放到system_task[]和user_task[]中;

两种方法时间复杂度是相同的,但效率上第一种会高一些。

试题2:(转载自:https://www.wendangku.net/doc/b87010467.html,/html/bcyy/c/201109093208.html)

1. 数组比较(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[])

【输入】int len1:输入被比较数组1的元素个数;

int array1[]:输入被比较数组1;

int len2:输入被比较数组2的元素个数;

int array2[]:输入被比较数组2;

【输出】无

【返回】不相等元素的个数,类型为int

示例:

1)输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5},int len2 = 5

函数返回:0

2)输入:int array1[] = {1,3,5},int len1 = 3,int array2[] = {77,21,1,3,5,7},int len2 = 6 函数返回:3

2. 约瑟夫问题

输入一个由随机数组成的数列(数列中每个数均是大于0的整数,长度已知),和初始计数值m。从数列首位置开始计数,计数到m后,将数列该位置数值替换计数值m,并将数列该位置数值出列,然后从下一位置从新开始计数,直到数列所有数值出列为止。如果计数到达数列尾段,则返回数列首位置继续计数。请编程实现上述计数过程,同时输出数值出列的顺序

比如:输入的随机数列为:3,1,2,4,初始计数值m=7,从数列首位置开始计数(数值3所在位置)

第一轮计数出列数字为2,计数值更新m=2,出列后数列为3,1,4,从数值4所在位置从新开始计数

第二轮计数出列数字为3,计数值更新m=3,出列后数列为1,4,从数值1所在位置开始计数

第三轮计数出列数字为1,计数值更新m=1,出列后数列为4,从数值4所在位置开始计数最后一轮计数出列数字为4,计数过程完成。

输出数值出列顺序为:2,3,1,4。

要求实现函数:

void array_iterate(int len, int input_array[], int m, int output_array[])

【输入】int len:输入数列的长度;

int intput_array[]:输入的初始数列

int m:初始计数值

【输出】int output_array[]:输出的数值出列顺序

【返回】无

示例:

输入:int input_array[] = {3,1,2,4},int len = 4,m=7

输出:output_array[] = {2,3,1,4}

解题思路:

每次出列一个数值,需要对m、input_array、output_array、输出位置outPos、起始位置startPos进行更新;

对于输出位置outPos的计算是关键!通过分析可知,outPos=(startPos+m-1)%num

代码实现:

view plaincopy to clipboard

1#include

2

3void print_array(int len, int array[])

4{

5for(int i=0; i

6 printf("%d ", array[i]);

7 printf("\n");

8}

9

10//input_array:a[0]...a[len-1]

11void array_iterate(int len, int input_array[], int m, int output_array[]) 12{

13int startPos=0;

14int outPos;

15int nIter=len-1;

16int num=len;

17for(; nIter>=0; nIter--)

18 {

19 outPos=(m+startPos-1)%num;

20 m=input_array[outPos];

21 startPos=outPos;

22 printf("outPos is %d, new m is %d\n", outPos, m);

23 output_array[len-nIter-1]=input_array[outPos];

24for(int i=outPos; i

25 input_array[i]=input_array[i+1];

26 num--;

27 print_array(num, input_array);

28 }

29}

30

31void main()

32{

33int input_array[]={3,1,2,4};

34int output_array[4]={0};

35 array_iterate(4, input_array, 7, output_array);

36 print_array(4, output_array);

37}

3. 简单四则运算

问题描述:

输入一个只包含个位数字的简单四则运算表达式字符串,计算该表达式的值

注:

3.1、表达式只含+, -, *, / 四则运算符,不含括号

3.2、表达式数值只包含个位整数(0-9),且不会出现0作为除数的情况

3.3、要考虑加减乘除按通常四则运算规定的计算优先级

3.4、除法用整数除法,即仅保留除法运算结果的整数部分。比如8/3=2。输入表达式保证无0作为除数情况发生

3.5、输入字符串一定是符合题意合法的表达式,其中只包括数字字符和四则运算符字符,除此之外不含其它任何字符,不会出现计算溢出情况

要求实现函数:

int calculate(int len,char *expStr)

【输入】int len: 字符串长度;

char *expStr: 表达式字符串;

【输出】无

【返回】计算结果

示例:

1)输入:char *expStr = “1+4*5-8/3”

函数返回:19

2)输入:char *expStr = “8/3*3”

函数返回:6

零散的收集(转自:https://www.wendangku.net/doc/b87010467.html,/yuliu0552/article/details/6744618):

1. 字符串提取数字

完成函数

void take_num(const char *strIn, int *n, unsigned int *outArray)

输入

strIn="ab00cd+123fght456-25 3.005fgh"

输出

n=6

outArray={ 0, 123, 456, 25, 3, 5 }

(不考虑小数:如3.005输出3和5)

001-华为公司应届生试题-研发软件类(第1套)

说明:本份试题满分100分,完成时间为90分钟。请将答案写在答题纸上,不要写在试卷上,答题完毕将试卷、答题纸和草稿纸一起上交。 一、单选题(共20题计40分) 1、输入序列为ABC,可以变为CBA时,经过的栈操作为() A. push,pop,push,pop,push,pop B. push,push,push,pop,pop,pop C. push,push,pop,pop,push,pop D. push,pop,push,push,pop,pop 2.线程和进程最主要的区别在于 A. 进程是UNIX下的概念,线程是Windows下的概念 B. 进程的效率比线程低 C. 在进程中可以创造线程,但线程中不能生成进程 D. 进程由自己独立的运行空间,线程的运行空间是共享的 3. IP路由发生在TCP/IP体系结构中的哪一层 A. 物理层 B. 数据链路层 C. 网络层 D. 传输层 4. 假设一个IP主机地址为而子网掩码为那么该主机的网络号为_________ 5.120 C 、遍历是树形结构的一种重要运算。若已知一棵二叉树的前序序列是BEFCGDH,中序序列是FEBGCHD,则它的后序序列必是______。供选择的答案 A) E F G H B C D B) F E G H D C B C) B C D E F G H D) E F G C H D B 6、五层完全二叉树有___个节点。 A. 16 B. 32 C. 31 D. 33 7、用链接方式存储的非循环单向队列,在进行删除运算时,_____。 A) 头、尾指针可能都要修改 B) 仅修改头指针 C) 仅修改尾指针 D) 头、尾指针都要修改 8、如果在排序过程中,每次均将一个待排序的记录按关键字大小加入到前面已经有序的子表中的适当位置,则该排序方法称为() A.插入排序B.归并排序 C.冒泡排序D.堆排序 9、对下列关键字序列用快速排序法进行排序时,速度最快的情形是:( ) (A){25、23、30、17、21、5、9} (B){21、9、17、30、25、23、5} (C){21、25、5、17、9、23、30} (D){5、9、17、21、23、25、30}

华为校招·硬件技术工程师机考试题及答案

精品文档 1.(判断题)DRAM上电时存储单元的内容是全0,而Flash上电时存储单元的内容是全1。(4分) A.正确 B.错误 FLASH可保存 2.(判断题)眼图可以用来分析高速信号的码间干扰、抖动、噪声和衰减。(4分) A.正确 B.错误 3.(判断题)以太网交换机将冲突域限制在每个端口,提高了网络性能。(4分) A.正确 B.错误 4.(判断题)放大电路的输出信号产生非线性失真是由于电路中晶体管的非线性引起的。(4分) A.正确 B.错误 5.(判断题)1的8位二进制补码是0000_0001,-1的8位二进制补码是1111_1111。(4分) A.正确 B.错误 6.(判断题)洗衣机,电冰箱等家用电器都使用三孔插座,是因为如果不接地,家用电器是不能工作的。(4分) A.正确 B.错误 7.(判断题)十进制数据0x5a与0xa5的同或运算结果为:0x00。(4分) A.正确 B.错误 8.(判断题)硅二极管的正向导通压降比锗二极管的大(4分) A.正确 B.错误 9.(单选题)一空气平行板电容器,两级间距为d,充电后板间电压为u。然后将电源断开,在平板间平行插入一厚度为d/3的金属板。此时电容器原板间电压变为(4分) A.U/3 B.2U/3 C.3U/4 D.不变但电容的大小不是由 Q(带电量)或U(电压)决定的,即: C=εS/4πkd。其中,ε是一个常数, S为电容极板的正对面积, d为电容极板的距离, k则是静电力常量。而常见的平行板电容器 电容为C=εS/d.(ε为极板间介质的介电常数, S 为极板面积, d为极板间的距离。) 3电容器的电势能计算公式: E=CU^2/2=QU/2 10.(单选题)8086CPU内部包括哪些单元(4分) A.ALU,EU B.ALU,BIU C.EU,BIU D.ALU,EU,BIU 80x86从功能上分执行单元EU(Execution Unit),和总线接口单元BIU(Bus Interface Unit),执行单元由8个16位通用寄存器,1个16位标志寄存器,1个16位暂存寄存器,1个16位算术逻辑单元ALU及EU控制电路组成。 总线接口单元由4个16位段寄存器(CS,DS,SS,ES),1个16位的指令指针寄存器,1个与EU通信的内部暂存器,1个指令队列,1个计算20位物理地址的加法器∑及总线控制电路构成。 11.(单选题)为了避免50Hz的电网电压干扰放大器,应该用那种滤波器:(4分) A.带阻滤波器 B.带通滤波器 C.低通滤波器 D.高通滤波器 12.(单选题)关于SRAM和DRAM,下面说话正确的是:(4分) A.SRAM需要定时刷新,否则数据会丢失 B.DRAM使用内部电容来保存信息 C.SRAM的集成度高于DRAM D.只要不掉点,DRAM内的数据不会丢失 【解析】SRAM和DRAM都是随机存储器,机器掉电后,两者的信息都将丢失。它们的最大区别就是:DRAM是用电容有无电荷来表示信息0和1,为防止电容漏电而导致读取信息出错,需要周期性地给电容充电,即刷新;而SRAM是利用触发器的两个稳态来表示信息0和1,所以不需要刷新。另外,SRAM 的存取速度比DRAM更高,常用作高速缓冲存储器Cache。

华为LTE认证面试问题完整版含答案

1、测试中关注那些哪些指标? 答:LTE测试中主要关注PCI、RSRP(接收功率)、SINR(信号质量)、PUSCHPower(UE的发射功率)、传输模式(TM3为双流模式)、上下行速率、掉线率、连接成功率、切换成功率………… 2、测试中单站验证的指标 测试时近点要求RSRP≧-80dBm,SINR≧25db, 32字节:Ping时延<=30ms;1024字节:Ping时延<=40ms,下载70M(理论90M),上传30M。 测试时中点要求RSRP在-90至95dBm之间,SINR≧15db左右, 32字节:Ping时延<= 30ms;1024字节:Ping时延<=40ms,下载35M,上传20M。 3、LTE中框架结构 ●LTE的接入网E-UTRAN由eNodeB组成,提供用户面与控制面; ●LTE的核心网EPC(Evolved Packet Core)由MME,S-GW与P-GW组成; ●eNodeB间通过X2接口相互连接,支持数据与信令的直接传输; ●S1接口连接eNodeB与核心网EPC。其中,S1-MME就是eNodeB连接MME的控制面 接口,S1-U就是eNodeB连接S-GW 的用户面接口;

4、TAC与TAL解释一下名称 TAC就是跟踪区码,TAL就是TA list,跟踪区列表 5、UE的正常发射功率就是多少,最大就是多少? 正常小于等于15dbm,最大就是23dbm。 6、LTE的带宽有哪些,对应的RB数又就是多少? 1、4、3、5、10、15、20MHZ对应的RB数就是6、15、25、50、75、100、 7、影响下行速率的因素? 天线的收发模式,MIMO 天线数量与模式,beamforing波束赋形的天线阵增益(包括天线数量)。 空间信道的质量,包括信号强度,以及干扰的情况,空间信道的相关性,UE的移动速度,UE接收机的性能。 TDD还与上下行子帧配比,FDDTDD中信道配置情况有关系(例如cfi的多少,就是否有MBMS 支持) 与用户的数量也有关系。

JAVA面试题(_华为)(答案)

软件开发应试人员考试试题(Java) 姓名:___________ 电话:___________ 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事Java开发时间____月熟悉JavaScrip时间____月 熟悉EXT开发时间____月熟悉PDM开发时间____月 熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________ 一、JAVA基础 1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…) public :允许所有客户访问 protected:只能在本包内被该类的子类所使用 private:只允许在本类内使用 abstract:没有提供实现,需要子类提供 static:与整个类相关,与单个对象无关 final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。 2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率? 区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的, 执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String 使用场景:1.如果要操作少量的数据用= String 2.单线程操作字符串缓冲区下操作大量数据= StringBuilder 3.多线程操作字符串缓冲区下操作大量数据= StringBuffer 2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量

最全的华为校园招聘笔试题

最全的华为校园招聘笔试题 华为笔试 1.局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用 “::“ 局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2.如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 3.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

4.语句for( ;1 ;)有什么问题?它是什么意思? 答:无限循环,和while (1)相同。 5.do……while和while……do有什么区别? 答:前一个循环一遍再判断,后一个判断以后再循环。 6.请写出下列代码的输出内容#i nclude main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf(“b,c,d:%d,%d,%d“,b,c,d); return 0; } 答:10,12,120 一.判断题(对的写T,错的写F并说明原因,每小题4分,共20分) 1.有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。() 2.int (*ptr) (),则ptr是一维数组的名字。() 3.指针在任何情况下都可进行>, =, =MAX_SRM) return (NULL_SRM); else return SRM_no; } 3. 写出程序运行结果 int sum(int a) { auto int c=0; static int b=3; c+=1; b+=2; return(a+b+C); } void main() { int I; int a=2; for(I=0;Inext = NULL; p=h; for(i=0;inext = s; printf(“Please input the information

华为英语面试试题

1,what’s your english name,please? ----女HR,名字叫ALICE类似的,太吵了,在食堂外面面的试,听不大清楚, 但是感觉是个很不错的HR,相当nice 2,please introduce yourself....about your campus life ------这个必然要准备的。。。我就直接给背出来了 3,where are you from? which city? what is it famous for? Have it developed during the last years? ------这是一类问题的,还是需要点准备;这个最faint,我居然只能想起我们家乡 的面条有名了。。估计是因为买了拌饭,还想吃学苑的面条导致我耿耿于怀 4,what is a typical day in your university? ------这个也得想一下。。。 5,what’s your hobby...? what do you like doing in your spare time? 基本就是这些问题了,其实还是很简单的,华为的英文面每一次都是基本相同的问题。。。电话10分钟左右,英语交谈的时间估计是8分钟左右,估计本来有更多问题的,不过我每个问题都debodebo说了一大堆,估计HR也无语了,现在觉得自己是不是有点说多了,我一 用英语交谈就很激动。。。sigh。。。 最后HR给了我建议,说我的英语很smooth,但是发音chinglish,,要多和外国人联系发音才能够standard...这样的话英语就perfect了。。。这是在安慰我呢。。。 我为各位整理出英文面试最常见的五大问题,并且提醒各位一些回答的技巧,希望大家能针对这些问题多演练,当成练习英文面试的重点。 问题一:Could you please describe yourself?(能否请你形容一下自己?) 这个问题,一来是想要了解你是什么样的人,二来是想看看你是否知道如何重点式地自我简 介。在回答时,要针对应征工作的性质来凸显自己的特色,可以多用形容词,并且引用过 去的工作经验,但是不必提及公司组织的名称,再者,你还可以谈谈未来的生涯规画;但如果你是个社会新鲜人,就可以谈谈在校时的丰功伟业。比方说,今天你打算去应征行销的 职务,你就可以说︰I am dedicative and motivated. I worked on several major inves tment & promotion projects with positive results and I have more rich experiences in the government. I am now working as a general director assistant and administ ration office director for communicating and coordinating in an logistics company. (我有创意、又积极。曾负责数项大型的行销项目,皆有成效。我现在希望在一家深具规模 的公司内,担任有挑战性的行销职务。) 问题二:Why do you think we should employ you?(你认为我们为何要雇用你?) 雇主问此问题,希望你试图证明自己是最佳人选,并且测试你是否熟悉应征职务的工作内容。 回答时,要迎合该公司对该职务的期望,不过切记别给人狂妄自大的印象。假设你今天要 应征机械工程的工作,你就可以说︰I think I am suitable for the position,not only be cause I have a masters degree, but also because I have worked in this field for m ore than 3 years. I believe that my experience can be put to use in further develo ping your business. (我很适合该职位,不只因为我有机械工程学的硕士学位,更因为我 在该产业已经有五年多的工作经验,我相信,我的经验可以派上用场,进一步推动贵公司的 事业。)

华为笔试试题软件工程试题及答案

华为笔试试题软件工程试题及答案 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地址由两部分组成,网络号和主机号。不过是要和“子网掩

个人经验年华为前四面性格测试已签

个人经验-年华为前四面+性格测试(已签)2010年xx前四面+性格测试(已签) 7 号到的哈尔滨,19 号签约华为售前技术销售,当时写的一些东西,粘过来了,很乱,见谅! 刚来哈尔滨,赶上了华为的面试,作为第一次面试,随便写了点经历,做个留念 这次华为是先进行的硕士的招聘活动,销服类的已经四面全部结束,等待结果;软开和硬件的笔试和技术面已经结束,相关的后续面试在这两天开始,此外,华赛的招聘也开始了,中兴对硕士的招聘结束了,月薪7300,哈尔滨很多人已经签约了,本科的招聘会在过后进行;总的来说,今年通信行业的待遇是涨了。下面是下午随便写的一点东西,有点长,大家将就着看吧 9月7号早晨到达了哈尔滨,在学校办完该办的一些手续,下午休息了一下,晚饭过后收到了华为面试的通知:9月1 0号上午九点半,哈尔滨华融饭店,六楼,需要带的东西: 华为网投的简历打印件,四六级成绩单的复印件,学生证。 8 号上午,软开的哥们们去笔试了(我投的是消服类的,这个是没有笔试的),下午是硬件的笔试。关于笔试,貌似题量有点多,但是也基本是基础的题目,只是有些东西忘了或者没学过的,软开的除了考c 语言编程(数据结构的东西比较多,什么链表啥的,呵呵反正我不会。。。所以没去考。。。)以外,还会涉及一些过去OS和数据库的东西,对于不是计算机或者软件的同学们,确实有点难度;硬件的题目好像数电的东西多一些,都是很基础的,复习吧。 貌似笔试不会刷掉很多人的,我同学投的软开,回来一顿郁闷,考完疯狂虐待我的电脑。。。。结果最终也有了技术面的通知;还有的直接没来得及去 笔试,也收到技术面的通知了。。OMG。。。再就是有的直接没有笔试通知, 霸王笔试(不知道咋说,就那意思),后来也有了技术面的通知。。。。

华为面试题汇总与答案_1

面试题参考 1.js动态增加行 function addRow(tableId,trId){ var tableObj = document.getElementById(tableId); var trObj = document.getElementById(trId); //var trIndex = trObj.rowIndex+1; var rows = tableObj.rows.length; var cell = ""; var tr = tableObj.insertRow(rows); for(i=0;i 二、SQL书写的影响 1、同一功能同一性能不同写法SQL的影响。 2 .WHERE后面的条件顺序影响 三、SQL语句索引的利用 1、不要有多余的数据。 3.项目权限控制是如何实现 一般实现为:首先建立职责表,用户表,权限表,然后是职责与用户的关联表,职责与权限的关联表。依据每一个功能点建立权限数据,当新加入职责信息时将一条或多条权限数据与对应的职责关联起来。在用户信息中就可将职责数据与用户关联,达到权限管理的目的。页面通过用户的职责权限信息进行操作监控。 4.多次提交ajax后,返回值是否按提交的顺序返回? Ajax调用大部分为JS,JS的运行速度较快,有可能造成请求未完成,后面的JS代码继续运行,而返回结果的顺序不一定按请求顺序返回。取决于后台处理速度 5.数据库设计心得,如何建索引

嵌入式软件工程师笔试题_华为课件【新版】

(一) 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; out < < ( 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

华为性格测试

1.我必须了解底层原理才能更有效地学习 2.我信守自己作出的承诺 3.我能解决问题 4.我掌控者自己的未来 5.我善于结交朋友 6.我从发现商业良机中获得真正的满足感 7.我喜欢结实陌生人 8.我觉得我必须参考他人的观点 26.我善于谈判 27.我已经准备好随时做出重要决策 28.我乐意去适应新的挑战 29.工作繁忙时,我仍然能把事情处理得很好 30.我具有良好的书面沟通能力 31.我是个愿意为人着想的人 32.我擅长把问题解释清楚 33.我渴望达成交易

34.我很喜欢与人争辩 35.我倾向于根据客观事实做决定 36.做事的时候我需要有章可循 37.我能制定有效的策略 38.我擅长清倾听他人 39.人们都说我很活泼 40.我善于进行掌控 41.我希望能负责重大决策 59.我需要对任务的优先级做出明确的安排 60.我对变化秉持积极的态度 61.我善于长远思考 62.保守秘密是我的最大长处之一 63.我非常注意细节 64.我善于处理数字资料 65.我信任他人 66.我善于辨识商机

67.我认为取得突出的成绩很重要 68.我希望人们为他们的观点提出论据 69.我希望大家能够一起参与最终的决策 70.我觉得认可自己很重要 71.我喜欢快速学习新事物 72.我喜欢同时处理多件事情 73.我鼓励其他人对我的方法提出批评 74.我避免风险较大的决策 92.我认为自己可以从容自若地应对生气的人 93.我喜欢激进的解决方案 94.我能够很好地分出工作的轻重缓急 95.我寻找学习新事物的机会 96.我对自己非常认可 97.我善于参考他人的观点 98.我让人们注意到我的成就 99.我取得了突出的成绩

2020华为校园招聘笔试真题题库精选答案解析(南研所)

2020华为校园招聘笔试真题题库精选答案解析(南研所) 1 局部变量能否和全局变量重名 2 如何引用一个已经定义过的全局变量 3 全局变量可不可以定义在可被多个.C文件包含的头文件中为什么 4 语句for( ;1 ;)有什么问题它是什么意思 5 do……while和while……do有什么区别 6 请写出下列代码的输出内容 以下是引用片段: #include main() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c,d:%d,%d,%d",b,c,d); return 0; } 7 static全局变量与普通的全局变量有什么区别static局部变量和普通局部变量有什么区别static函数与普通函数有什么区别? 8 程序的局部变量存在于()中,全局变量存在于()中,动态申请数据存在于()中。 9 设有以下说明和定义:

typedef union {long i;int k[5]; char c;} DATE; struct data { int cat;DATE cow; double dog;} too; DATE max; 则语句printf("%d",sizeof(struct date)+sizeof(max));的执行结果是:_______ 10 队列和栈有什么区别? 写出下列代码的输出内容 以下是引用片段: #include int inc(int a) { return(++a); } int multi(int*a,int*b,int*c) { return(*c=*a**b); } typedef int(FUNC1)(int in); typedef int(FUNC2) (int*,int*,int*); void show(FUNC2 fun,int arg1, int*arg2) { INCp=&inc;

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

华为软件研发岗笔试题 总结 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

操作系统(OperatingSystem,简称OS)是管理计算机系统的全部硬件资源包括软件资源及数据资源;控制程序运行;改善人机界面;为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,为用户提供方便的、有效的、友善的服务界面。 操作系统通常是最靠近硬件的一层系统软件,它把硬件裸机改造成为功能完善的一台虚拟机,使得计算机系统的使用和管理更加方便,计算机资源的利用效率更高,上层的应用程序可以获得比硬件提供的功能更多的支持。 操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、文件管理。目前微机上常见的操作系统有DOS、OS/2、UNIX、XENIX、LINUX、Windows2000、Netware等。 华为软件笔试题 一、判断题(对的写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)=(6) sizeof(p)=(4) sizeof(n)=(4) voidfunc(charstr[100]) {} sizeof(str)=(4)

华为2012校园招聘软件上机笔试题+准确答案

2012华为校园招聘上机试题+准确答案 1.给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a, Z换成A,如aBf转换成bCg,字符串内的其他字符不改变,给定函数,编写函数void Stringchang(const char*inpu,char*output) 其中input是输入字符串,output是输出字符串 答案: void Stringchang (char *input,char *output) { int len=strlen(input); for(int i=0;i='A')||(input[i]<='z'&&input[i]>='a')) output[i]=input[i]+1; else output[i]=input[i]; } } 2.求一个整型数字中有没有相同的部分,例如12389756123这个整型数字中相同的部分是 123,相同的部分至少应该是2位数,如果有相同部分返回1,如果没有则返回0。方法是先将整型数字转换到数组中,再判断。 函数为int same(int num) 其中num是输入的整型数字 答案:参考第三题很容易写出代码! 3.求两个字符串的乘积,结果存到字符串中,例如字符串一中存的“657891”,字符串二 中存的“521”,分别将字符串中的字符转换成整型数字,进行计算后,再转换成字符类型存储起来 函数为void mul(char *input1,int n,char *input2, int m,char *output) 其中input1和input2是输入,n是input1的长度,n2是input2的长度。Output是输出答案: void mul(char *input1,int n,char *input2, int m,char *output) { int num1=StrToNum(input1,n); int num2=StrToNum(input2,m); int muti=num1*num2; NumToStr(muti,output); cout<=0;i--) {num+=(input[i]-delta)*pow(10.0,len-i-1);} return num; } void NumToStr(int num,char *output) //int型变量转为字符串 { int len=0; while(1)

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

操作系统(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分

华为面试题(附答案)Oracle

一、技术问题部分(数据库部分) 1、表空间的管理方式有哪几种? 数据字典管理方式 本地文件管理方式 2、谈谈你对索引的理解? 索引是若干数据行的关键字的列表,查询数据时,通过索引中的关键字可以快速定位到要访问的记录所在的数据块,从而大大减少读取数据块的I/O次数,因此可以显著提高性能。 3、说说索引的组成? 索引列、rowid 4、分区表用过么?谈谈分区表的应用? 分区表在对表的DML的并行处理上有极大得优势,而且可以一部分设为只读,用在销售记录,医院处方等地方!! 5、你对分区表的理解?怎样截断分区表一个分区的记录? 一个分区表有一个或多个分区,每个分区通过使用范围分区、散列分区、或组合分区分区的行 分区表中的每一个分区为一个段,可各自位于不同的表空间中 对于同时能够使用几个进程进行查询或操作的大型表分区非常有用 alter table table_name truncate partition partition_name; 6、物理文件有哪几种?控制文件包含了什么信息? 1)数据文件2)控制文件3)日志文件 包含维护和验证有选举权据库完整性的必要信息、例如,控制文件用于识别数据文件和重做日志文件,一个有选举权据库至少需要一个控制文件 7、表空间用完了如何增加? 三种种扩展方式: 1 增加数据文件alter tablespace name add datafile …路径? size 4M; 2 扩展数据文件大小alter database datafile …路径? resize 4M; 3 把数据文件设为自动增长 alter database datafile …路径? autoextend on next 1M maxsize 20M; 8、SGA包含几部分? Shared pool(共享池),DataBase Buffer Cache(数据缓冲区) Redo Log Buffer(重做日志缓冲区), Large Pool,大池,JAVA池。 9、DECODE函数的用法? DECODE的语法:DECODE(value,if1,then1,if2,then2,if3,then3,...,else),表示如果value等于if1时,DECODE函数的结果返回then1,...,如果不等于任何一个if值,则返回else。初看一下,DECODE 只能做等于测试,但刚才也看到了,我们通过一些函数或计算替代value,是可以使DECODE函数具备大于、小于或等于功能。还可以转化表结构! 10、DELETE和TRUNCATE的区别? 答:1、TRUNCATE在各种表上无论是大的还是小的都非常快。如果有

华为面试的上机题(原创)

2011年华为软件校园招聘编程测验 类别:软件C/C++语言 编程题(共3题,第一题20分,第二题30分,第三题50分,共100分) 注意: 1、请上机编写程序,按题目要求提交文件。[详见考试说明,点击进入考试说明] 2、本试题采用自动执行测试用例进行评分,测试用例不对考生公开 3、评卷通过在给定用例输入下,严格按照试题要求比较考生实现函数的输出与预设 输出。两者相同则得分,不同则不得分。 4、评卷人保证测试用例输入参数的合法性,考生不用考虑输入参数非法或异常的情 况 5、评卷人保证测试用例输入在被测函数正常合法情况下使用不会导致程序错误 6、被要求实现的函数如果包含返回参数,该返回参数涉及的空间分配和释放均在函 数外完成,在被要求实现函数内部可以直接使用返回参数 7、如果考生函数异常导致程序崩溃或死循环,则自动评卷可能会被人为终止,剩余 用例不被执行,无法得分 8、基于上述阅卷规则,请考生严格按照题目要求功能实现程序,尽量保证实现函数 的稳健性,同时建议完成一道题并调试保证正确性后,再考虑并实现下一题目 1.评委打分(20分) ?问题描述: 在评委打分的比赛中,通常采取去掉一个最高分和最低分,再求平均分的做法, 主要是为了公平,公正和公开的原则,防止有人买通评委,有特别的高分出现, 另外,也可以防止因为评委个人原因,对选手有“低见”给特别低的分。去掉最高 分最低分能够求出较为准确的平均分。请编写程序实现上述计分过程 ?要求实现函数: int score_calc(int n, int score[]) 【输入】int n,评委人数n(n>=3) int score[],每个评委的打分(百分制) 【输出】无 【返回】选手最终得分(取整) 注: 取整和四舍五入不同,取整只保留数值的整数部分,小数部分丢弃。比如7.3和7.6,取整后都为7 ?示例 输入:int n = 5;int score[] = {75, 80, 75, 70, 80} 输出:无 返回:76

(完整版)华为性格测试题库

1 了解底层原理才能有效地学习√√√2 需要了解论点背后的逻辑√√√3 4 信守自己的承诺√√√ 5 能解决问题√√√ 6 必须找到解决问题的办法√√√ 7 能组合出有效的计划√ 8 9 10 掌控着自己的未来××× 11 相信我能决定自己的未来××× 12 13 善于结交朋友××× 14 从发现商业良机中获得真正的满足感××× 15 16 善于辨识商机×××17 喜欢结识陌生人××× 18 19 觉得必须参考他人的观点×××20 守时是重要原则√√√ 我一向准时到达√√√ 21 22 23 从制定策略中获得真正的满足感×××24 能想出很多主意√√√25 善于照章行事√√√ 26 27 通过阅读学习很多东西×××28 倾向于通过实践来学习√√√29 我喜欢通过阅读来学习×××30 我通过实践来学习√√31 宽容的人× 32 33 很快和别人建立融洽的关系×××34 善于着手开展工作√ 喜欢在有压力的环境下工作√√√ 35 36 有强烈的好奇心√√√37 喜欢提出很多主意√√√ 善于处理不确定的事情××× 38 39 善于发现如何对事情进行改进 善于理解人们行为背后的动机××× 40 41 42 人们都说我能给人留下好的第一印象××× 我很希望给人留下良好的第一印象× 43 44

45 善于谈判×××46 已经准备好随时做出重要决策××× 47 48 乐意去适应新的挑战√√√49 工作繁忙时,仍然能把事情处理得很好√√√ 50 51 良好的书面沟通能力√ 52 喜欢写作√ 我擅长做演讲陈述× 53 54 喜欢做演讲陈述× 55 56 擅长把问题解释清楚√ 57 喜欢把问题解释清楚√ 58 59 渴望达成交易×××60 喜欢与人争辩××× 61 62 倾向于根据客观事实做决定√√√63 做事的时候需要有章可循√√√ 能制定有效的策略√√√ 64 65 擅长倾听他人√√√66 人们说我活泼√ 67 68 善于进行掌控×××69 希望能负责重大决策××× 70 71 更喜欢低风险的选择√ 72 避免风险较大的决策√ 73 74 渴望能迅速从挫折中恢复√√√75 喜欢抽象思考√√√76 善于同时处理多项任务√√√ 77 78 善于启发别人× 79 喜欢协调各方人员× 80 人们都说我善于协调各方人员× 81 想让别人倾听我的观点× 82 认为能激励别人很重要× 83 我希望我能给人们带来启发× 84 我善于寻找方法来激励他人× 85 我希望能真正地鼓励他人× 86 87 需要对任务的优先级做出明确的安排√ 88 能够很好的分出工作的轻重缓急√

相关文档
相关文档 最新文档