优客文库提供全面的范文格式和文档模板,包括申请书、合同、借据、证明、求职信等,助力您快速撰写专业文档。

c数据结构算法面试笔试题

时间: 热度:°C 加入收藏 我要投稿 点赞()

c数据结构算法面试笔试题

  请问C++的类和C里面的struct有什么区别?下面就由第一范文网小编为大家介绍一下c++数据结构算法面试笔试题的文章,欢迎阅读。

  c++数据结构算法面试笔试题篇1

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

  2请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用? TCP与UDP呢? UDP,TCP 在传输层,IP在网络层, TCP/IP是英文Transmission Control Protocol/Internet Protocol的缩写,意思是"传输控制协议/网际协议"。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如 T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(User Datagram Protocol)协议、ICMP(Internet Control Message Protocol)协议和其他一些协议的协议组。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7 层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路 层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:

  应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。

  传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到下一层中,这一层负责传送数据,并且确定数据已被送达并接收。

  互连网络层:负责提供基本的数据封包传送功能,让每一块数据包都能够到达目的主机(但不检查是否被正确接收),如网际协议(IP)。

  网络接口层:对实际的网络媒体的管理,定义如何使用实际网络(如Ethernet、Serial 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:一些寄存器的题目,主要是寻址和内存管理等一些知识。

221381
领取福利

微信扫码领取福利

微信扫码分享