华为面试题及答案_第1页
华为面试题及答案_第2页
华为面试题及答案_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1. 请你分别画出 OSI 的七层网络结构图和 TCP/IP 的五层结构图。答: OSI 七层网络结构图应用层表示层会话层传输层网络层数据链路层物理层TCP/IP 的五层结构图应用层运输层网络层数据链路层物理层2. 请你详细地解释一下 IP 协议的定义,在哪个层上面?主要有什么作用? TCP 与UDP 呢?答:IP是In ternet Protocol的简称,是网络层的主要协议,作用是提供不可靠、无连接的数据报传送。 TCP 是 Transmit Control Protocol (传输控制协议)的缩写,在运输层, TCP 提供一种面向连接的,可靠的字节流服务; UDP 是 User Data

2、gram Protocol (用户 数据报 协议)的缩写,在运输层, UDP 提供不可靠的传输数据服务3. 请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?答:交换机属于。 S I 第二层即数据链路层设备。它根据 MAC 地址寻址,通过站表选择路 由, 站表的建立和维护由交换机自动进行。路由器属于 OS I 第三层即网络层设备,它根据 I P 地址 进行寻址,通过路由表路由协议产生。交换机最大的好处是快速,路由器最大的好处是控制能力强。4.请问C+ +的类和C里面的struct有什么区别?答:struct的成员的默认访问说明符为Public,而class的成员的默认访问说明符

3、为Private。其他没有区别插播广告:版权所有:朱科欢迎光临我的网站: ,各位转贴别删,劳动成果啊5. 请讲一讲析构函数和虚函数的用法和作用。答:析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的内存。虚函数是指被关键字virtual说明的函数,作用是使用C+ +语言的多态特性6. 全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?答:一些变量在整个程序中都是可见的,它们称为全局变量。一些变量只能在一个函数中可知,称为局部变量。这就是他们的区别。在任何函数外面定义的变量就是全局变量,在函数内部定义的变量是局部变量,这是它们在程序中的实现过程。操作系统

4、和编译器是根据程序运行的内存区域知道他们的,程序的全局数据放在所分配内存的全局数据区,程序的局部数据放在栈区。7. 8086是多少位的系统?在数据总线上是怎么实现的?答:8086的机器字长是16位,8086使用40个引脚的1 6个做地址/数据复用引腿来传 输数 据,一次读写过程由一个基本总线周期完成,它由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4o在T1期间8086发岀访问目的地的地址信号和地址锁存选通信号ALE ;T2期间发岀读写命令信号RD、WR及其它相关信号;T3期间完成数据的访 问;T4结束该总线周期。可见,地址与数据信号不会同时岀现在一个时钟(CLK)周期,二

5、 者可以分时复用同 一组引线真正的华为笔试题及我的解答今天华为打电话说要给我 Ofer 了,怎么报答他的 Ofer呢,嗯,做套真正的华为笔试题吧。特意提到是真正的华为笔试题,是因为前面我做的号称华为笔试题其实是别人公司的(前面的帖子有解释),下面的内容地球人都说是华为的,难道还不是它的么。哈哈。这些题目相比其他公司的试题,较为基础,全部为C语言,没有涉及 C+ +,但如果不 细心,是很难得到较高分数的。另外大家转贴不要去掉我的个人信息啊。互相宣传下网站嘛。1. 找错void testl () (char stri ng1 0;char* strl = "01 23456789&quo

6、t;strcpy(stri ng, str1);答:表面上并且编译都不会错误。但如果string数组原意表示的是字符串的话,那这个赋值就没有达到意图。最好定义为char string11,这样最后一个元素可以存储字符串结尾符'0';void test2()(char stri ng1 0, str1 10;for(int l = 0; l< 10; l + +)str1l ='a'strcpy(stri ng, str1);导致 strcpy 函数越界访问,不妨让 str1 9 = '0', 这样就正常了void test3(char* s

7、tr1)(char string 1 0;if(strlen(str1 )< = 1 0)(strcpy(string, str1);)如果改为答:这又会出现第一道改错题的错误了。 strlen(strl) 算出来的值是不包含结尾符 '0' 的, str1 刚好为 10 个字符 +1 结尾符 , string 就得不到结尾符了。可将 strlen(str1 )< = 1 0 strlen(str1)< 10 。2. 找错#define MAX_SRM 256DSN get_SRM_no()(static int SRM_no;int I;for(l = 0;l

8、vMAX_SRM;l + + ,SRM_no+ + )(SRM_no %= MAX_SRM;if(MY_SRM.state= = IDLE)break;if(l> = MAX_SRM)return (NULL_SRM); elsereturn SRM_no;)答:我不知道这段代码的具体功能,但明显有两个错误1, SRM_n 。没有赋初值2, 山于 static 的声明,使该函数成为不可重入 ( 即不可预测结果 ) 函数,因为 SRM_no 变量放 在程序的全局存储区中,每次调用的时候还可以保持原来的赋值。这里应该去掉 static 声明。3, 写出程序运行结果int sum(int a)

9、(auto int c= 0;static int b= 3;c+ = 1;b+ = 2;return(a+ b+ c);)void main()(int I;int a=2;for(l = 0; l< 5; l + +)printf("%d,", sum(a);答:8,10,12,14,16该题比较简单。只要注意b声明为static静态全局变量,其值在下次调用时是可以保持住原来的赋值的就可以。插播广告啦:版权所有:朱科欢迎光临我的网站: ,各位转贴别删,劳动成果啊4.int fun c(i nt a)(int b;switch(a)(case 1: b= 30;ca

10、se 2: b= 20;case 3: b= 16;default: b= 0;)return b;则 func(1 )= ?答:func(1 ) = 0,因为没有break语句,switch中会一直计算到 b=0。这是提醒我们不要忘了 breako呵呵。int a3;a0 = 0; a1=1; a2 = 2; int * p, * q;p=a; q=&a2;则 aq-p = ?答: aq-p = a2 = 2; 这题是要告诉我们指针的运算特点6.定义 int *a34, 则变量占有的内存空间为 : 32 位系统,指针占内存空间4 字节,因此总答:此处定义的是指向指针的指针数组,对于

11、空间为 3x4x4 = 48?7.编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入 2004 年12 月 31 I I 23 时 59 分 59 秒,则输出 2005 年 1月 1 I I 0 时 0分。秒。答:/* 输入年月日时分秒,输出年月日时分秒的下一秒,输出仍然在原内存空间 */ void NextMinute(int * nYearjnt * nM * nD * nHourjnt * nMinutejnt * nSecond)(int nDays;(* nSecond)+ + ; / 秒加 1if(*nSecond> = 60

12、) / 秒满 60, 做出特殊处理,下面时,日,月等类同* nSecond= 0;(* nMinute)+ + ;if(* nMinute> = 60)(* nMinute= 0;(* nHOUT+ - if(* nHourv H 24)(* nHouruo (* nDafe) + + - swifch(* nMonfh)(case 1 casew case 5 case T. case99 case0- casenDaysu 31 八break-case 2._ *=?也占=h(* nYear%400" H 0 一nYear% 100 一 H oQOa* nYear%4" H 0)(nDays"29八)e_senDays"200)break- defau-r!-nDaysu 30break-)if(* nDafev nDays)nDate= 1;(* nMonth)+ + ;if(*nMonth>12)* nMonth= 1;(* nYear)+ + ;)/* 示例可运行代码 * /void main()(int nYear= 2004,nMonth= 1 2,nDate= 31 ,nHour= 59,nMinu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论