华为笔试题系列.doc
《华为笔试题系列.doc》由会员分享,可在线阅读,更多相关《华为笔试题系列.doc(5页珍藏版)》请在冰豆网上搜索。
华为笔试题系列.txt生活,是用来经营的,而不是用来计较的。
感情,是用来维系的,而不是用来考验的。
爱人,是用来疼爱的,而不是用来伤害的。
金钱,是用来享受的,而不是用来衡量的。
谎言,是用来击破的,而不是用来装饰的。
信任,是用来沉淀的,而不是用来挑战的。
1.以下属于数据链路层的设备是()(A)中继器(B)以太网交换机(C)网桥(D)网关2.解决路由环问题的办法是()(A)定义路由权的最大值(B)路由保持法(C)水平分割(D)路由器重起3.BGP是在()之间传播路由的协议(A)主机(B)子网(C)区域(area)(D)自治系统(AS)4.配置备份中心的目的是()(A)增加网络的带宽(B)提高网络的可用性(C)防止数据传输的意外中止(D)降低网络的传输费用5.以下内容那些是路由信息中所不包含的()(A)目标网络(B)源地址(C)路由权值(D)下一跳6.选出基于TCP协议的应用程序()(A)PING(B)TFTP(C)TELNET(D)OSPF7.X.25协议提供给用户的可用的逻辑信道最多为()条(A)16(B)32(C)4095(D)40968.OSI代表()(A)OrganizationforStandardsInstitute(B)OrganizationforInternetStandards(C)OpenStandardsInstitute(D)OpenSystemsInterconnection9.帧中继LMI一般占用哪几个DLCI()(A)0(B)16(C)1007(D)102310.PPP验证成功后,将由Authenticate阶段转入什么阶段()(A)Dead(B)Establish(C)Network(D)Terminate11.在七十年代末,国际标准化组织ISO提出了开放系统互连参考模型。
协议分层大大简化了网络协议的复杂性,在OSI7层模型中,网络层的功能主要是()(A)在信道上传输原始的比特流(B)加强物理层数据传输原始比特流的功能并且进行流量调控(C)确定数据包从源端到目的端如何选择路由(D)确保到达对方的各段信息正确无误12.访问列表如下:
access-list4deny202.38.0.00.0.255.255access-list4permit202.38.160.10.0.0.255应用于该路由器端口的配置如下:
Quidway(config)#firewalldefaultpermitQuidway(config-if-Serial0)#ipaccess-group4in该路由器E0口接本地局域网,S0口接到INTERNET,以下说法正确的有:
()(A)所有外部数据包都可以通过S口,自由出入本地局域网(B)内部主机可以任意访问外部任何地址的主机(C)内部主机不可以访问本列表禁止的外部地址的主机(D)连在该路由器其他端口的主机可任意访问内部网资源13.在IPX之上承载各种上层协议,包括()(A)Rip(B)Netbios(C)Ncp(D)Tcp14.在帧中继封装中配置静态MAP必须指定哪些参数:
()(A)本地的DLCI(B)对端的DLCI(C)本地的协议地址(D)对端的协议地址15.某公司申请到一个C类IP地址,但要连接6个的子公司,最大的一个子公司有31台计算机,每个子公司在一个网段中,则子网掩码应设为()(A)255.255.255.0(B)255.255.255.128(C)255.255.255.192(D)255.255.255.224(E)255.255.255.240(F)以上都不对!
16.以下关于Rip路由聚合的说法正确的是(A)RipV1默认支持路由聚合,需要时可以关闭路由聚合功能(B)华为Quidway系列路由器RipV2的实现可以关闭路由聚合功能(C)、RipV1不支持子网路由聚合到一个非自然子网路由(D)RipV2支持子网路由聚合到一个非自然子网路由17.当一台主机从一个网络移到另一个网络时,以下说法正确的是()(A)必须改变它的IP地址和MAC地址(B)必须改变它的IP地址,但不需改动MAC地址(C)必须改变它的MAC地址,但不需改动IP地址(D)MAC地址、IP地址都不需改动=====================【华为笔试题系列2】=====================1.写出判断ABCD四个表达式的是否正确,若正确,写出经过表达式中a的值(3分) inta=4; (A)a+=(a++);(B)a+=(++a);(C)(a++)+=a;(D)(++a)+=(a++); a=?
答:
C错误,左侧不是一个有效变量,不能赋值,可改为(++a)+=a; 改后答案依次为9,10,10,11 2.某32位系统下,C++程序,请计算sizeof的值(5分). charstr[]=“” char*p=str; intn=10; 请计算 sizeof(str)=?
(1) sizeof(p)=?
(2) sizeof(n)=?
(3) voidFoo(charstr[100]){ 请计算 sizeof(str)=?
(4) } void*p=malloc(100); 请计算 sizeof(p)=?
(5) 答:
(1)17
(2)4(3)4(4)4(5)4 3.回答下面的问题.(4分)
(1).头文件中的ifndef/define/endif干什么用?
预处理 答:
防止头文件被重复引用
(2).#include《filename.h》和#include“filename.h”有什么区别?
答:
前者用来包含开发环境提供的库头文件,后者用来包含自己编写的头文件。
查找的 (3).在C++程序中调用被C编译器编译后的函数,为什么要加extern“C”声明?
答:
函数和变量被C++编译后在符号库中的名字与C语言的不同,被extern"C"修饰的变量和函数是按照C语言方式编译和连接的。
由于编译后的名字不同,C++程序不能直接调用C函数。
C++提供了一个C连接交换指定符号extern“C”来解决这个问题。
(4).switch()中不允许的数据类型是?
答:
实型 4.回答下面的问题(6分)
(1).VoidGetMemory(char**p,intnum) { *p=(char*)malloc(num); } voidTest(void) { char*str=NULL; GetMemory(&str,100); strcpy(str,"hello"); printf(str); } 请问运行Test函数会有什么样的结果?
答:
输出“hello”
(2).voidTest(void) { char*str=(char*)malloc(100); strcpy(str,“hello”); free(str); if(str!
=NULL) { strcpy(str,“world”); printf(str); } } 请问运行Test函数会有什么样的结果?
答:
输出“world” (3).char*GetMemory(void) { charp[]="helloworld"; returnp; } voidTest(void) { char*str=NULL; str=GetMemory(); printf(str); } 请问运行Test函数会有什么样的结果?
答:
无效的指针,输出不确定 5.编写strcat函数(6分) 已知strcat函数的原型是char*strcat(char*strDest,constchar*strSrc); 其中strDest是目的字符串,strSrc是源字符串。
(1)不调用C++/C的字符串库函数,请编写函数strcat 答:
VC源码:
char*__cdeclstrcat(char*dst,constchar*src) { char*cp=dst; while(*cp) cp++;/*findendofdst*/ while(*cp++=*src++);/*Copysrctoendofdst*/ return(dst);/*returndst*/ }
(2)strcat能把strSrc的内容连接到strDest,为什么还要char*类型的返回值?
答:
方便赋值给其他变量 6.MFC中CString是类型安全类么?
答:
不是,其它数据类型转换到CString可以使用CString的成员函数Format来转换 7.C++中为什么用模板类。
答:
(1)可用来创建动态增长和减小的数据结构
(2)它是类型无关的,因此具有很高的可复用性。
(3)它在编译时而不是运行时检查数据类型,保证了类型安全 (4)它是平台无关的,可移植性 (5)可用于基本数据类型 8.CSingleLock是干什么的。
答:
同步多个线程对一个数据类的同时访问 9.NEWTEXTMETRIC是什么。
答:
物理字体结构,用来设置字体的高宽大小 10.程序什么时候应该使用线程,什么时候单线程效率高。
答:
1.耗时的操作使用线程,提高应用程序响应 2.并行操作时使用线程,如C/S架构的服务器端并发线程响应用户的请求。
3.多CPU系统中,使用线程提高CPU利用率 4.改善程序结构。
一个既长又复杂的进程可以考虑分为多个线程,成为几个独立或半独立的运行部分,这样的程序会利于理解和修改。
其他情况都使用单线程。
11.Windows是内核级线程么。
答:
见下一题 12.Linux有内核级线程么。
答:
线程通常被定义为一个进程中代码的不同执行路线。
从实现方式上划分,线程有两种类型:
“用户级线程”和“内核级线程”。
用户线程指不需要内核支持而在用户程序中实现的线程,其不依赖于操作系统核心,应用进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。
这种线程甚至在象DOS这样的操作系统中也可实现,但线程的调度需要用户程序完成,这有些类似Windows3.x的协作式多任务。
另外一种则需要内核的参与,由内核完成线程的调度。
其依赖于操作系统核心,由内核的内部需求进行创建和撤销,这两种模型各有其好处和缺点。
用户线程不需要额外的内核开支,并且用户态线程的实现方式可以被定制或修改以适应特殊应用的要求,但是当一个线程因I/O而处于等待状态时,整个进程就会被调度程序切换为等待状态,其他线程得不到运行的机会;而内核线程则没有各个限制,有利于发挥多处理器的并发优势,但却占用了更多的系统开支。
Wi