文档库 最新最全的文档下载
当前位置:文档库 › 2012华为校园招聘上机笔试题+机试+自己做出来的

2012华为校园招聘上机笔试题+机试+自己做出来的

2012华为校园招聘上机笔试题+机试+自己做出来的
2012华为校园招聘上机笔试题+机试+自己做出来的

1. 从两个数组的最后一个元素比较两个数组中不同元素的个数,如有

array1[5]={77,21,1,3,5}, array2[3]={1,3,5},从array1[4]与array2[2]比较开始,到array1[2]与array[0]比较结束。这样得出它们不同的元素个数为0,若array1[6]={77,21,1,3,5,7},那么他们不同的元素为3。

函数原型为int compare_array( int len1, int array1[], int len2, int array2[] );

其中,len1与len2分别为数组array1[]和array2[]的长度,函数返回值为两个数组不同元素的个数。

以下是上题的函数完整实现:

//diff_num.cpp

#include

int compare_array(int len1,int array1[],int len2,int array2[])

{

int i,t,small,num=0;

//把两数组倒置

for(i=0;i

{

t=array1[i];

array1[i]=array1[len1-i-1];

array1[len1-i-1]=t;

}

for(i=0;i

{

t=array2[i];

array2[i]=array2[len2-i-1];

array2[len2-i-1]=t;

}

//输出倒置后的两数组

/* for(i=0;i

printf("%d ",array1[i]);

printf("\n");

for(i=0;i

printf("%d ",array2[i]);

*/ printf("\n");

if(len1>len2)

small=len2;

else

small=len1;

num=small;

for(i=0;i

{

if(array1[i]==array2[i])

num--;

}

printf("num=%d\n",num);

return num;

}

void main()

{

int array1[5]={77,21,1,3,5},array2[3]={1,3,5};

int len1=5,len2=3;

compare_array(len1,array1,len2,array2);

}

如同往年,华为今年刚一开学就来学校宣讲了,9月6日和7日安排了软件研发类的上机笔试(其他职位没有笔试,直接通过网上注册的简历筛选并安排面试)。

说下华为上机考试的特点和一些注意事项:

(1)考试时长为2个小时,总共有3个题(去年是2个题,难度要比今年大些),使用的是VC 6.0;

(2)3个题目中大致第一个题是最简单的,第三个题是最难的,这个难度只是假设你对所有的题都不熟悉而言的,所以在拿到题目过后一定要把所有题目过一遍,弄懂它们的要点,看是否有自己熟悉的题目,也做到心里有数。这算得上是我昨天笔试的时候的一个教训吧;

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

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

以上便是我对于这次考试了解的一些情况,下面说说我做的3个笔试题(题意我只能大概的按我的理解组织下)。

compare_array

1int compare_array( int len1, int array1[], int len2, int array2[] )

2{

3int i;

4/*两个数组最小程度*/

5int min_len;

6/*两个数组不同元素的个数,初始化为0*/

7int diff_num=0;

8

9/*找出两个数组的最小的长度*/

10 len1

11

12for( i=1; i<=min_len; i++ )

13 {

14if( array1[len1-i] != array2[len2-i] )

15 diff_num++;

16 }

17

18return diff_num;

19}

2. 约瑟夫环(待添加)

3. 字符串四则运算的实现

题目大意:有字符串表示的一个四则运算表达式,要求计算出该表达式的正确数值。四则运算即:加减乘除"+-*/",另外该表达式中的数字只能是1位(数值范围0~9)。另若有不能整除的情况,按向下取整处理,eg: 8/3得出值为2。

若有字符串"8+7*2-9/3",计算出其值为19。

主要考点:1. 数字的字符形式变换为数字形式的方法;2. 数字的数字形式变换为数字的字符串形式的方法。

https://www.wendangku.net/doc/7b4052965.html,/share/detail/17893678

(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是指针,它们指向相同的常量区域。c中的字符串不能直接==来判断是否相等,这样比较的结果是比较地址。如果要比较字符串是否相同,应该用strcmp函数。

(4)以下代码中的两个sizeof用法有问题吗?[C易]

void UpperCase( char str[]) // 将str 中的小写字母转换成大写字母

{

for( size_t i=0; i

if( 'a'<=str[i] && str[i]<='z' )

str[i] -= ('a'-'A' );

}

char str[] = "aBcDe"; //含有6个字符,最后一个为结束符

cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl;

UpperCase( str );

cout << str << endl;

答:

在调用UpperCase的函数时,实际传入的是一个地址指针。在函数参数中,char str[]与char *效果是一样的,这样的话实际上uppercase中的sizeof(str)实际上是求指针占了多少

个字节,是4而不是字符的长度6.解决办法:需要给UpperCase函数加一个参数,void UpperCase( char str[],int n);这个n是传进来的数组的长度。

void UpperCase( char str[],int n) // 将str 中的小写字母转换成大写字母

{

for( size_t i=0; i

if( 'a'<=str[i] && str[i]<='z' )

str[i] -= ('a'-'A' );

}

(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可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private

18.#include #include void getmemory(char *p) { p=(char *) malloc(100); strcpy(p,"hello world"); } int main( ) { char *str=NULL; getmemory(str); printf("%s/n",str); free(str); return 0; } 答案:程序崩溃,getmemory中的malloc 不能返回动态内存,free()对str操作很危险

19.char szstr[10]; strcpy(szstr,"0123456789"); 产生什么结果?为什么?答案:长度不一样,会造成非法的OS

20.列举几种进程的同步机制,并比较其优缺点。答案:原子操作信号量机制自旋锁管程,会合,分布式系统

21.进程之间通信的途径答案:共享存储系统消息传递系统管道:以文件系统为基础

22.进程死锁的原因答案:资源竞争及进程推进顺序非法

23.死锁的4个必要条件答案:互斥、请求保持、不可剥夺、环路

24.死锁的处理答案:鸵鸟策略、预防策略、避免策略、检测与解除死锁

25. 操作系统中进程调度策略有哪几种?答案:FCFS(先来先服务),优先级,时间片轮转,多级反馈

26.类的静态成员和非静态成员有何区别?答案:类的静态成员每个类只有一个,非静态成员每个对象一个

27.纯虚函数如何定义?使用时应注意什么?答案:virtual void f()=0; 是接口,子类必须要实现

28.数组和链表的区别答案:数组:数据顺序存储,固定大小连表:数据可以随机存储,大小可动态改变

29.ISO的七层模型是什么?tcp/udp是属于哪一层?tcp/udp有何优缺点?答案:应用层表示层会话层运输层网络层物理链路层物理层tcp /udp属于运输层TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。与TCP 不同,UDP 并不提供对IP 协议的可靠机制、流控制以及错误

恢复功能等。由于UDP 比较简单,UDP 头包含很少的字节,比TCP 负载消耗少。tcp: 提供稳定的传输服务,有流量控制,缺点是包头大,冗余性不好udp: 不提供稳定的服务,包头小,开销小

30:(void *)ptr 和(*(void**))ptr的结果是否相同?其中ptr为同一个指针答案:.(void *)ptr 和

(*(void**))ptr值是相同的

31:int main() { int x=3; printf("%d",x); return 1; } 问函数既然不会被其它函数调用,为什么要返回1?答案:mian中,c标准认为0表示成功,非0表示错误。具体的值是某中具体出错信息

32,要对绝对地址0x100000赋值,我们可以用(unsigned int*)0x100000 = 1234; 那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做?答案:*((void (*)( ))0x100000 ) ( ); 首先要将0x100000强制转换成函数指针,即: (void (*)())0x100000 然后再调用它: *((void (*)())0x100000)(); 用typedef可以看得更直观些: typedef void(*)() voidFuncPtr; *((voidFuncPtr)0x100000)();

33,已知一个数组table,用一个宏定义,求出数据的元素个数答案:#define NTBL #define NTBL (sizeof(table)/sizeof(table[0]))

34。线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有独立的堆栈? 答案:进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。每个线程有自己的堆栈。DLL中有没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的代码是由DLL自己创建的线程所执行,那么是不是说DLL有独立的堆栈?以上讲的是堆栈,如果对于堆来说,每个DLL有自己的堆,所以如果是从DLL中动态分配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个DLL中删除,很有可能导致程序崩溃

35。unsigned short A = 10; printf("~A = %u\n", ~A); char c=128; printf("c=%d\n",c); 输出多少?并分析过程答案:第一题,~A =0xfffffff5,int值为-11,但输出的是uint。所以输出4294967285 第二题,c=0x10,输出的是int,最高位为1,是负数,所以它的值就是0x00的补码就是128,所以输出-128。这两道题都是在考察二进制向int或uint转换时的最高位处理。

华为公司应聘硬件笔试题

华为公司应聘硬件笔试题 一填空 10小题 单相整流的方式,全波,半波 ,_桥式_ fir数字滤波器的名称正弦波电流的有效值 ram的数据线的条数 10进制和16进制的换算绝对可积和频谱存(好像是)在的关系 二单选 大概包括数电模电的一些知识,跟填空题考的内容差不多 记得的有放大器电路中Rb的作用构成线与逻辑的门电路 risc 的处理器三极管开关模式的开关分别工作在哪个模式下随着温度的降低三极管里面的电流怎么样子变化地址数据总线等等 三多选 这部分要难一些,

记得的题目很少,等我记起了之后再补充,只记得一个金属壳电阻容易发生的问题是什么,不懂做还有pll的组成负反馈的作用检波电路的组成竞争冒险的处理几种总线的问题 i2c pci rs323 rs485 吧,题目考什么记不得了~ 四分析题 1 一个时序逻辑电路,先由2选一数据选择器选择信号输入,然后进入d触发器,输出结果再反向进入d触发器,输出结果为y,然后根据二选一的几个输入和cp脉冲的波形画出y的波形。 2 一个集成运放,正端输入vin和电阻,并在正端接稳压管,负端两个等值电阻,一个接地一个反馈,电阻大小等值,求输出电压v0 填空题 1、电阻、电容、电感组成的是分立元件电路。 2、集总电路中电容只存储能量,电感只能量。 3、给补码求原码。

4、差模和共模。 5、x86中内存地址求物理地址。 6、信号分析中分析连续非周期信号用方法,频域的连续性和周期性。 7、信号分析中分析连续周期信号用方法,频域的.连续性和周期性。 8、串口传输方向有哪三种。 9、VHDL赋值语句有哪两种。 选择题 1、互感; 2、三极管工作状态; 3、误码率; 4、网络的几层结构的功能; 5、三极管工作电压; 6、共集、共基和共射; 7、微分方程求传送函数; 8、z的传递函数; 计算题

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

精品文档 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。

华为笔试试题大全

华为笔试试题大全 (陈远跃/整理) 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输出该数值,直至全部输出。写出C程序。 循环链表,用取余操作做 14.不能做switch()的参数类型是: switch的参数不能为实型。 上海华为的一道关于指针方面的编程题 int A[nSize],其中隐藏着若干0,其余非0整数,写一个函数int Func(int* A, int nSize),使A把0移至后面,非0整数移至数组前面并保持有序,返回值为原数据中第一个元素为0的下标。(尽可能不使用辅助空间且考虑效率及异常问题,注释规范且给出设计思路) 华为笔试题含答案 [软件工程题] 写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。 如:100个1是一个组合,5个1加19个5是一个组合。。。。请用C++语言写。 答案:最容易想到的算法是: 设x是1的个数,y是2的个数,z是5的个数,number是组合数 注意到0<=x<=100,0<=y<=50,0<=z=20,所以可以编程为: number=0; for (x=0; x<=100; x++) for (y=0; y<=50; y++) for (z=0; z<=20; z++) if ((x+2*y+5*z)==100) number++; cout<

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

最全的华为校园招聘笔试题 华为笔试 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.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地址由两部分组成,网络号和主机号。不过是要和“子网掩码”按位与上之后才能区分哪些是网络位哪些是主机位。

华为面试笔试题

华为软件测试笔试题 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++)

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;

华为笔试题(答案)

笔试题 选择题 1、以下程序的输出结果是: #include int main() { int n =4; while(n--) { printf("%d ", --n); } printf("\r\n"); return0; } 答案:2 0 2、设有以下宏定义: #define N 4 #define Y(n) ((N+1)*n) 则执行语句:Y(5+1)为: 答案:26 3、 enum ENUM_A { x1, y1, z1 =5, a1, b1 }; enum ENUM_A enumA =y1; enum ENUM_A enumB =b1; 请问enumA和enumB的值是多少? 答案:1, 7

4、若有函数max(a,b),并且函数指针变量p已经指向函数,当调用该函数时正确的调用方法是: 答案:(*p)(a,b)或者p(a,b) 5、对栈S进行下列操作:push(1), push(5), pop(), push(2), pop(), pop(), 则此时栈顶元素是: 答案:没有元素,栈空。 6、在一个32位的操作系统中,设void *p = malloc(100),请问sizeof(p)的结果是: 答案: 32位操作系统的寻址大小是32位,即4字节。 7、若已定义: int a[9], *p = a;并在以后的语句中未改变p的值,不能表示 a[1]地址的表达式是: A)p+1 B)a+1 C) a++ D) ++p 答案:C 8、设有如下定义: unsigned long pulArray[] = {6,7,8,9,10}; unsigned long*pulPtr; 则下列程序段的输出结果是什么? pulPtr = pulArray; *(pulPtr + 2) += 2; printf("%d, %d\r\n", *pulPtr, *(pulPtr + 2)); A) 8, 10 B) 6, 8 C) 7, 9 D) 6, 10 答案:D 9、以下程序运行后,输出结果是什么? void main() { char*szStr = "abcde"; szStr += 2; printf("%1u\r\n", szStr); return; } A) cde B) 字符c的ASCII码值 C) 字符c的地址 D) 出错 答案:C

《华为新员工转正考试笔试题(附答案)》

华为新员工转正笔试题!(超值) 绝对超值~!~!!~ 【第一部分公司篇】 1、华为公司的全称为() A、深圳市华为技术有限公司 B、华为技术有限公司 C、华为公司 D、我司 (答案:B,答A、C者酌情给分,答D者立即辞退,我司三令五申禁止使用该华为内部土语,屡禁不止,老员工不可教也,只好从新员工抓起,格杀勿论) 2、华为公司的企业性质是() A、民营 B、私营 C、国营 D、上市公司 (答案:A,本题主要让考生了解公司的性质) 3、华为公司的商标象征() A、红太阳 B、菊花 C、扇贝 (答案:B,答A者酌情给分,答C者立即辞退,天天就想着吃) 4、从下列选项中选择出公司的常务副总裁() A、任正非 B、孙亚芳 C、李一男 D、郑宝用 E、张燕燕 (答案:BD,答C者立即辞退,让他到李一男的公司去报到吧) 5、华为公司的年终奖一般是在每年的什么时候发() A、元旦后 B、春节前 C、7月下旬或8月上旬 D、劳动节前 E、国庆节前 (答案:C,切记,因为是年中奖,而不是年终奖) 6、华为公司的配给你的股票是() A、**发的 B、用自己的奖金去买 (答案:B) 7、老板常说的土八路,是指() A、老板自己的革命年代的光辉历史 B、本地化的用服兄弟 C、季度考核为D的兄弟

(答案:B) 【第二部分部门篇】 1、你所在的一级部门为() A、技术支援部 B、国际技术支援部 C、国际技术支援部国内分部 D、用服 (答案:B,答A、C者酌情给分,答D者作不合格处理,为了提高技术支援部形象,公司早就取消用服这个字眼,而且于2001年春节后悄悄地将技术支援部前加“国际”二字) 2、你所在的二级部门为() A、传输产品技术支援管理部 B、传输工程部 C、传输用服工程中心 D、光网络产品技术支援管理部 (答案:A,首先得把自己的部门搞清楚,答D者,有远见,有潜力,可以酌情给分,很可能在2001年未就改成这个名字,因为市场中研已经改了,就差技术支援部了) 3、传输的商标为() A、SBS B、SDH C、OptiX D、Metro (答案:C,答A者酌情给分,最起码还知道老商标) 4、技术支援部与国际技术支援部的关系() A、国际技术支援部是技术支援部下面的一个部门,负责海外 B、技术支援部是国际技术支援部下面的一个部门,负责国内 C、技术支援部是国际技术支援部的前身 D、国际技术支援部是技术支援部的前身 (答案:C) 【第三部分业务篇】 1、SBS是() A、传输产品的老商标 B、同步骨干系统 C、傻不傻的拼音缩写 D、帅不帅的拼音缩写

华为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)

2014华为校园招聘笔试算法题汇总

华为2014笔试算法题汇总 1.通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长; 【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出 示例 输入:“deefd”输出:“def” 输入:“afafafaf”输出:“af” 输入:“pppppppp”输出:“p” main函数已经隐藏,这里保留给用户的测试入口,在这里测试你的实现函数,可以调用printf打印输出 当前你可以使用其他方法测试,只要保证最终程序能正确执行即可,该函数实现可以任意修改,但是不要改变函数原型。 一定要保证编译运行不受影响 [cpp] view plaincopy ////////////////////////////////////////////////////////////////////////// #include #include

using namespace std; bool g_flag[26]; void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr) { assert(pInputStr != NULL); int i = 0; if (pInputStr == NULL || lInputLen <= 1) { return; } const char *p = pInputStr; while(*p != '\0') { if (g_flag[(*p - 'a')]) { p++; }else{ pOutputStr[i++] = *p; g_flag[*p - 'a'] = 1; p++; } }

华为面试笔试题项目经理

华为非技术(不正经的)面试指南---项目经理篇(offer get) 春招报华为非技术岗,当时报的供应链,但据说西安这边供应链不招实习生,项目经理可能招,就换成了项目经理。 之后就一直没有收到消息,直到8 月24 号收到优招面试邀请。当时就觉得非常奇怪,一直以为自己没有投简历,后来去官网看的时候想起来应该是春招投的简历被捞起来了。 面试时间是8 月26 日上午10:00,在华为西研所。 非技术岗需要携带物品:身份证(必须带,面试需要刷身份证),简历3 份,成绩单(必须带,含:本科研究生成绩单、四六级成绩单)、证书(非必须) 小tip: 从学校打车过去大概30 块钱,30Min 基本就到了。注意把握时间,尽量早到一点PS:面试等候区水果点心供应不间断,还是很照顾面试者的 我报的项目经理(去了才知道这个岗位招人超级少,一定要去听宣讲会),面试分为4 部分: 群面技术面综合面英语面试 Part1:群面(非技术岗一起面) 每次14 个人左右一起面试,分为A、B 两组,每组7 人。面试者要将结果展示在白板上。 1. 先做自我介绍(第一次有效发言机会,这次发言的意义在于,让别人记住你。如果名字很有意义,欢迎讲出来)。自我介绍时需要面试者记录一起面试的小伙伴的个人信息,面试官会提问:比如,坐在你对面的男生的爱好是啥?哪个同学印象最深,为啥? 2. 各小组2Min 选好组长、记时、陈述人员,并想好组名、口号。 小tip:一定记得把自己小组人员分工及小组信息写在白板上。 3. 发题目,3min 看题目,15min 小组讨论并将结果展示在白板上。这段时间面试官会观察各小组的情况,但不干涉。 PS:题目是成功人士有很多属性,给了15 个,让排出优先顺序。 答题技巧:注意审题,在排序之前先定好排序的标准。这个没有标准答案,你自己自圆其说就好。 4. 小组3Min 汇报成果先完成的小组有优先汇报权。 汇报排序的依据和原因,支持小组成员补充。 5. 面试官对小组方案提出质疑,小组回答。 Member 的第二次有效发言机会,注意把握。面试官会尽量让每个人都有发言的机会,自己注意把握。 6. 另一小组重复4.5***作。 7. 小组长对小组成员贡献度排名,3min 时间。 8. 各小组陈述排名情况。 PS:这里还是要有依据,排名贡献度要有衡量的标准。

华为LTE初级面试题与答案汇总

1.LTE帧结构,上下行配比和特殊子帧配比 无线帧长为10ms,分为2个半帧(5ms)一个半帧有5个子帧(1ms)子帧又分为一般子帧和特殊子帧,一般子帧有2个时隙(0.5ms),特殊子帧有3个特殊时隙(上行导频时隙,保护间隔。下行导频时隙) 3GPP中共规范了7种上下行配比,目前为止只支持配置1(2:2)和配置2(1:3),默认值为配置1 。 3GPP中共规范了9种特殊子帧配比,前为止只支持配置5(3:9:2)和配置7(10:2:2),默认值为配置7.配置5的特点是保护间隔时间长,决定了小区半径大,配置7的特点是下行导频时隙上,并且即可在该时隙上传同步消息,又可传数据信息,即增加了下行数据业务传输的信道,提高了下行的吞吐量。 2.MIMO技术及功能 MIMO技术是多输入多输出天线技术,多输入是指基站天线的输入,多输出是指手机天线的输出。 MIMO有2种模式:空分复用,,2根天线收发不同的数据,提高吞吐量,理论上翻倍。发射分集,2根天线收发相同的数据,并通过最大比合并,提高传输的可靠性。 3.TD中RRC建立失败原因 1.UE 通过RACH 信道发送RRC Connection Request 消息》 2.RNC 通过FACH 信道发送RRC Connection Setup 消息(RNC向Node B发Radio Link Setup Request消息,请求Node B分配RRC连接所需的特定无线链路资源;Node B资源准备成功后,向SRNC应答Radio Link Setup Response消息)》 3.UE 在建立下行专用信道并同步后通过上行专用信道发送RRC Connection Setup CMP 消息。 上行 RACH 的问题 下行 FACH 功率配比问题 小区重选参数问题 下行专用初始发射功率偏低 上行初始功控问题 拥塞问题 设备异常问题等 4.一个RB等于多少子载波,频域上,时域上怎样 一个RB有12个子载波,一个子载波15KHZ,所以在频域上共180KHZ的带宽,时域上是一个时隙,0.5ms,共7个符号。 5.网元架构和接口 ENB,MME,HSS,EAC-GW(S-GW、PDN-GW) UE与ENB之间的接口UU口,ENB与ENB之间的接口是X2,ENB与MME之间的接口是S1-C, ENB 与MME之间的接口是S1-U,HSS与MME之间的接口是S6,S-GW与PDN-GW之间的接口是S5/S8,S-GW与MME之间的接口是S11. 5.e-NodeB的主要功能: 无线资源管理功能,即实现无线承载控制、无线许可控制和连接移动性控制,在上下行链路上完成UE上的动态资源分配(调度); 用户数据流的IP报头压缩和加密; UE附着状态时MME的选择; 实现S-GW用户面数据的路由选择; 执行由MME发起的寻呼信息和广播信息的调度和传输;

届华为校园招聘上机考试题

2012届华为校园招聘上机考试题目(9月6日下午1点场) 分类:华为准备2011-09-08 15:10 281人阅读评论(0) 收藏举报 在网上看到华为在有的地方已经开始机试了,于是决定自己先编着试试。下面是题目和自己写的代码。 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) view plaincopy to clipboardprint? 1. #include 2. #include 3. #include 4. #include 5. #define N 5 6. 7. i nt cal_score(int score[], int judge_type[], int n) 8. 9. { 10. int expert=0; 11. int dazhong=0; 12. int zongfen=0; 13. int i; 14. int number=0; 15. 16. for(i=0;i

华为常用面试题.doc

华为综合面试常见问题 大概几个问题: 1.先自我介绍一下吧?我balabala一通说。 2.你了解华为么?我说,我不是太了解华为,都是从媒体上了解的多一点。从我在华为的朋友哪里就更了解不到什么关于华为的事情了。他表示赞同,并说:“华为实在很辛苦,大家工作的很累了,所以在休息的时候就不太愿意过多的谈论华为了。” 3.华为工作很辛苦的,你能承受么?我说,做什么工作都是很辛苦的。而且人只有在压力下才能释放出更大的力量,才能进步飞速。 4.你对派驻海外工作有问题么?我说没有什么问题,排除我的英语水平。 5.你的英语水平怎么样?我所一般,只能应付而已。 6.我不是太理解,大家都在北京工作,而且学习的时候条件应该越来越好,为什么反而大家都说英语很不行呢,而且学的比我们那个时候还差,我认为应该比我们那个时候好啊,不理解。我接茬,英语只是一门工具而已,它要不断的使用才能越来越好。而我从毕业后,工作基本上是用不到英语的,所以自然就不是太好。但是,我为了不让自己的英语水平下降的太厉害,平时还是时不时的遛着它的。 7.但是,不管怎么说,英语现在越来越成为一种国际语言了,而且在以后也只能是越来越广泛的使用,应该把它学好的。我附和道,是的。 以上是1对2的面试,接下来需要有一些单独的问题,只能问个人了,还是我先出去等,然后我再进去。 8.你要求的薪水是多少?我说6000~7000。 9.有什么衡量标准么?我说我上个工作的薪水是5000,现在通货膨胀的厉害,工资也该膨胀一下了。 10.你对于派往国外工作没有什么意见吧?我说没有。 11.你觉得我要是让你通过,你什么打动了我,你知道我有决定权的?我说,自信、经验和诚实。 12.那你要是通不过,你觉得是什么原因?我说,我没有考虑过在您这里会通不过的,我只是觉得我要是通不过只可能在英语测试上。

华为校园招聘电子科大上机题目

华为校园招聘电子科大上机题目 一.题目描述(60分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个 相同的字符,将非首次出现的字符过滤掉。 比如字符串“abacacde”过滤结果为“abcde”。 要求实现函数:void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串 等长;【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输 出示例输入:“deefd” 输出:“def” 输入:“afafafaf” 输出:“af” 输入:“pppppppp” 输出:“p” main函数已经 隐藏,这里保留给用户的测试入口,在这里测试你的实现函数, 可以调用printf打印输出当前你可以使用其他方法测试,只要 保证最终程序能正确执行即可,该函数实现可以任意修改,但是 不要改变函数原型。一定要保证编译运行不受影响。 二.题目描述(40分):通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席 的重复字母进行压缩,并输出压缩后的字符串。

压缩规则: 1.仅压缩连续重复出现的字符。比如字符串“abcbc“由于无连续重复字符,压缩后的字符串还是“abcbc“。 2.压缩字段的格式为“字符重复的次数+字符“。例如:字符串“xxxyyyyyyz“压缩后就成为“3x6yz“。 要求实现函数: void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr); 【输入】 pInputStr:输入字符串 lInputLen:输入字符串长度 【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;【注意】 只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例输入:“cccddecc” 输出:“3c2de2c” 输入:“adef” 输出:“adef” 输入:“pppppppp” 输出:“8p” 三.题目描述(50分):通过键盘输入100以内正整数的加.减运算式,请编写一个程序输出运算结果字符串。 输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。 补充说明: 1.操作数为正整数,不需要考虑计算结果溢出的情况。 2.若输入算式格式错误,输出结果为“0”。

华为笔试试题

写一个程序, 要求功能:求出用1,2,5这三个数不同个数组合的和为100的组合个数。 如:100个1是一个组合,5个1加19个5是一个组合。。。。请用C++语言写。 答案:最容易想到的算法是: 设x是1的个数,y是2的个数,z是5的个数,number是组合数 注意到0<=x<=100,0<=y<=50,0<=z=20,所以可以编程为: number=0; for (x=0; x<=100; x++) for (y=0; y<=50; y++) for (z=0; z<=20; z++) if ((x+2*y+5*z)==100) number++; cout<

因为x+2y+5z=100 所以x+2y=100-5z,且z<=20 x<=100 y<=50 所以(x+2y)<=100,且(x+5z)是偶数 对z作循环,求x的可能值如下: z=0, x=100, 98, 96, 0 z=1, x=95, 93, ..., 1 z=2, x=90, 88, ..., 0 z=3, x=85, 83, ..., 1 z=4, x=80, 78, ..., 0 ...... z=19, x=5, 3, 1 z=20, x=0 因此,组合总数为100以内的偶数+95以内的奇数+90以内的偶数+...+5以内的奇数+1, 即为: (51+48)+(46+43)+(41+38)+(36+33)+(31+28)+(26+23)+(21+18)+(16+13 )+(11+8)+(6+3)+1 某个偶数m以内的偶数个数(包括0)可以表示为m/2+1=(m+2)/2

华为硬件工程师面试题

DSP、嵌入式、软件等 1、请用方框图描述一个你熟悉的实用数字信号处理系统,并做简要的分析;如果没有,也可以自己设计一个简单的数字信号处理系统,并描述其功能及用途。(仕兰微面试题目) 2、数字滤波器的分类和结构特点。(仕兰微面试题目) 3、IIR,FIR滤波器的异同。(新太硬件面题) 4、拉氏变换与Z变换公式等类似东西,随便翻翻书把如.h(n)=-a*h(n-1)+b*δ(n) a.求h(n)的z变换; b.问该系统是否为稳定系统; c.写出FIR数字滤波器的差分方程;(未知) 5、DSP和通用处理器在结构上有什么不同,请简要画出你熟悉的一种DSP结构图。(信威dsp软件面试题) 6、说说定点DSP和浮点DSP的定义(或者说出他们的区别)(信威dsp软件面试题) 7、说说你对循环寻址和位反序寻址的理解.(信威dsp软件面试题) 8、请写出【-8,7】的二进制补码,和二进制偏置码。用Q15表示出0.5和-0.5.(信威dsp软件面试题) 9、DSP的结构(哈佛结构);(未知) 10、嵌入式处理器类型(如ARM),操作系统种类(Vxworks,ucos,winCE,linux),操作系统方面偏CS方向了,在CS篇里面讲了;(未知) 11、有一个LDO芯片将用于对手机供电,需要你对他进行评估,你将如何设计你的测试项目? 12、某程序在一个嵌入式系统(200M CPU,50M SDRAM)中已经最优化了,换到零一个系统(300M CPU,50M SDRAM)中是否还需要优化?(Intel) 13、请简要描述HUFFMAN编码的基本原理及其基本的实现方法。(仕兰微面试题目) 14、说出OSI七层网络协议中的四层(任意四层)。(仕兰微面试题目) 15、A)(仕兰微面试题目) #i nclude void testf(int*p) { *p+=1; } main() { int *n,m[2]; n=m; m[0]=1; m[1]=8; testf(n); printf("Data value is %d ",*n); } ------------------------------ B) #i nclude void testf(int**p) {

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