常见华为面试题

时间:2022-12-30 07:43:54 试题试卷 收藏本文 下载本文

常见华为面试题(共9篇)由网友“霹雳快乐废料”投稿提供,下面就是小编给大家带来的常见华为面试题,希望大家喜欢,可以帮助到有需要的朋友!

常见华为面试题

篇1:常见华为面试题

许多大公司都会有自己的面试考题,下面总结了一些华为面试中最常见的问题与大家分享,

Q1:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

Q2:请问C++的类和C里面的struct有什么区别?

Q3:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

Q4:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?

Q5:一些寄存器的题目,主要是寻址和内存管理等一些知识,

Q6:8086是多少尉的系统?在数据总线上是怎么实现的?

Q7:请讲一讲析构函数和虚函数的用法和作用?

Q8:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

篇2:华为面试题

Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?

Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

Q4:请问C++的类和C里面的struct有什么区别?

Q5:请讲一讲析构函数和虚函数的用法和作用?

Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。

Q8:8086是多少尉的系统?在数据总线上是怎么实现的?

“华为面试题”版权归作者所有;请注明出处!

篇3:华为面试题

面试题答案

1.请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

OSI/ISO根据整个计算机网络功能将网络分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层七层。也称“七层模型”。

TCP/IP“五层模型”分为:物理层、网络接口层、网络层(IP层)、传输层(TCP/UDP层)、应用层。

2.请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP呢?

IP协议是网络层的协议,它实现了自动路由功能,也就是寻径的功能。TCP协议是传输层的协议,它向下屏蔽了IP协议不可靠传输的特性,向上提供一个可靠的点到点的传输;UDP也是传输层的协议,提供的是一种无连接的服务,主要考虑到很多应用不需要可靠的连接,但需要快速的传输,如局域网中的计算机传输文件一般使用UDP协议。

3.请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

交换机用在局域网中,交换机通过记录局域网内各节点机器的MAC地址就可以实现传递报文,无需看报文中的IP地址。路由器识别不同网络的方法是通过识别不同网络的网络ID号(IP地址的高端部分)进行的',所以为了保证路由成功,每个网络都必须有一个唯一的网络编号。路由器通过察看报文中IP地址来决定路径,向那个子网(下一跳)路由。也就是说交换机工作在数据链路层看MAC地址,路由器工作在网际层看IP地址。但是由于现在网络设备的发展,很多设备既有交换机的功能有由路由器的功能(交换式路由器)使得两者界限越来越模糊。

4.请问C++的类和C里面的struct有什么区别?

C++的class具有数据封装功能,其包含属性访问级别可以为private,public和protect,还具有实现类接口功能和辅助功能的操作函数,而struct属性访问权限只有public,没有数据封装功能,也就没有实现信息隐藏这一面向对象的思想的机制,struct本身不含有操作函数,只有数据。

5.请讲一讲析构函数和虚函数的用法和作用?

析构函数是在类对象死亡时由系统自动调用,其作用是用来释放对象的指针数据成员所指的动态空间,如果在构造函数中,你申请了动态空间,那么为了避免引起程序错误,你必须在析构函数中释放这部分内存空间。如果基类的函数用virtual修饰,成为虚函数,则其派生类相应的重载函数仍能继承该虚函数的性质,虚函数进行动态联编,也即具有多态性,也就是派生类可以改变基类同名函数的行为,在面向对象世界中,多态是最强大的机制,虚函数就是这一机制的c++实现方式。

6.全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,所占据的内存释放。

操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载.局部变量则分配在堆栈里面。

7.8086是多少位的系统?在数据总线上是怎么实现的?

答:8086的机器字长是16位,8086使用40个引脚的16个做地址/数据复用引腿来传输数据,一次读写过程由一个基本总线周期完成,它由4个时钟(CLK)周期组成,按时间顺序定义为T1、T2、T3、T4。在T1期间8086发出访问目的地的地址信号和地址锁存选通信号ALE;T2期间发出读写命令信号RD、WR及其它相关信号;T3期间完成数据的访问;T4结束该总线周期。可见,地址与数据信号不会同时出现在一个时钟(CLK)周期,二者可以分时复用同一组引线。

篇4:华为招聘面试题精选

1:请你分别划划osi的七层网络结构图,和tcp/ip的五层结构图?

2:请你详细的解释一下ip协议的定义,在哪个层上面,主要有什么作用? tcp与udp呢?

3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

4:请问c++的类和c里面的struct有什么区别?

5:请讲一讲析构函数和虚函数的用法和作用?

6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

7:一些寄存器的题目,主要是寻址和内存管理等一些知识。

8:8086是多少尉的系统?在数据总线上是怎么实现的?

篇5:华为招聘面试题精选

xx年9越18日进行的校园招聘

华为效率很高,果然是狼性文化啊,从一面到最后一面,一天结束,我比较幸运的是最后一面已经知道自己能拿到offer啦,小小的得意一下。

华为分为4面,技术面,集体面试,压力测试和主管面。下面分结合我自己的经历进行分部分介绍。

第一面:技术面

通知我18日10:30去面试,我接近10点的时候过去,晕,还是好多人,然后排了号等待吧。这里提醒大家,华为的面试通知时间只是他们的对人数的一个估计,面试的早晚是按你到来的早晚进行的,好多公司都是这样,所以以后要想早点面试的话,可以提前去,交简历排队等等。接下来我就是在焦急的等待中。终于到了11点多一点,叫道我了。一个身材稍微有点发福的大叔。挺和气的。首先是自我介绍,还发生了点小插曲。当我说我喜欢打篮球的时候,这个面试官大叔笑着说:“看的出来”。这一刻我真的很纠结,这也能看的出来?介绍完之后,他问我专业排名,我说自己大学还行,研究生就马马虎虎了,然后他又问具体拍多少,当我说到50%,他又问有多少人排多少,我如实相告,98人排50多名,他笑着很纠结的给哥来了句,“那就是中下等了呗,打篮球打的了吧!”。无比纠结。闲话不说啦,进入技术面,出的题目挺多,我尽可能的多想出来点。

指向指针的指针的用法,作用

双向链表节点的删除

冒泡排序(蛋疼,唯一答错的一道题,我把冒泡和选择整混了,我还一直坚持我的意见,我还引导他,后来,我引导到最后发现,我错了,好尴尬。)

很简单的数据库操作,就是两个简单的排序,使用到order by和between and

自己做的项目很多都是负责数据库的设计和优化,这个要是问的更深点,哥还是真不怕的。倒是希望能多问点这方面的,毕竟这方面还是有点水平的,嘿嘿。

socket编程,服务器端和客户端各个函数,只要能说出大概就行

服务器端:socket, bind(), listen(), accept(),….close(),

客户端:socket(), connect(),close()等等

进程的通信方式,我讲的是linux下的6中进程通信方式,只要说出名字就行

介绍下数据挖掘。我研究生主要是做数据挖掘的,他应该主要是考察我对自己的方向的熟悉程度。我就结合一个做过的863的项目,给他一顿的忽悠,感觉自己还挺能忽悠的,呵呵,主要是做过的东西还是了如指掌的,介绍起来也没什么难度。

了解什么设计模式,举出来一个例子。

当听到这个问题的时候,我当时就“震精”啦,这个c++面试还问设计模式,我人品有这么差吗?幸亏“四人帮”的那本《设计模式》还是看过的。本来想说工程模式呢,但是想想,估计很多人对这个都很熟,还是说个单件吧。我就解释下单件,他还让我写下单件的实现代码,我靠,这是华为的面试吗,至于吗?没办法,就写个个很常规的动态申请实现的单件模式,他还挺满意,然后我还不忘的秀一下,说:这个不是最好的实现,我在论坛的帖子上看到过更好的一种实现,就是将对象放在静态存储区,这样能保证一个进程中只有一个实例存在。哈哈,这下他很开心的笑啦,我知道,我这样说,代表了很多。呵呵,这个表象还是相当满意的。

解释下c++中继承和多态

这个没什么可说的,关键点在于:继承的作用是实现代码重用,从父类中继承共性的东西,加入一些个性的东西,继承分为public,protected和private继承。多态是根据上下文环境,调用不同的实现代码,它的作用是实现接口重用,它分为静态多态和动态多态。静态多态的可以用重载和模板实现,动态就是我们经常使用的virtual关键词,我们一般说的多态就virtual表示的动态多态。它是运行时根据实际的对象进行调用的。

其中,还有三四个题想不起来了,感觉问的很多

最后他应该是很满意我的表现,说我这关你是过了,你前边3,4个人我这关都没过去,你表现还挺好。

然后给我出了个自由发挥的题,说:现在有一个视频挖掘方面的项目,而你是做文本挖掘的,这两种的处理方式肯定有很大的处理差别,你会这么做。这个就自我发挥了。我就说查资料啊,请教他人啊什么的,后来他问我:你对这个项目的态度是做还是不做,靠,这个肯定是做啦,然后我很坚定的说,做,肯定做,这个对我自己的发展也是一种积累,能让我有更广阔的技术积累。哈哈,这个面试官很开心的笑了,然后给我讲了些华为艰苦奋斗啊什么的,然后我我在第二轮的时候可能会问到这些,自己要坚定什么的。呵呵,挺口气是希望我过第二轮啦,好high啊

然后道谢,出来啦。问了接近25分钟,我旁边那组面了2个人,我这边才我一个。

出来后,和同学一交流我郁闷啦,

好多都是问两三个问题,然后聊聊天。我去,我人品确实很差啊,郁闷。这个面的也未免太多了吧,比丫的腾讯还多。

技术面总结:这个技术面有很大的运气成分在里边,有的面试官问的不多,就聊聊天,有的就是问的很多,像面我的这个,应该是技术大牛之类的吧。不过还是平常多做开发,实际项目中用到的知识远比看什么程序员面试宝典重要,呵呵,尽管我也看了下,但是里边有很多错误的地方。自己在平常做项目的时候,最好能将一些自己不太熟的技术难点做下笔记,在这中面试前拿出来可以看下,很有帮助的,我研究生期间笔记记了三大本,博客也有,这些你写下来的过程,相当于又思考了一遍,对自己挺好的,以后拿出来看的时候能很快回想回来。像其他的一些题啊什么的,平常注意积累就行了。

第二面:群面

首先是自我介绍,必须包含自己的专业,排名,兴趣爱好,优缺点,性格和职业规划。

大家就在这边一顿的猛吹,不过看的出来大家都很紧张,我一看大家都挺紧张,然后感觉有点自信啦,哈哈,轮到我的时候而是一顿忽悠。不过自我介绍还是挺重要的,直接关系到面试官对你的印象。

第二个环节是分组讨论题目是成功的因素是什么,给了13个词语,按照对成功的重要性从高到低进行排序。在5分钟内给出自己的答案,交给面试官,然后给15分钟小组讨论,小组得出一个统一意见的排序。这个环节我们组表现很好,很团结,另外一个小组内部出现了意见的不同意,然后被面试官猛问。这个时候,基本上可以预想到他们要杯具啦。不是我们太优秀,而是他们自身出了很大的问题。第三个环节就是互相评价,并排除最好到最差的顺序这是华为群面最让人蛋疼的一个环节,还好今天大部分是对对方小组成员的排序。终于面完了,从两点多面到接近5点,丫的面了两个半小时。在教室等了会,一会结果出来了,12个人,刷掉5个,我们组只刷掉一个,对方小组刷掉4个人。果然和我猜测的差不多。群面总结:群面不能说太多,也不能什么也不说。说的太多的话,除非你是特别优秀,否则肯定是被刷。我们组的组长说的挺多的,但是很优秀,最后留下了,而对方小组组长,就是反面教材了,一方面说自己又多么优秀,另一方面基本小组成员不太赞同他,肯定杯具啦。也不能说太少,要在适当的时候提出自己的观点,不能太偏激,提出观点的时候不能太具攻击性。中庸最好了。我这也是在挫折中成长的,丫的华赛在群面的时候,就是因为我说的太少而导致出局的。汲取教训才是王道啊。哈哈。

第三面压力测试

这个环节好像出什么问题了,直接进入四面,大boss面

第四面大boss面

等到下午5点多,终于等到最后一面了。被我们称之为大boss的人估计至少是主管之类的以上的级别。人还是挺和气的。我进去了,我们就随便聊了几句。就是问你有女朋友吗,家乡是哪里的,家里人同意你在深圳工作吧…,主要是考察你给你offer之后是否拟会签。这个我已经是想好了的答案。感觉自己答得还是挺好。然后他就说:对你基本上没什么问题了,第一面的面试官对你的评价很高,他希望你能跟他做他那个方向。我k,我还不知道他是什么方向呢,然后我很愕然的说他做的什么方向,这次轮到大boss愕然了,然后说他没和你沟通,我说没有啊。然后我说我希望做云计算方面的。然后我们又是一阵讨论,反正基本上他的意思是第一个面试官对我评价很高,要我去他的那个方向,然后就是说云现在就是炒作的一个概念。我无语啦,然后又说每个方向都是很有前途的…,靠,不管了,我说:那我就服从公司的决定吧。靠,这次丫满意的笑了。然后说,今天就面试到这吧,过几天我们的工作人员会联系你的。

出来啦,靠算是安心啦,如果我没理解错的话应该是没什么问题了。好,拿到一个垫底的offer,下一步就是好好的准备腾讯和百度。

这个环节没什么可总结的。走到这一步的人基本上都能留,只要没出什么大的差错。比如说自己很不同意公司的安排什么的。基本上没什么大问题。华为招这么多人,每年都是大批的发offer。哎,华为啊,鸡肋。

篇6:常见面试题

常见面试题整理

问题:请给我们谈谈你自己的一些情况

回答:简要的描述你的相关工作经历以及你的一些特征,包括与人相处的能力和个人的性格特征,如果你一下子不能够确定面试者到底需要什么样的内容,你可以这样说:“有没有什么您特别感兴趣的范围?”

点评:企业以此来判断是否应该聘用你。通过你的谈论,可以看出你想的是如何为公司效力还是那些会影响工作的个人问题。当然,还可以知道你的一些背景。

问题:你是哪年出生的?你是哪所大学毕业的?等等

回答:我是XXXX年出生的。我是XX大学毕业的。

点评:这类问题至为关键的是要针对每个问题简洁明了的回答,不可拖泥带水,也不必再加什么说明。完全不必再画蛇添足的说“我属X,今年XX岁”之类的话。至于专业等或许主考官接下来的问题就是针对此而言的,故而不必迫不及待和盘托出。

问题:请谈一下你对公司的看法,为什么你想来公司工作?

回答:可根据你先前对该公司的情报收集,叙述一下你对公司的了解。适当的对公司的声誉、产品和发展情况予以赞美。还可以提提你为了了解公司的情况所做的努力然后就说你非常喜欢这个工作,而且你的能力也非常适合并能胜任这份工作。

点评:此问目的测试一下你对公司的了解和喜欢的程度,看看你的能力是否符合公司的要求和方向,

看看你是真正地愿意为公司效力,还是仅仅冲着公司的福利、声望和工作的'稳定。

问题:你认为对你来说现在找一份工作是不是不太容易,或者你很需要这份工作?

回答:

1.是的。

2.我看不见得。

点评:

一般按1回答,一切便大功告成

有些同学为了显示自己的“不卑不亢“,强调个人尊严,故按2回答。结果,用人单位打消了录用该生的念头,理由是:“此人比较傲“一句话,断送了该生一次较好的就业机会。

问题:你是怎么应聘到我们公司的?

回答:贵公司是国际上有名的汽车工业公司,虽然我学的专业不是汽车专业,但我一直留意、关心贵公司的发展,特别是贵公司注重对员工的培训,更让我心动,另外象贵公司这样大的企业,我想是各种专业人才都需要的,便毅然前来应聘。

点评:该毕业生的专业虽然不是该公司紧缺的专业,但他分析了公司招聘职位的具体要求,认为可以应试该公司的某一种职位要求。(如管理、营销、秘书),如食品工程专业的求职面远不只局限于食品的加工企业,可延伸至饮品、酒类、保健品、调味品甚至酒楼等多个行业。都会有适合自己的职位。

篇7:面试技巧:华为面试题

Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢?

Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?

Q4:请问C++的类和C里面的struct有什么区别?

Q5:请讲一讲析构函数和虚函数的用法和作用?

Q6:全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?

Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识,

面试技巧:华为面试题

Q8:8086是多少尉的系统?在数据总线上是怎么实现的?

职场贴士:把工作当成商场战争中的敌人。对待敌人就要像秋风扫落叶一般,苛刻、严谨、一丝不苟并且不遗余力。狠挖节点,突破瓶颈,在实践中实现升华。

篇8:华为软件研发面试题

1、局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用“::” ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?

答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错.

4、请写出下列代码的输出内容

#include

int main(void)

{

int a,b,c,d;

a=10;

b=a++;

c=++a;

d=10*a++;

printf(“b,c,d:%d,%d,%d”,b,c,d);

return 0;

}

答:10,12,120

5、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?

答: 1) 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域, 即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用, 因此可以避免在其它源文件中引起错误。

2) 从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。 3) static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件

综上所述:

static全局变量与普通的全局变量有什么区别:

static全局变量只初使化一次,防止在其他文件单元中被引用;

static局部变量和普通局部变量有什么区别:

static局部变量只被初始化一次,下一次依据上一次结果值;

static函数与普通函数有什么区别:

static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝

6、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于( 堆)中。

7、设有以下说明和定义:

typedef union

{

long i;

int k[5];

char c;

} DATE;

struct data

{

int cat;

DATE cow;

double dog;

} too;

DATE max;

则语句 printf(“%d”,sizeof(struct data)+sizeof(max));的执行结果是:___52____

考点:区别struct与union.(一般假定在32位机器上)

答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20. data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32. 所以结果是 20 + 32 = 52. 当然...在某些16位编辑器下, int可能是2字节,那么结果是 int2 + DATE10 + double8 = 20

8、队列和栈有什么区别?

队列先进先出,栈后进先出

9、写出下列代码的输出内容

#include

int inc(int a)

{ return(++a); }

int multi(int*a,int*b,int*c)

{ return(*c=*ab); }

typedef int(FUNC1)(int in);

typedef int(FUNC2) (int*,int*,int*);

void show(FUNC2 fun,int arg1, int*arg2)

{

FUNC1 p=&inc;

int temp =p(arg1);

fun(&temp,&arg1, arg2);

printf(“%dn”,*arg2);

}

main

{

int a; //局部变量a为0;

show(multi,10,&a);

return 0;

}

答:110

10、请找出下面代码中的所有错误 (题目不错,值得一看)

说明:以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba”

#include“string.h”

main

{

char*src=“hello,world”;

char* dest=NULL;

int len=strlen(src);

dest=(char*)malloc(len);

char* d=dest;

char* s=src[len];

while(len--!=0)

d++=s--;

printf(“%s”,dest);

return 0;

}

答:

方法1:一共有4个错误;

int main

{

char* src = “hello,world”;

int len = strlen(src);

char* dest = (char*)malloc(len+1);//要为分配一个空间 char* d = dest;

char* s = &src[len-1]; //指向最后一个字符

while( len-- != 0 )

*d++=*s--;

*d = 0; //尾部要加’/0’

printf(“%sn”,dest);

free(dest); // 使用完,应当释放空间,以免造成内存汇泄露

dest = NULL; //防止产生野指针

return 0;

}

方法2: (方法一需要额外的存储空间,效率不高.) 不错的想法

#include

#include

main

{

char str=“hello,world”;

int len=strlen(str);

char t;

for(int i=0; i

{

t=str[i];

str[i]=str[len-i-1]; //小心一点

str[len-i-1]=t;

}

printf(“%s”,str);

return 0;

}

11.对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

c用宏定义,c++用inline

12.直接链接两个信令点的一组链路称作什么?

PPP点到点连接

13.接入网用的是什么接口?

V5接口

14.voip都用了那些协议?

H.323协议簇、SIP协议、Skype协议、H.248和MGCP协议

15.软件测试都有那些种类?

黑盒:针对系统功能的测试

白盒:测试函数功能,各函数接口

16.确定模块的功能和模块的接口是在软件设计的那个队段完成的?

概要设计阶段

17.

unsigned char *p1;

unsigned long *p2;

p1=(unsigned char *)0x801000;

p2=(unsigned long *)0x810000;

请问p1+5= ;

p2+5= ;

答案:0x801005(相当于加上5位) 0x810014(相当于加上20位);

选择题:

21.Ethternet链接到Internet用到以下那个协议? D

A.HDLC;B.ARP;C.UDP;D.TCP;E.ID

22.属于网络层协议的是:( B C)

A.TCP;B.IP;C.ICMP;D.X.25

23.Windows消息调度机制是:(C)

A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;

找错题:

25.请问下面程序有什么错误?

int a[60][250][1000],i,j,k;

for(k=0;kMax_GT_Length)

{ return GT_Length_ERROR;

} ....... }

答: 死循环//

问答题:

29.IP Phone的原理是什么?

IP电话(又称IP PHONE或VoIP)是建立在IP技术上的分组化、数字化传输技术,其基本原理是:通过语音压缩算法对语音数据进行压缩编码处理,然后把这些语音数据按IP等相关协议进行打包,经过IP网络把数据包传输到接收地,再把这些语音数据包串起来,经过解码解压处理后,恢复成原来的语音信号,从而达到由IP网络传送语音的目的。

30.TCP/IP通信建立的过程怎样,端口有什么作用?

三次握手,确定是哪个应用程序使用该协议

31.1号信令和7号信令有什么区别,我国某前广泛使用的是那一种?

1号信令接续慢,但是稳定,可靠。

7号信令的特点是:信令速度快,具有提供大量信令的潜力,具有改变和增加信令的灵活性,便于开放新业务,在通话时可以随意处理信令,成本低。目前得到广泛应用。

32.列举5种以上的电话新业务

如“闹钟服务”、“免干扰服务”、“热线服务”、“转移呼叫”、“遇忙回叫”、“缺席用户服务”、“追查恶意呼叫”、“三方通话”、“会议电话”、“呼出限制”、“来电显示”、“虚拟网电话”等

四.找错题:

1.请问下面程序有什么错误?

int a[60][250][1000],i,j,k;

for(k=0;k<=1000;k++)

for(j=0;j<250;j++)

for(i=0;i<60;i++)

a[i][j][k]=0;

答: 把循环语句内外换一下

2.#define Max_CB 500

void LmiQueryCSmd(Struct MSgCB * pmsg)

{

unsigned char ucCmdNum;

......

for(ucCmdNum=0;ucCmdNum

{

......;

}

答: 死循环,unsigned int的取值范围是0~255

3.以下是求一个数的平方的程序,请找出错误:

#define SQUARE(a)((a)*(a))

int a=5;

int b;

b=SQUARE(a++);

答:结果与编译器相关,得到的可能不是平方值.

微软亚洲技术中心的面试题!!!

1.进程和线程的差别。

答:线程是指进程内的一个执行单元,也是进程内的可调度实体.

与进程的区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

2.测试方法

答:人工测试:个人复查、抽查和会审

机器测试:黑盒测试和白盒测试

3.Heap与stack的差别。

答:Heap是堆,stack是栈。

Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。

Stack空间有限,Heap是很大的自由存储区

C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行

4.Windows下的内存是如何管理的?

分页管理

8.谈谈IA32下的分页机制

小页(4K)两级分页模式,大页(4M)一级

9.给两个变量,如何找出一个带环单链表中是什么地方出现环的?

一个递增一,一个递增二,他们指向同一个接点时就是环出现的地方

10.在IA32中一共有多少种办法从用户态跳到内核态?

通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等

11.如果只想让程序有一个实例运行,不能运行两个。像winamp一样,只能开一个窗口,怎样实现?

用内存映射或全局原子(互斥变量)、查找窗口句柄..

FindWindow,互斥,写标志到文件或注册表,共享内存。.

12.如何截取键盘的响应,让所有的'a’变成'b’?

答:键盘钩子SetWindowsHookEx

14.存储过程是什么?有什么用?有什么优点?

答:我的理解就是一堆sql的集合,可以建立非常复杂的查询,编译运行,所以运行一次后,以后再运行速度比单独执行SQL快很多

15.Template有什么特点?什么时候用?

答: Template可以独立于任何特定的类型编写代码,是泛型编程的基础.

当我们编写的类和函数能够多态的用于跨越编译时不相关的类型时,用Template.

模板主要用于STL中的容器,算法,迭代器等以及模板元编程.

(C++的template是实现在库设计和嵌入式设计中的关键。

template能实现抽象和效率的结合;同时template还能有效地防止代码膨胀)

16.谈谈Windows DNA结构的特点和优点。

答:Windows Distributed interNet Application Architecture(Windows分布式应用结构,简称Windows DNA)是微软创建新一代高适应性商业解决方案的框架,它使公司能够充分地挖掘数字神经系统的优点。Windows DNA是第一个将Internet、客户/服务器、和用于计算的PC模型结合并集成在一起的为新一类分布式计算方案而设计的应用软件体系结构

17. 网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?

答:1)进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。

2)线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

两者都可以提高程序的并发度,提高程序运行效率和响应时间。

线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。

思科

1. 用宏定义写出swap(x,y)

答#define swap(x, y)

x = x + y;

y = x - y;

x = x - y;

2.数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)函数原型:

int do_dup(int a,int N)

答:int do_dup(int a,int N) //未经调试

{

int sun = 0;

int sum2;

for(int i=0;i

{

Sum+=a[i];

}

Sum2 = (1+N-1)*N/2;

Return (sum-sum2);

}

3 一语句实现x是否为2的若干次幂的判断

答:方法1)int i = 512;

cout << boolalpha << ((i & (i - 1)) ? false : true) << endl; //位与为0,则表示是2的若干次幂

2)return (x>>N==1);

4.unsigned int intvert(unsigned int x,int p,int n)实现对x的进行转换,p为起始转化位,n为需要转换的长度,假设起始点在右边.如x=0b0001 0001,p=4,n=3转换后x=0b0110 0001

答:unsigned int intvert(unsigned int x,int p,int n) //假定p=4,n=3

{

unsigned int _t = 0;

unsigned int _a = 1;

for(int i = 0; i < n; ++i)//循环的目的主要是-t

{

_t |= _a; //位或

_a = _a << 1;

}

_t = _t << p; //转换后_t变为1110000

x ^= _t; /异或,将原来的位取反

return x;

}

慧通:

1. 什么是预编译,何时需要预编译:

答: 就是指程序执行前的一些预处理工作,主要指#表示的.

何时需要预编译?

1)、总是使用不经常改动的大型代码体。

2)、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

2. 下述三个有什么区别?

char * const p;

char const * p

const char *p

解答:

char * const p; //常量指针,p的值不可以修改

char const * p;//指向常量的指针,指向的常量值不可以改

const char *p; //和char const *p

3. 解释下列输出结果

char str1 = “abc”;

char str2 = “abc”;

const char str3 = “abc”;

const char str4 = “abc”;

const char *str5 = “abc”;

const char *str6 = “abc”;

char *str7 = “abc”;

char *str8 = “abc”;

cout << ( str1 == str2 ) << endl;

cout << ( str3 == str4 ) << endl;

cout << ( str5 == str6 ) << endl;

cout << ( str7 == str8 ) << endl;

结果是:0 0 1 1

解答:str1,str2,str3,str4是数组变量,它们有各自的内存空间;

而str5,str6,str7,str8是指针,它们指向相同的常量区域。

4. 以下代码中的两个sizeof用法有问题吗?[C易]

void UpperCase( char str ) // 将 str 中的小写字母转换成大写字母

{

for( size_t i=0; i

if( 'a'<=str[i] && str[i]<='z' )

str[i] -= ('a'-'A' );

}

char str = “aBcDe”;

cout << “str字符长度为: ” << sizeof(str)/sizeof(str[0]) << endl;

UpperCase( str );

cout << str << endl;

答:函数内的sizeof有问题。根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。函数外的str是一个静态定义的数组,因此其大小为6,函数内的str实际只是一个指向字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于上只将其当指针看,一个指针为4个字节,因此返回4。

注意:数组名作为函数参数时,退化为指针.

数组名作为sizeof参数时,数组名不退化,因为sizeof不是函数.

4. 一个32位的机器,该机器的指针是多少位

指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。

5. 指出下面代码的输出,并解释为什么。(不错,对地址掌握的深入挖潜)

main

{

int a[5]={1,2,3,4,5};

int *ptr=(int *)(&a+1);

printf(“%d,%d”,*(a+1),*(ptr-1));

}

输出:2,5

*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5

&a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)

int *ptr=(int *)(&a+1);

则ptr实际是&(a[5]),也就是a+5

原因如下:

&a是数组指针,其类型为 int (*)[5];

而指针加1要根据指针类型加上一定的值,

不同类型的指针+1之后增加的大小不同

a是长度为5的int数组指针,所以要加 5*sizeof(int)

所以ptr实际是a[5]

但是prt与(&a+1)类型是不一样的(这点很重要)

所以prt-1只会减去sizeof(int*)

a,&a的地址是一样的,但意思不一样,a是数组首地址,也就是a[0]的地址,&a是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a+1是下一个对象的地址,即a[5].

6.请问以下代码有什么问题:

1).

int main

{

char a;

char *str=&a;

strcpy(str,“hello”);

printf(str);

return 0;

}

答;没有为str分配内存空间,将会发生异常

问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。

Strcpy的在库函数string.h中.程序的主要错误在于越界进行内存读写导致程序崩溃//

2).

char* s=“AAA”;

printf(“%s”,s);

s[0]='B';

printf(“%s”,s);

有什么错?

答: “AAA”是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。

cosnt char* s=“AAA”;

然后又因为是常量,所以对是s[0]的赋值操作是不合法的。

1、写一个“标准”宏,这个宏输入两个参数并返回较小的一个。

答:#define Min(X, Y) ((X)>(Y)?(Y):(X)) //结尾没有;

2、嵌入式系统中经常要用到无限循环,你怎么用C编写死循环。

答:while(1)或者for(;;) //前面那个较好

3、关键字static的作用是什么?

答:1)定义静态局部变量,作用域从函数开始到结束.

2) 在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在声明它的模块内;

3) 在类中的static成员变量属于整个类所拥有,对类的所有对象只有一份拷贝

4、关键字const有什么含意?

答 :1)表示常量不可以修改的变量。

2)可以修饰参数,作为输入参数.

3)修饰函数,防止以外的改动.

4)修饰类的成员函数,不改变类中的数据成员.

5、关键字volatile有什么含意?并举出三个不同的例子?

答: 提示编译器对象的值可能在编译器未监测到的情况下改变。

例子: 硬件时钟;多线程中被多个任务共享的变量等

6. int (*s[10])(int) 表示的是什么啊

int (*s[10])(int) 函数指针数组,每个指针指向一个int func(int param)的函数。

1.有以下表达式:

int a=248; b=4;int const c=21;const int *d=&a;

int *const e=&b;int const *f const =&a;

请问下列表达式哪些会被编译器禁止?为什么?

答:*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;

*c 这是个什么东东,禁止

*d 说了是const, 禁止

e = &a 说了是const 禁止

const *f const =&a; 禁止

2.交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3;

答:有两种解法, 一种用算术算法, 一种用^(异或)

a = a + b;

b = a - b;

a = a - b;

or

a = a^b;// 只能对int,char..

b = a^b;

a = a^b;

or

a ^= b ^= a;

3.c和c++中的struct有什么不同?

答: c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private.

4.#include

#include

void getmemory(char *p)

{

p=(char *) malloc(100);

}

int main( )

{

char *str=NULL;

getmemory(str);

strcpy(p,“hello world”);

printf(“%s/n”,str);

free(str);

return 0;

}

答: 程序崩溃,getmemory中的malloc 不能返回动态内存, free对str操作很危险

5.char szstr[10];

strcpy(szstr,“0123456789”);

产生什么结果?为什么?

答;正常输出,长度不一样,会造成非法的OS,覆盖别的内容.

6.列举几种进程的同步机制,并比较其优缺点。

答:原子操作

信号量机制

自旋锁

管程,会合,分布式系统

7.进程之间通信的途径

答 共享存储系统

消息传递系统

管道:以文件系统为基础

篇9:华为招聘Java面试题

第一部分:选择题

QUESTION NO: 1

1、public class Test {

public static void changeStr(String str){

str=“welcome”;

}

public static void main(String[] args) {

String str=“1234”;

changeStr(str);

System.out.println(str);

}

}

Please write the output result :

QUESTION NO:2

1. public class Test {

2. static boolean foo(char c) {

3. System.out.print(c);

4. return true;

5. }

6. public static void main( String[] argv ) {

7. int i =0;

8. for ( foo(“A”); foo(“B”)&&(i<2); foo(“C”)){

9. i++ ;

10. foo(“D”);

12. }

13. }

14. }

What is the result?

A. ABDCBDCB

B. ABCDABCD

C. Compilation fails.

D. An exception is thrown at runtime.

QUESTION NO: 3

1. class A {

2. protected int method1(int a, int b) { return 0; }

3. }

Which two are valid in a class that extends class A? (Choose two)

A. public int method1(int a, int b) { return 0; }

B. private int method1(int a, int b) { return 0; }

C. private int method1(int a, long b) { return 0; }

D. public short method1(int a, int b) { return 0; }

E. static protected int method1(int a, int b) { return 0; }

QUESTION NO: 4

1. public class Outer{

2. public void someOuterMethod() {

3. // Line 3

4. }

5. public class Inner{}

6. public static void main( String[]argv ) {

7. Outer o = new Outer();

8. // Line 8

9. }

10. }

Which instantiates an instance of Inner?

A. new Inner(); // At line 3

B. new Inner(); // At line 8

C. new o.Inner(); // At line 8

D. new Outer.Inner(); // At line 8//new Outer().new Inner()

QUESTION NO: 5

Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?

A. The encodeURL method of the HttpServletRequest interface.

B. The encodeURL method of the HttpServletResponse interface.

C. The rewriteURL method of the HttpServletRequest interface.

D. The rewriteURL method of the HttpServletResponse interface.

QUESTION NO: 6

Which two are equivalent? (Choose two)

A. <%= YoshiBean.size%>

B. <%= YoshiBean.getSize()%>

C. <%= YoshiBean.getProperty(“size”)%>

D.

E.

F.

G.

QUESTION NO: 7

Which of the following statements regarding the lifecycle of a session bean are correct?

1. java.lang.IllegalStateException is thrown if SessionContext.getEJBObject() is invoked when a stateful session bean instance is passivated.

2. SessionContext.getRollbackOnly() does not throw an exception when a session bean with bean-managed transaction demarcation is activated.

3. An exception is not thrown when SessionContext.getUserTransaction() is called in the afterBegin method of a bean with container-managed transactions.

4. JNDI access to java:comp/env is permitted in all the SessionSynchronization methods of a stateful session bean with container-managed transaction demarcation.

5. Accessing resource managers in the SessionSynchronization.afterBegin method of a stateful session bean with bean-managed transaction does not throw an exception.

第二部分:概念题

1. 描述Struts体系结构?对应各个部分的开发工作主要包括哪些?

2 JSP有哪些内置对象和动作?它们的作用分别是什么?

3、SQL问答题

SELECT * FROM TABLE

SELECT * FROM TABLE

WHERE NAME LIKE “%%” AND ADDR LIKE “%%”

AND (1_ADDR LIKE “%%” OR 2_ADDR LIKE “%%”

OR 3_ADDR LIKE “%%” OR 4_ADDR LIKE “%%” )

的检索结果为何不同?

4、SQL问答题

表结构:

1、表名:g_cardapply

字段(字段名/类型/长度):

g_applyno varchar 8;//申请单号(关键字)

g_applydate bigint 8;//申请日期

g_state varchar 2;//申请状态

2、表名:g_cardapplydetail

字段(字段名/类型/长度):

g_applyno varchar 8;//申请单号(关键字)

g_name varchar 30;//申请人姓名

g_idcard varchar 18;//申请人身份证号

g_state varchar 2;//申请状态

其中,两个表的关联字段为申请单号,

华为招聘Java面试题

题目:

1、查询身份证号码为440401430103082的申请日期

2、查询同一个身份证号码有两条以上记录的身份证号码及记录个数

3、将身份证号码为440401430103082的记录在两个表中的申请状态均改为07

4、删除g_cardapplydetail表中所有姓李的记录

华为面试流程

斗山笔试经验文理科笔经

人力资源管理专形成性考核册答案

常见的数字电路笔试题目

小升初面试流程

应届生的面试经验小结

不同类型的面试问题

名企之旅参观策划书

手机促销策划书范文

五道常见面试题

常见华为面试题
《常见华为面试题.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【常见华为面试题(共9篇)】相关文章:

华为公司成功的案例分析2023-03-05

如何面试团队能力2023-11-06

软件测试自我介绍面试稿2022-09-27

华为财经笔试经验2023-03-20

经典励志文章:你焦虑并不代表你努力2023-10-11

华为面试自我介绍2023-04-24

面经:适当降低自己的求职要求2023-01-16

面试的正装2022-06-17

工伤事件经过范文2022-04-30

网络工程师面试2022-06-16