欢迎来到天天文库
浏览记录
ID:45668707
大小:151.00 KB
页数:16页
时间:2019-11-16
《华为瑞星等公司软件工程师面测试试题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华为瑞星360等公司软件测试工程师面试题————————————————————————————————作者:————————————————————————————————日期:2华为软件测试工程师面试题Q1:请你分别划划OSI的七层网络结构图,和TCP/IP的五层结构图?答:七层结构从上到下依次是:7应用层;6表示层;5会话层;4传输层;3网络层;2数据链路层;1物理层五层结构是5应用层;4运输层;3网络层;2链路层;1物理层。Q2:请你详细的解释一下IP协议的定义,在哪个层上面,主要有什么作用?TCP与UDP呢?答:UDP,TCP在传输层,IP在网络层,TCP/IP是
2、英文TransmissionControlProtocol/InternetProtocol的缩写,意思是"传输控制协议/网际协议"。TCP/IP协议组之所以流行,部分原因是因为它可以用在各种各样的信道和底层协议(例如T1和X.25、以太网以及RS-232串行接口)之上。确切地说,TCP/IP协议是一组包括TCP协议和IP协议,UDP(UserDatagramProtocol)协议、ICMP(InternetControlMessageProtocol)协议和其他一些协议的协议组。TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议
3、的7层抽象的参考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层次上相互通信。这7层是:物理层、数据链路层、网路层、传输层、话路层、表示层和应用层。而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层:应用程序间沟通的层,如简单电子邮件传输(SMTP)、文件传输协议(FTP)、网络远程访问协议(Telnet)等。传输层:在此层中,它提供了节点间的数据传送服务,如传输控制协议(TCP)、用户数据报协议(UDP)等,TCP和UDP给数据包加入传输数据并把它传输到Q3:请问交换机和路由器分别的实现
4、原理是什么?分别在哪个层次上面实现的?一般意义上说交换机是工作在数据链路层。但随着科技的发展,现在有了三层交换机,三层交换机已经扩展到了网络层。也就是说:它等于“数据链路层+部分网络层”。交换机中传的是帧。通过存储转发来实现的。路由器是工作在网络层。路由器中传的是IP数据报。主要是选址和路由。Q4:请问C++的类和C里面的STRUCT有什么区别?答:除关键字不同外(class,struct)的唯一区别是,结构在默认情况下的成员是公共(public)的,而类在默认情况下的成员是私有(private)的。Countycontinuationrecordshasexamineda
5、ndapprovedthedraft,spirit,believe,comprehensiveYearbookofzhuanglangalreadyprepareddraft,enteredthephaseofevaluation.Civilairdefensework在C++中,结构是特殊的类。 class是从struct发展而来的。之所以将struct和class都保留,是因为:1、提出class是为了强调一种概念。2、保留struct是为了照顾到大多数人的习惯。struct和class是有区别的。 struct保证成员按照声明顺序在内存中存储。class不保证等等而它
6、们都可以继承,实现多态等。但也有少许区别。比如:structA{};classB:A{};//private继承structC:B{};//public继承这是由于class默认是private,struct默认是public。一般说来,struct和class可以换用(当然要注意一些语法问题)。而struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体,对私有成员进行保护,还提供与外界的接口。从习惯上更喜欢用class。05:请讲一讲析构函数和虚函数的用法和作用?答:置于“~”是析构函数;析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造
7、函数,加上类名称来定义。;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载,只有在类对象的生命期结束的时候,由系统自动调用。有适放内存空间的做用!虚函数是C++多态的一种表现例如:子类继承了父类的一个函数(方法),而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。如果父类的函数(方法)根本没有必要或者无法实现,完全要依赖子类去实现的话,可以把此函数(方法)设为virturl函数名=0
此文档下载收益归作者所有