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