华为笔试题
㈠
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的基本工作机制。
sizeof是什么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;
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,出错返回-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;
else
return -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,结果放入m
m=0;/
while(n>0)
{
m=m*10+(n mod 10);
n=n\10;//整除
}}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论