百度软件测试面试题,答出三个你就了不起了!

测试设计题

A、 规则说明

一号通功能是指用户的多个终端(手机、固定电话)可以挂在一个虚拟或实际号码下面、 这个号码称为引导号码。当其它用户拨打引导号码时,用户的多个终端会同时振铃,当用户接听其中一个终端后,其它终端将停止振铃。 一号通最多只支持有2个成员;一号通的成员可以是固定电话或移动电话;引导号码长度为4-16

请设计相应测试用例验证一号通功能 (写出分析过程)

正常:
1、引导号码:长度、号码规则、虚拟号码、实际号码
2、两个终端:手机-固定电话、 手机-手机、固定电话-固定电话
3、一个终端:手机、 固定电话
4、终端通话切换
异常:
1、号码异常
2、加载两个各以上的终端
3、一个终端故障、 两个终端均故障
4、一个终端接通后继续拨打引导号码

B、 规则说明

假设需要实现操作系统中的一个进程调度器, 根据如下规则来确定如何进行测试设计、进程可处于5种状态;

1、 就绪 随时可以被调度器选中, 从而获得CPU得到执行

2、 运行 已经获得CPU,正在执行

3、 阻塞 进程申请系统中的资源, 如果资源暂时无法获得,则进入阻塞状态

4、 终止 进程结束,则进入终止状态, 等待操作系统回收进程在创建或运行时申请的资源

5、 死亡 处于终止状态的进程资源被回收后,进程彻底消失,等价于没有被创建请设计用例测试进程调度器(写出分析过程)。

程序设计题

不使用任何库, 编写一个函数charremove(const char src,char c )

参数src为输入的字符串,长度不确定,不为空。

参数c为任何可能的字符

返回值。 Src中删除了所有字符c的字符串。对是否通过动态分配内存的方式返回这个字符串还是使用静态的内存不做限制。

char *remove(const char *src,char c)
 {
  char temp[20];
  int i=0,j=0;
  while(src[i]!='\0')
  {
   if(src[i]!=c)
   {
    temp[j]=src[i];
    i++; 
    j++; 
   } 
   else
   {
    i++; 
   } 
  } 
  temp[j]='\0'; 
  return temp; 
 } 

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

    答:七层结构从上到下依次是:
    7 应用层 ;6 表示层 ;5 会话层 ;4 传输层 ;3 网络层 ;2 数据链路层 ;1 物理层
    五层结构是

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

    请你详细的解释一下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数据报。主要是选址和路由。

    请问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。

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

    答:置于“~”是析构函数; 析构函数因使用"~"符号(逻辑非运算符),表示它为腻构造函数,加上类名称来定义。
    ;析构函数也是特殊的类成员函数,它没有返回类型,没有参数,不能随意调用,也没有重载, 只有在类对象的生命期结束的时候,由系统自动调用。
    有适放内存空间的做用!

    虚函数是C++多态的一种表现
    例如:子类继承了父类的一个函数(方法), 而我们把父类的指针指向子类,则必须把父类的该函数(方法)设为virturl(虚函数)。
    使用虚函数,我们可以灵活的进行动态绑定,当然是以一定的开销为代价。

    如果父类的函数(方法)根本没有必要或者无法实现, 完全要依赖子类去实现的话,可以把此函数(方法)设为virturl 函数名=0
    我们把这样的函数(方法)称为纯虚函数。
    如果一个类包含了纯虚函数,称此类为抽象类

     

    感谢每一个认真阅读我文章的人!!!

    作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

    软件测试面试文档

    我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。 

              视频文档获取方式:
    这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值