搜索
您的当前位置:首页正文

华为经典笔试题华为笔试题_有答案

来源:小奈知识网
华为笔试题 ㈠

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后插入一个节点,写出这两个函数。 删除{

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; }

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 #i nclude

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\

return 0; }

2、写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1

#i nclude #i nclude

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\

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;//整除 }}

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 语言。(从小到大排序)

void BubleSort(int i , int *Marry) {

int m; int n;

int nTemp;

for(m = 0;mfor(n = 0;nIf (Marry[n]>Marry[n+1]) {

nTemp = Marry[n]; Marry[n] = Marry[n+1]; Marry[n+1] = nTemp; } } }

因篇幅问题不能全部显示,请点此查看更多更全内容

Top