zoukankan      html  css  js  c++  java
  • 华为面试题及答案

      
    这是第三次接到华为的面试电话了,第一交是自己投的简历,第二次及这次都是华为公司通过网络搜索到打的电话给我,前面两次我都是刚刚找到工作,然后就接到电话了,哎,真的是有点背运。这次千万不能够错过,这是搞IT的人梦的都进的企业,我也是一样,希望能够去一个更好的地方,以便更好的发挥自己。为了不使自己一点准备就去赴考场,还是先找点东西看看。我从网上找到问题,然后再根据问题到网络寻找问题的,谢谢问题的提供者。
    Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?

    OSI词条,参见百度百科
    Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCPUDP呢?
    UDPTCP在传输层,IP在网络层, TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议"TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDPUser Datagram Protocol)协议、ICMPInternet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:
    应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。
    传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCPUDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。
    互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。
    网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如EthernetSerial Line等)来传送数据。
    Q3:请问交换机和路由器分别的实现原理是什么?分别在哪个层次上面实现的?
    一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于数据链路层 + 部分网络层。交换机中传的是帧。通过存储转发来实现的。路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。
    Q4:请问C++的类和C里面的struct有什么区别?
    结构是一种将数据集合成组的方法,类是一种同时将函数和数据都集合成组的方法。结构和类在表面上的唯一区别是:类中的成员在默认情况下是私有的,而结构中的成员在默认情况下是公用的。  
      class   foo  
      {  
      private:  
            int   data1;  
      public:  
            void   func();  
      };  
     
    可以写成:  
      class   foo  
      {  
            int   data1;  
      public:  
            void   func();  
      };  
     
    因为在类中默认的是私有的,所以关键字private就可以不写了。  
       
     
    如果想用结构完成这个类所作的相同的事,就可以免去关键字public,并将公有成员放置在私有成员之前:  
      struct   foo  
      {  
              void   func();  
      private:  
            int   data1;  
      };
    Q5:请讲一讲析构函数和虚函数的用法和作用?
    JAVA里没有象C++中的,所谓的析构函数 ,因为当一个对象不在使用的时候,它会自动被垃圾回收器回收,所以也就用不着析构函数了, 那个finalize 也只有在被垃圾回收器回收,才会被执行,而且很多时候,垃圾回收器并不一定执行,所以它不能当做C++中的,所谓的析构函数使用, 虚函数在JAVA里也是没有的,比较象近的应该算是abstract
    Q6:全局变量和局部变量有什么区别?是怎么实现的?操作系统和编译器是怎么知道的?
    1)、全局变量的作用用这个程序块,而局部变量作用于当前函数
    2)、前者在内存中分配在全局数据区,后者分配在栈区
    3)、生命周期不同:全局变量随主程序创建和创建,随主程序销毁而销毁,局部变量在局部函数内部,甚至局部循环体等内部存在,退出就不存在
    4)、使用方式不同:通过声明后全局变量程序的各个部分都可以用到,局部变量只能在局部使用
    Q7:一些寄存器的题目,主要是寻址和内存管理等一些知识。
     
    Q8:8086是多少位的系统?在数据总线上是怎么实现的?
    8086微处理器初次发布时,这块16位芯片仅包含29000个晶体管,运行速度为5MHz。而当今基于x86架构的奔腾4处理器,已经包含5500万个晶体管,运行速度提高了600倍以上,高达306GHz。
    8086是高性能的第三代微处理器,是Intel系列的16位微处理器,它是采用HMOS工艺制造的,内部包含约29,000个晶体管。  
    808616根数据线和20根地址线,因为可用20位地址,所以可寻址的地址空间达2201M字节。8086工作时,只要一个5V电源和一相时钟,时钟频率为5MHz。后来,Intel公司推出的8086-1型微处理器时钟频率高达10MHz8086-2型微处理器时钟频率达8MHz

    再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 相关阅读:
    NSWindow,一些有的沒的
    IT单身男士必看【找女友单身程序员】
    Base 64 Encoding 编码
    如何成为一名优秀的C程序员
    iOS学习笔记—ObjectiveC 委托、非正式协议、正式协议
    程序员学习能力提升三要素
    工程师如何不被PM欺负
    最常被程序员们谎称读过的计算机书籍
    一些重要的算法
    asp调用.Net 托管代码
  • 原文地址:https://www.cnblogs.com/skiwdhwhssh/p/10341944.html
Copyright © 2011-2022 走看看