《华为经典笔试题华为笔试题_有答案.doc》由会员分享,可在线阅读,更多相关《华为经典笔试题华为笔试题_有答案.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、华为笔试题1请你分别画出OSI的七层网络结构图和TCP/IP的五层结构图。2请你详细地解释一下IP协议的定义,在哪个层上面?主要有什么作用?TCP与UDP呢?3请问交换机和路由器各自的实现原理是什么?分别在哪个层次上面实现的?4请问C+的类和C里面的struct有什么区别?5请讲一讲析构函数和虚函数的用法和作用。6全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?78086是多少位的系统?在数据总线上是怎么实现的?1H.323协商。 2ipsec为什么是三层的。l2tp为什么是二层的? 3ospf中包的ttl值是多少? 4为什么要划分区域? 6MPLS中RD和RT的作用
2、分别是什么? 7RR防止环路的机制。 8BGP控制out-bound用_,控制进来的用_ 9ospf是工作在哪个协议上的? 10ospf的LSA类型。 11简述OSPF的基本工作机制。 12ppp的lcp和ncp协商过程。 13PSTN的信令控制有哪几种? 14sloari8.0查看进程的命令是什么?linux7.3查看IP的命令是什么 15IP是5.32.0.0,掩码255.224.0.0。请问最大的有效地址是多少 17LX/LH的有效距离是多少? 18IP几个字节? 20CQ能不能有一种流量统治第二种流量,(dominate)? 21FTP下载一个文件完成。有几个TCP连接联想笔试题1设计
3、函数 int atoi(char *s)。2int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?3解释局部变量、全局变量和静态变量的含义。4解释堆和栈的区别。5论述含参数的宏与函数的优缺点。函数是置的,执行效率高,速度快。宏可以自己定制,灵活性较大,但执行速度相对慢。普天C+笔试题1实现双向链表删除一个节点P,在节点P后插入一个节点,写出这两个函数。删除p-pre-next=p-next;p-next-pre=p-pre;delete p;插入new-next=p-next;new-pre=p;p-next-pre=new;p-next=new;
4、2写一个函数,将其中的 都转换成4个空格。3Windows程序的入口是哪里?写出Windows消息机制的流程。4如何定义和实现一个类的成员函数为回调函数?5C+里面是不是所有的动作都是main()引起的?如果不是,请举例。6C+里面如何声明const void f(void)函数为C程序中的库函数?7下列哪两个是等同的int b;A const int* a = &b;B const* int a = &b;C const int* const a = &b;D int const* const a = &b;8联函数在编译时是否做参数类型检查?void g(base & b) b.play;
5、void main() son s; g(s); return; 2005年华为招聘-C语言笔试试题 一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)1、有数组定义int a22=1,2,3;则a01的值为0。( T )2、int (*ptr) (),则ptr是一维数组的名字。( F, ptr为一个函数指针 )3、指针在任何情况下都可进行,=,=,=运算。( F,指针比较大小没有任何意义,但是可以比较=与!= )4、switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。( F,不可以为float )5、#define p
6、rint(x) printf(the no, #x,is ) (T)二、填空题(共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 str100) sizeof(str)=( 4 ) 2、void setmemory(char *p, int num) *p=(char *) malloc(num);void test(void) char *str=NULL; setmemor
7、y(&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;i nclude i nclude int mystrcmp(char *source, char *dest
8、) while(*source = *dest & *source != 0 & *dest != 0) source+; dest+; if (*source =0 & *dest = 0) return 0; else return -1; int main() char *str1 = abcde; char *str2 = abcd; printf(ret = %d, mystrcmp(str1, str2); return 0;2、写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1i nclude i nclude int rollba
9、ck(char *str) char *p = str; while(*(str+); str-=2; while(*(p+) = *(str-) & *p != 0) ; if (*p = 0) return 0; else return -1;int main() char *str1 = abaaba; printf(ret = %d, rollback(str1); return 0;3请问C+的类和C里面的struct有什么区别?答:struct的成员的默认访问说明符为Public,而class的成员的默认访问说明符为Private。其他没有区别4请讲一讲析构函数和虚函数的用法和作用
10、。答:析构函数是在对象生存期结束时自动调用的函数,用来释放在构造函数分配的存。虚函数是指被关键字virtual说明的函数,作用是使用C+语言的多态特性 5全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?答:一些变量在整个程序中都是可见的,它们称为全局变量。一些变量只能在一个函数中可知,称为局部变量。这就是他们的区别。在任何函数外面定义的变量就是全局变量,在函数部定义的变量是局部变量,这是它们在程序中的实现过程。操作系统和编译器是根据程序运行的存区域知道他们的,程序的全局数据放在所分配存的全局数据区,程序的局部数据放在栈区。6。有1,2,3,4,n个数放在一个数组里,按
11、大小排序,输出。 7。写一个算法,将一个数按高位到低位逆转,例如,用户输入123,则输出321。初始的数据放入n,结果放入mm=0;/while(n0) m=m*10+(n mod 10);n=n10;/整除 8。抽象类和接口的区别是什么?(1)接口可以被多重implements,抽象类只能被单一extends(2)接口只有定义,抽象类可以有定义和实现(3)接口的字段定义默认为:public static final, 抽象类字段默认是friendly 华为软件测试笔试题前面几道大题是基础形的判断、选择、阅读理解题,涉及到网络、通信、软件工程等等,都是大英文。不过不难,CET4的水平就差不多了
12、,但是重要的还是计算机方面的一些基础知识。后面的几道大题如下:1、有A、B两个水杯,都没有刻度,也不允许做刻度。A杯装满水是5升,B杯装满水是3升。不借助别的任何工具,只用这两个杯子如何精确的得到4升水?思路:大水杯倒满5升水,倒3升进小水杯,剩下2升;倒掉小水杯的水,把大水杯里的2升水倒进小水杯,此时小水杯还剩1升空间;再倒满大水杯,然后用大水杯的水倒满小水杯,则大水杯剩4升水。2、软件工程中,根据软件开发的 V 模型,有哪些基本的阶段划分?3、软件测试方法有哪些分类?各有什么特点?设计测试用例的主要方法有哪些?4、网络安全方面,简述Syn_FLOOD攻击的原理。你还知道哪些类型的网络攻击?
13、一、根据一“策略收获”图,三可以选择横向的方案A和方案B,四可以选择纵向的方案1、方案2、方案3。两人选择方案的交叉点就是两人各自的收获。比如三选择方案B,四选择方案1,交叉点是(50,80),则三收获50元,四收获80元。两人都想让自己的收获尽可能的高,选择方案时两人均不知对方的选择。问两人最终的收获各是多少?二、桌上排列着一行乒乓球,一共100个。两个人轮流拿球装入口袋,拿到第100个球的人是胜利者。每次拿球最少拿1个,最多拿5个。如果你先开始拿球,你要拿几个?以后你要怎样拿球,才能保证你能拿到第100个?小生不才,我的智力题目答案如下:思路:如果第100个球我一定要拿,那么我一定要拿到第
14、94个球且不能拿第95个球;我一定要拿到第94个球,那么我一定要拿到第88个球且不能拿第89个球;我一定要拿到第88个球,那么我一定要拿到第82个球且不能拿第83个球;以此类推,我开始的时候一定要拿到第4个球且不能拿到第5个球;即,一开始拿4个,以后每次拿的数目是6减去对方数目;三、冒泡排序。用C 或 Java 语言。(从小到大排序)void BubleSort(int i , int *Marry) int m; int n; int nTemp; for(m = 0;mI;m+) for(n = 0;nMarryn+1)nTemp = Marryn;Marryn = Marryn+1;Marryn+1 = nTemp;