华为面试题目解答

编程入门 行业动态 更新时间:2024-10-13 22:22:25

<a href=https://www.elefans.com/category/jswz/34/1769368.html style=华为面试题目解答"/>

华为面试题目解答

1. 什么是UML?分哪两类?
统一建模语言(UML是 Unified Modeling Language的缩写)是用来对软件密集系统

进行可视化建模的一种语言。UML为面向对象开发系统的产品进行说明、可视化、和

编制文档的一种标准语言。
UML图分为两类:

静态图:是描述对象之间可能存在的关系的种类,以及作为结果的对象网络可以具

有的可能的拓朴结构。

动态图:是描述可以在对象之间传递的消息以及该消息对接收消息的对象的影响
2. OS一般的两种进程调度策略
抢占式和非抢占式
3 进程间的四种通讯方式:
1>管道,FIFO
    管道(Pipe)是一种具有两个端点的通信通道:有一端句柄的进程可以和有另一

端句柄的进程通信。管道可以是单向-一端是只读的,另一端点是只写的;也可以

是双向的一管道的两端点既可读也可写。
  匿名管道(Anonymous Pipe)是 在父进程和子进程之间,或同一父进程的两个子

进程之间传输数据的无名字的单向管道。通常由父进程创建管道,然后由要通信的

子进程继承通道的读端点句柄或写 端点句柄,然后实现通信。父进程还可以建立两

个或更多个继承匿名管道读和写句柄的子进程。这些子进程可以使用管道直接通信

,不需要通过父进程。
  匿名管道是单机上实现子进程标准I/O重定向的有效方法,它不能在网上使用,

也不能用于两个不相关的进程之间
     命名管道(Named Pipe)是服务器进程和一个或多个客户进程之间通信的单向或

双向管道。不同于匿名管道的是命名管道可以在不相关的进程之间和不同计算机之

间使用,服务器建立命名管道时给它指定一个名字,任何进程都可以通过该名字打

开管道的另一端,根据给定的权限和服务器进程通信。
  命名管道提供了相对简单的编程接口,使通过网络传输数据并不比同一计算机

上两进程之间通信更困难,不过如果要同时和多个进程通信它就力不从心了。
    管道 和 FIFO 是一样的,只是匿名管道需要在 父子进程间使用,FIFO是增强

型的管道,适合传递较小的消息,FIFO实际相当于内核内部实现的一个共享文件。
2>信号
    信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进

程间通信外,进程还可以发送信号给进程本身。除了系统内核和root之外,只有具

备相同uid、gid的进程才可以使用信号进行通信。
    /etc/passwd:uid与账号对应
    /etc/group:gid与群组对应
3> 消息队列
   消息队列是消息的链接表,包括Posix消息队列system V消息队列。有足够权限

的进程可以向队列中添加消息,被赋予读权限的进程则可以读走队列中的消息。消

息队列克服了信号承载信息量少,管道只能承载无格式字节流以及缓冲区大小受限

等缺。

4> 共享内存
    使得多个进程可以访问同一块内存空间,是最快的可用IPC形式。是针对其他通

信机制运行效率较低而设计的。往往与其它通信机制,如信号量结合使用,来达到

进程间的同步及互斥。

传递文件最好是用共享内存的方式,MAP_SHARED可以提供多进程共享一个文件的能

力。
管道 和 FIFO 是一样的,只是匿名管道需要在 父子进程间使用,FIFO是增强型的

管道,适合传递较小的消息,FIFO实际相当于内核内部实现的一个共享文件。
信号,严重的不建议使用,尤其是你的线程库不能做到异步安全的时候,使用信号

作为通信方式很容易导致系统死锁。
消息队列 与 FIFO 相似,是在FIFO的基础上封装的一个消息结构队列。

建议使用 FIFO 或消息队列传递控制类型的消息(数据量小,有明确的数据结构)
使用共享内存传递数据类型的消息(数据量大,数据结构多变)

 4 通常递归所采用的数据结构?递归和循环的区别?
  栈。
  1 递归算法与循环算法的设计思路区别在于:函数或算法是否具备收敛性,当且

仅当一个算法存在预期的收敛效果时,采用递归算法才是可行的,否则,就不能使

用递归算法。
  2 递归其实是方便了程序员难为了机器。优点就是易理解,容易编程。但递归是

用栈机制实现的,每深入一层,都要占去一块栈数据区域,对嵌套层数深的一些算

法,递归会力不从心,空间上会以内存崩溃而告终,而且递归也带来了大量的函数

调用,这也有许多额外的时间开销。所以在深度大时,它的时空性就不好了。
    循环其缺点就是不容易理解,编写复杂问题时困难。优点是效率高。运行时间

只因循环次数增加而增加,没什么额外开销。空间上没有什么增加。
    局部变量占用的内存是一次性的,也就是O(1)的空间复杂度,而对于递归(不

考虑尾递归优化的情况),每次函数调用都要压栈,那么空间复杂度是O(n),和递

归次数呈线性关系。
  3 递归程序改用循环实现的话,一般都是要自己维护一个栈的,以便状态的回溯


    原理上讲,所有递归都是可以消除的,代价就是可能自己要维护一个栈。而且

我个人认为,很多情况下用递归还是必要的,它往往能把复杂问题分解成更为简单

的步骤,而且很能反映问题的本质。
 5 将一个单链表逆序。

 6. A,B,C,D四个进程,A向一个缓冲区写数据,B,C,D从该缓冲区读数据,A要等到

B,C,D都已经读好才能写下一个。用p,v操作实现通讯。
 
7 中断优先级排序
8 补码:写出0,-1,-5的二进制补码
  在计算机系统中,数值一律用补码来表示(存储)。
  主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法

来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进

位被舍弃。
  2、补码与原码的转换过程几乎是相同的。
  求给定数值的补码表示分以下两种情况:
  (1)正数的补码:与原码相同。
  【例1】+9的补码是00001001。
  (2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个

数加1
答题:0的补码是00000000
-1的补码是11111111
-5的补码是10000110
9 求出一个学生成绩数组的max,min和average的值
10 路由器,交换机,调制解调器等作用,作用于哪一层
五种中继系统:
  1.物理层(即常说的第一层、层L1)中继系统,即转发器(repeater)。
  2.数据链路层(即第二层,层L2),即网桥或桥接器(bridge)。
  3.网络层(第三层,层L3)中继系统,即路由器(router)。
  4.网桥和路由器的混合物桥路器(brouter)兼有网桥和路由器的功能。
  5.在网络层以上的中继系统,即网关(gateway).
hub也就是转发器,是把电脑连到一个局域网中,并且电脑之间是共享带宽,而交换

机也是机器连接起来组成一个局域网,并且电脑间是独享带宽的。寻址都是mac地址

,但寻址方式不太相同,
路由器作用,连接不同的网段,并且在网络传输中找到合适的路径。

对于不同地规模的网络,路由器的作用的侧重点有所不同。
1 在主干网上,路由器的主要作用是路由选择。主干网上的路由器,必须知道到达

所有下层网络的路径。
2 在地区网中,路由器的主要作用是网络连接和路由选择,即连接下层各个基层网

络单位--园区网,同时负责下层网络之间的数据转发。

3 在园区网内部,路由器的主要作用是分隔子网。早期的互连网基层单位是局域网

(LAN),其中所有主机处于同一逻辑网络中。随着网络规模的不断扩大,局域网演

变成以高速主干和路由器连接的多个子网所组成的园区网。在其中,处个子网在逻

辑上独立,而路由器就是唯一能够分隔它们的设备,它负责子网间的报文转发和广

播隔离,在边界上的路由器则负责与上层网络的连接。

    综上所述,交换机一般用于LAN-WAN的连接,交换机归于网桥,是数据链路层

的设备,有些交换机也可实现第三层的交换。路由器用于WAN-WAN之间的连接,可

以解决异性网络之间转发分组,作用于网络层。他们只是从一条线路上接受输入分

组,然后向另一条线路转发。这两条线路可能分属于不同的网络,并采用不同协议

。相比较而言,路由器的功能较交换机要强大,但速度相对也慢,价格昂贵,第三

层交换机既有交换机线速转发报文能力,又有路由器良好的控制功能,因此得以广

播应用。

11 DNS的原理
DNS分为Client和Server,Client扮演发问的角色,也就是问Server一个Domain

Name,而Server必须要回答此Domain Name的真正IP地址。而当地的DNS先会查自己

的资料库。如果自己的资料库没有,则会往该DNS上所设的的DNS询问,依此得到答

案之后,将收到的答案存起来,并回答客户。为了加快速度,通常将常用的域名地

址存在就近的dns服务器的高速缓存区。这样可以提高速度。

12 项目开发:软件流程,瀑布模型;黑盒测试
软件开发流程
需求说明,
结构化分析,结果需要得到系统的数据流图,数据字典和加工处理说明
总体设计,
详细设计
软件生存周期包括:
可行性分析与项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护

等活动
软件生存周期的模型:
瀑布模型:各活动依线性顺序连接,适合于软件需求很明确的软件项目
演化模型:先够造一个初始运行版本(原型),然后根据用户使用中的建议不断的

改进,获得最终软件产品的过程。适用于对软件需求缺乏准确认识的情况
螺旋模型:将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,

将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型符合,每个周期用户

评估结束后在进入下一个周期的开发计划。
喷泉模型:克服了瀑布模型不支持软件重用和多项开发活动集成的局限性,它开发

过程中具有迭代性和无间隙性,迭代意味着模型中的开发活动常常需要重复多次,

迭代过程中不断的完善,开发活动间没有明显的界限,交叉迭代进行,以用户需求

为动力,以对象作为驱动的模型。适合于面向对象的开发方法。
测试:
软件测试的策略:
有效的软件测试实际上分成4步进行:
1)单元测试
2)集成测试
3) 确认测试
4) 系统测试
测试方法
静态测试,动态测试
测试用例的设计
1用黑盒法设计测试用例
等价类划分,边值分析,错误猜测和因果图等
2 白盒测试
逻辑覆盖
循环覆盖
基本路径测试
13  数据库:创建一个数据库,创建一个表,包含主键,索引。


14 操作系统:进程调用,死锁,页面置换
进程调度:
三级调度:
高级调度:决定输入池中的哪个后备作业可以调入主系统做好运行准备
中级调度:决定交换区中的就绪进程哪个可以调入内存
低级调度:内存中的就绪进程哪个可以占用cpu
调度算法
1 先来先服务 2 时间片轮换 3 优先级调度 4 多级反馈调度(不同的队列,进程可

以再队列之间调整)
死锁::产生死锁的原因
竞争资源及进程推进顺序非法。当系统中有多个进程所共享的资源,不足以同时满

足他们的需求时,引起他们对资源的竞争,导致死锁
进程推进顺序非法,进程在运行的过程中,请求和释放资源的顺序不当,会导致进

程死锁
4个必要的条件:
互斥条件、请求保持条件(占用后不释放),不可剥夺条件(系统不能强制收回)

和环路条件(每个都占用下一个进程资源)

存储管理方案
分区管理方案是解决多道程序共享主存的可行方案,但是该方案的主要问题是用户

程序必须装入连续的地址空间中,若无满足用户要求的连续空间时,需要进行分区

靠拢操作,这是以耗费系统时间为代价的,为此引入了分页管理
分页式存储管理
系统为每个进程建立了一张页面映射表,简称页表,页表的作用是实现从页号到物

理块号的地址映射,由于页表本身需要的连续主存空间大,4mb,所以可以将页表本

身也进行分页管理,可以建立一张页表,外层页表,其中每个表目存放某个页表的

物理地址,第二级是页表,其中的每个表目所存放的是页的物理块号。
分段式存储管理
作业的地址空间被划分为若干个段,每个段是一组完整的逻辑信息,如主程序段,

子程序段,数据段及堆栈段等,每个段有自己的名字。从0开始编址的一段连续地址

空间,各段长度是不等的。一个作业最多有64kb个段,建立一个段表
段页式
每个段分几页管理。有效提高主存利用率,并且可以实现段的共享
虚拟存储管理
请求调入和置换功能
分页管理的实现
1 缺页中断在指令执行期间产生和处理,而一般中断在一条指令执行完另一条指令

执行前
2 发生中断时,返回到被中断指令的开始重新执行该指令,而一般中断返回到下一

条指令执行
3 一条指令在执行期间,可能会产生多次缺页中断
页面置换算法
1 最佳置换算法
选择哪些是永不使用的,或者是在最长的时间内不再被访问的页面置换出去(性能

最好,难以实现)

2 先进先出置换算法
选择在主存中驻留时间最久的页面予以淘汰(性能最差的算法)
3 最近最少未使用(LRU)
每个页面设置一个字段,用已记录这个页面自上次被访问以来所经历的时间T,当要

淘汰一个页面时,选择T最大的页面
4 最近未用
LRU的近似算法,每个页设置一位访问位。当某页被访问时,访问位为1,在选择一

页淘汰时,检测访问位,如果是0.则换出该页,若为1 ,则将其重新设置为0,暂不

换出

CDMA的软容量
FNMA、TDMA系统中,当小区服务的用户数达到最大信道数,已满载的系统再无法增

添一个信号,而cnma系统中,1 用户数目和服务质量之间可以相互折中,可以将目

标误诊率稍微调高,从而增加可用信道数。2 相邻小区负荷轻时,本小区受到的干

扰较小,容量可以适当增加。3 小区的呼吸功能(各个小区的负盖大小是动态的)

,当相邻两个小区负荷一轻一重时,负荷重的小区通过减小导频发射功率,使本小

区的边缘用户由于导频强度不够,切换到相邻的小区,使负荷分担,相当于增加了

容量。
CDMA的反向闭环功率控制原理
先介绍开环和闭环定义:
开环:不将控制的结果反馈回来影响当前控制的系统。
闭环(也叫反馈控制系统),将系统输出量的测量值和所期望的给定值相比较,由此

产生一个偏差信号,利用此偏差信号进行调节控制,使输出值尽量接近于期望值
闭环控制有反馈环节,通过反馈系统使系统的精确度提高,响应时间缩短,适合于对

系统的响应时间,稳定性要求高的系统。
开环和闭环
开环功率控制中,移动台的发射功率的调节是基于前向信道的信号强度,但是当前

向和反向信道的衰落特性不一致时,前向信道的信号测量不能反映反向信道传输特

性的。
闭环功率控制
移动台和基站共同参与,基站不断的测量反向链路的Eb/N0.给它设置一个门限值,

如果值太大,基站就命令移动台减小发射功率,如果太小,命令它增加发射功率,

移动台根据基站发送的控制指令,调节发射功率,达到最适的最小功率。
反向闭环功率控制包括内环和外环
外环:调整基站的接收信号的目标Eb/N0设置值,满足FER的要求
内环:是移动台发送信号的Eb/N0与目标值接近。
CDMA的关键技术:
1 功率控制技术
反向开环功率控制,反向闭环功率控制,前向功率控制
2 PN码技术
PN码的选择直接影响到CDMA系统的容量、抗干扰能力、接入和切换速度等性能。

CDMA信道的区分是靠PN码来进行的,因而要求PN码自相关性要好,互相关性要弱,

实现和编码方案简单等。目前的CDMA系统就是采用一种基本的PN序列--m序列作为地

址码,利用它的不同相位来区分不同用户。
3.RAKE接收技术

移动通信信道是一种多径衰落信道,RAKE接收技术就是分别接收每一路的信号进行

解调,然后叠加输出达到增强接收效果的目的,这里多径信号不仅不是一个不利因

素,而且在CDMA系统变成一个可供利用的有利因素。
4.软切换技术

先连接,再断开称之为软切换。CDMA系统工作在相同的频率和带宽上,因而软切换

技术实现起来比TDMA系统要方便容易得多
15 请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?
OSI的七层网络结构图:
物理层,数据链路层,网络层,传输层,会话层,表示层,应用层
TCP/IP的四层结构图
网络接口,网际层,传输层,应用层
结合他两提出五层体系
物理层 数据链路层,网络层,传输层,应用层

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

UDP呢?
IP协议又称为互联网协议,支持网间互联的数据报协议
网络层,寻址,提供网间连接的完善功能
IP地址包括A、B、C、D、E五类,常用的是A、B、C三类
传输层两个协议,
TCP--传输控制协议,面向连接的,可靠的,增添了许多开销
UDP--用户数据报协议,无连接的,接收到数据报,无需给出任何确认信息
17 请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
同上面一个题
18 请问C 的类和C里面的struct有什么区别?
class的默认访问控制是private
struct的默认访问控制是public
19 请讲一讲析构函数和虚函数的用法和作用?
20 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道

的?
21 一些寄存器的题目,主要是寻址和内存管理等一些知识。
22 8086是多少位的系统?在数据总线上是怎么实现的?

更多推荐

华为面试题目解答

本文发布于:2024-02-07 06:21:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1754127.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:华为   题目

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!