我要投稿 投诉建议

腾讯软件测试面试题

时间:2021-02-01 12:28:49 面试试题 我要投稿

2015腾讯软件测试面试题

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

2015腾讯软件测试面试题

  答:七层结构从上到下依次是:

  7 应用层 ;6 表示层 ;5 会话层 ;4 传输层 ;3 网络层 ;2 数据链路层 ;1 物理层

  五层结构是

  5 应用层;4 运输层;3 网络层; 2 链路层;1 物理层。

  Q2:请你详细的解释一下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给数据包加入传输数据并把它传输到

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

  一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层 + 部分网络层”。交换机中传的是帧。通过存储转发来实现的。

  路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。

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

  答:除关键字不同外(class,struct)的唯一区别是,

  结构在默认情况下的成员是公共(public)的,

  而类在默认情况下的成员是私有(private)的。

  在C++中,结构是特殊的类。

  class是从struct发展而来的。之所以将struct和class都保留,是因为:

  1、提出class是为了强调一种概念。

  2、保留struct是为了照顾到大多数人的习惯。

  struct和class是有区别的。

  struct保证成员按照声明顺序在内存中存储。class不保证等等

  而它们都可以继承,实现多态等。但也有少许区别。比如:

  struct A { };

  class B : A{ }; //private继承

  struct C : B{ }; //public继承

  这是由于class默认是private,struct默认是public。

  一般说来,struct和class可以换用(当然要注意一些语法问题)。

  而struct更适合看成是一个数据结构的实现体,

  class更适合看成是一个对象的实现体,

  对私有成员进行保护,还提供与外界的接口。

  从习惯上更喜欢用class。

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

  答:置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。

  ;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。

  有适放内存空间的做用!

  虚函数是C++多态的一种表现

  例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。

  使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。

  如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virturl 函数名=0

  我们把这样的函数(方法)称为纯虚函数。

  如果一个类包含了纯虚函数,称此类为抽象类

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

  答:主要的区别是变量的作用范围不同。全局变量在全局范围内都有效,而局部变量只在声明此变量的作用域内有效。

  全局变量是属于实例的,在初始化对象的时候初始化,生命周期与该实例相同,之所以叫全局变量是因为该实例中的所有方法或属性都可以引用;局部变量是在实例方法内或static块中,生命周期从调用该方法到该方法退出,并且只有该方法能够引用之。

  全局变量和局部变量的区别是在存储器中位置不同,具体说,全局变量存储在数据段中,局部变量都有可能,一般来说在堆栈段

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

  答:寻址方式

  表示指令中操作数所在的方法称为寻址方式。8086/8088有七种基本的寻址方式:立即寻找,寄存器寻址,直接寻址,寄存器间接寻址,寄存器相对寻址,基址加变址寻址,相对基址加变址寻址。

  直接寻址、寄存器间接寻址、寄存器相对寻址、基址加变址寻址和相对基址加变址寻址,这五种寻址方式属于存储器寻址,用于说明操作数所在存储单元的地址。由于总线接口单元BIU能根据需要自动引用段寄存器得到段值,所以这五种方式也就是确定存放操作数的存储单元有效地址EA的方法。有效地址EA是一个16位的无符号数,在利用这五种方法计算有效地址时,所得的结果认为是一个无符号数。

  除了这些基本的寻址方式外,还有固定寻址和I/O端口寻址等。

  内存管理

  主要包括内存的分配和回收整理等,实现内存的高效利用。

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

  答:16位系统,8位数据传送,通过总线控制逻辑实现数据线和地址线的分时复用.

  8086是Inter的16位微处理器

  有16根数据线和20根地址线,它既能处理16位数据,也能处理8位数据

  内部数据总线都是按16位设计的,单外部数据总线只有8条

【2015腾讯软件测试面试题】相关文章:

2017腾讯软件测试笔试题06-20

软件测试面试题宝典06-20

Java软件测试面试题06-20

软件测试面试题 初试06-19

常见软件测试面试题05-10

腾讯校招软件测试笔试经验03-17

常见的软件测试面试题06-06

软件测试面试题和答案05-11

应届生软件测试面试题05-09

企业常考的软件测试面试题06-20