【4】北京百度实习电话面试

 

时间同样是2016/11/23下午,本来是在等思科的电话面试了,结果等来了北京百度的测试电话面试,一脸懵逼的样子,那好吧,水就水,我就面吧。

投的是测试岗,介绍是云服务大数据相关的测试。

首先让我自我介绍一下,接着问了下Spring中依赖反转的含义,并举个例子,又问了AOP的编程思想,瞎说了几句,虽然说得不对但是意思到了,他也说我说的意思是对的。。好无奈,只怪学的太渣,这两个基本的概念都没掌握,接下来要把Spring中这三个基本概念好好搞清楚。这个HR挺不错的,还耐心给我介绍了一下。然后又问了数据库的知识,问我熟悉哪些数据库,会不会设计数据库,我当然说只会简单的了,还问了一个数据库的知识,不太清楚了。接下来又问Linux的知识,我直接说不会。然后又问算法:冒泡排序,真是后悔平时没看啊,这么简单的,后悔死了唉,只能说不会。最后问测试相关的,测试有哪几种方法,白盒黑盒测试。给你一个案例,一个人去ATM机取款,怎么考虑测试,不会。。。他又细心地跟我讲解了一番,首先肯定要考虑输入的钱是不是正确的,是不是整数。。。等等

大概过程就是这样的,比较懵逼,唉,肯定跪了。

 

解决一下问题吧:

1 ATM机取款的测试用例:

1  测试采用方案

从考虑软件内部结构和具体实现角度采用白盒测试和黑盒测试方法。 

从软件开发的过程按阶段采取单元测试、集成测试、确认测试、系统测试、验收测试。

 

测试用例

 

测试ATM机无卡时状态以及插入磁卡后状态

① 测试无卡时是否为广告状态;

② 插入磁卡是否提示输入密码;

③ 不是银联卡则自动退出卡片;

 

卡密码

④ 输入密码是否是“*”状态;

⑤ 输入密码小于6位;

⑥ 输入密码等于6位且密码正确;

⑦ 输入密码等于6位且密码不正确;

⑧ 输入密码大于6位;

⑨ 输入密码三次错误;

⑩ 输入密码是0-9组合的阿拉伯数字;

 

测试取款功能

11 取款大于单日最多取款金额;

12 5取款大于余额;

13 取款正确;

 

存款

 

14 放入不是50100的其他金额纸币;

15 放入是50100的;

16 放入50100数目较大时的纸币。

 

 

2 Spring中的三个很重要的概念:

控制反转

依赖注入

AOP编程

控制反转:控制反转将依赖对象的创建和管理交由Spring容器,

而依赖注入则是在控制反转的基础上将Spring容器管理的依赖对象注入到应用之中;

 以前编码中 ,有两个类A,B。如果想要在A类中去调用B类中的组件(某个方法),我们就要在A类中去创建B类的实例,然后再调用B类的方法。

而控制反转的思想就是,由Spring容器去创建B类的实例,然后再通过注入的方式将B类对象注入给调用者.

 

AOP编程

即面向切面编程.

在软件系统中有很多如日志,安全和事务管理等功能。这个称为横切关注点,以前都是直接嵌入到应用的业务逻辑里面。

AOP编程思想就是将这些功能与业务逻辑代码分离开,将类中的公共行为封装到一个可重用模块,即切面。然后以注解XML文件中以声明的方式将他们应用到需要的组件中。

 

冒泡排序                                                                                                                      

冒泡排序的思想就是:两两进行比较。

先选取倒数第二个数与倒数第一个数进行比较,如果第二个值大于第一个值,就交换顺序;然后继续比较倒数第三个与倒数第二个。。一直到第一个数。这个过程中最小的数不断往上冒,就叫冒泡排序。

 1 public void bubbleSort3(int[] arrs){
 2 
 3   if(arrs==null ||arrs.length<=0)
 4 
 5     return;
 6 
 7   boolean flag=true;
 8 
 9   for(int i=0;i<arrs.length&& flag;i++){
10 
11     flag=false;
12 
13     for(int j=arrs.length-2;j>=i;j--){
14 
15       if(arrs[j]>arrs[j+1]){
16 
17       int temp=arrs[j+1];
18 
19       arrs[j+1]=arrs[j];
20 
21       arrs[j]=temp;
22 
23       flag=true;
24 
25      }
26 
27     }
28 
29   }
30 
31 }

 

 

时间同样是2016/11/23下午,本来是在等思科的电话面试了,结果等来了北京百度的测试电话面试,一脸懵逼的样子,那好吧,水就水,我就面吧。

投的是测试岗,介绍是云服务大数据相关的测试。

首先让我自我介绍一下,接着问了下Spring中依赖反转的含义,并举个例子,又问了AOP的编程思想,瞎说了几句,虽然说得不对但是意思到了,他也说我说的意思是对的。。好无奈,只怪学的太渣,这两个基本的概念都没掌握,接下来要把Spring中这三个基本概念好好搞清楚。这个HR挺不错的,还耐心给我介绍了一下。然后又问了数据库的知识,问我熟悉哪些数据库,会不会设计数据库,我当然说只会简单的了,还问了一个数据库的知识,不太清楚了。接下来又问Linux的知识,我直接说不会。然后又问算法:冒泡排序,真是后悔平时没看啊,这么简单的,后悔死了唉,只能说不会。最后问测试相关的,测试有哪几种方法,白盒黑盒测试。给你一个案例,一个人去ATM机取款,怎么考虑测试,不会。。。他又细心地跟我讲解了一番,首先肯定要考虑输入的钱是不是正确的,是不是整数。。。等等

大概过程就是这样的,比较懵逼,唉,肯定跪了。

 

解决一下问题吧:

1 ATM机取款的测试用例:

1  测试采用方案

从考虑软件内部结构和具体实现角度采用白盒测试和黑盒测试方法。 

从软件开发的过程按阶段采取单元测试、集成测试、确认测试、系统测试、验收测试。

 

测试用例

 

测试ATM机无卡时状态以及插入磁卡后状态

① 测试无卡时是否为广告状态;

② 插入磁卡是否提示输入密码;

③ 不是银联卡则自动退出卡片;

 

卡密码

④ 输入密码是否是“*”状态;

⑤ 输入密码小于6位;

⑥ 输入密码等于6位且密码正确;

⑦ 输入密码等于6位且密码不正确;

⑧ 输入密码大于6位;

⑨ 输入密码三次错误;

⑩ 输入密码是0-9组合的阿拉伯数字;

 

测试取款功能

11 取款大于单日最多取款金额;

12 5取款大于余额;

13 取款正确;

 

存款

 

14 放入不是50100的其他金额纸币;

15 放入是50100的;

16 放入50100数目较大时的纸币。

 

 

2 Spring中的三个很重要的概念:

控制反转

依赖注入

AOP编程

控制反转:控制反转将依赖对象的创建和管理交由Spring容器,

而依赖注入则是在控制反转的基础上将Spring容器管理的依赖对象注入到应用之中;

 以前编码中 ,有两个类A,B。如果想要在A类中去调用B类中的组件(某个方法),我们就要在A类中去创建B类的实例,然后再调用B类的方法。

而控制反转的思想就是,由Spring容器去创建B类的实例,然后再通过注入的方式将B类对象注入给调用者.

 

AOP编程

即面向切面编程.

在软件系统中有很多如日志,安全和事务管理等功能。这个称为横切关注点,以前都是直接嵌入到应用的业务逻辑里面。

AOP编程思想就是将这些功能与业务逻辑代码分离开,将类中的公共行为封装到一个可重用模块,即切面。然后以注解XML文件中以声明的方式将他们应用到需要的组件中。

 

 

 

 

冒泡排序                                                                                                                                                                                                   

冒泡排序的思想就是:两两进行比较。

先选取倒数第二个数与倒数第一个数进行比较,如果第二个值大于第一个值,就交换顺序;然后继续比较倒数第三个与倒数第二个。。一直到第一个数。这个过程中最小的数不断往上冒,就叫冒泡排序。

public void bubbleSort3(int[] arrs){

if(arrs==null ||arrs.length<=0)

return;

boolean flag=true;

for(int i=0;i<arrs.length&& flag;i++){

flag=false;

for(int j=arrs.length-2;j>=i;j--){

if(arrs[j]>arrs[j+1]){

int temp=arrs[j+1];

arrs[j+1]=arrs[j];

arrs[j]=temp;

flag=true;

}

}

}

}

 

 

原文地址:https://www.cnblogs.com/noaman/p/6102834.html