时间同样是2016/11/23下午,本来是在等思科的电话面试了,结果等来了北京百度的测试电话面试,一脸懵逼的样子,那好吧,水就水,我就面吧。
投的是测试岗,介绍是云服务大数据相关的测试。
首先让我自我介绍一下,接着问了下Spring中依赖反转的含义,并举个例子,又问了AOP的编程思想,瞎说了几句,虽然说得不对但是意思到了,他也说我说的意思是对的。。好无奈,只怪学的太渣,这两个基本的概念都没掌握,接下来要把Spring中这三个基本概念好好搞清楚。这个HR挺不错的,还耐心给我介绍了一下。然后又问了数据库的知识,问我熟悉哪些数据库,会不会设计数据库,我当然说只会简单的了,还问了一个数据库的知识,不太清楚了。接下来又问Linux的知识,我直接说不会。然后又问算法:冒泡排序,真是后悔平时没看啊,这么简单的,后悔死了唉,只能说不会。最后问测试相关的,测试有哪几种方法,白盒黑盒测试。给你一个案例,一个人去ATM机取款,怎么考虑测试,不会。。。他又细心地跟我讲解了一番,首先肯定要考虑输入的钱是不是正确的,是不是整数。。。等等
大概过程就是这样的,比较懵逼,唉,肯定跪了。
解决一下问题吧:
1 ATM机取款的测试用例:
1 测试采用方案
从考虑软件内部结构和具体实现角度采用白盒测试和黑盒测试方法。
从软件开发的过程按阶段采取单元测试、集成测试、确认测试、系统测试、验收测试。
2 测试用例
1 测试ATM机无卡时状态以及插入磁卡后状态
① 测试无卡时是否为广告状态;
② 插入磁卡是否提示输入密码;
③ 不是银联卡则自动退出卡片;
2 卡密码
④ 输入密码是否是“*”状态;
⑤ 输入密码小于6位;
⑥ 输入密码等于6位且密码正确;
⑦ 输入密码等于6位且密码不正确;
⑧ 输入密码大于6位;
⑨ 输入密码三次错误;
⑩ 输入密码是0-9组合的阿拉伯数字;
3 测试取款功能
11 取款大于单日最多取款金额;
12 5取款大于余额;
13 取款正确;
4 存款
14 放入不是50和100的其他金额纸币;
15 放入是50和100的;
16 放入50或100数目较大时的纸币。
2 Spring中的三个很重要的概念:
l 控制反转
l 依赖注入
l AOP编程
控制反转:控制反转将依赖对象的创建和管理交由Spring容器,
而依赖注入则是在控制反转的基础上将Spring容器管理的依赖对象注入到应用之中;
以前编码中 ,有两个类A,B。如果想要在A类中去调用B类中的组件(某个方法),我们就要在A类中去创建B类的实例,然后再调用B类的方法。
而控制反转的思想就是,由Spring容器去创建B类的实例,然后再通过注入的方式将B类对象注入给调用者.
AOP编程
即面向切面编程.
在软件系统中有很多如日志,安全和事务管理等功能。这个称为横切关注点,以前都是直接嵌入到应用的业务逻辑里面。
而AOP编程思想就是将这些功能与业务逻辑代码分离开,将类中的公共行为封装到一个可重用模块,即切面。然后以注解XML文件中以声明的方式将他们应用到需要的组件中。
3 冒泡排序
冒泡排序的思想就是:两两进行比较。
先选取倒数第二个数与倒数第一个数进行比较,如果第二个值大于第一个值,就交换顺序;然后继续比较倒数第三个与倒数第二个。。一直到第一个数。这个过程中最小的数不断往上冒,就叫冒泡排序。
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 测试采用方案
从考虑软件内部结构和具体实现角度采用白盒测试和黑盒测试方法。
从软件开发的过程按阶段采取单元测试、集成测试、确认测试、系统测试、验收测试。
2 测试用例
1 测试ATM机无卡时状态以及插入磁卡后状态
① 测试无卡时是否为广告状态;
② 插入磁卡是否提示输入密码;
③ 不是银联卡则自动退出卡片;
2 卡密码
④ 输入密码是否是“*”状态;
⑤ 输入密码小于6位;
⑥ 输入密码等于6位且密码正确;
⑦ 输入密码等于6位且密码不正确;
⑧ 输入密码大于6位;
⑨ 输入密码三次错误;
⑩ 输入密码是0-9组合的阿拉伯数字;
3 测试取款功能
11 取款大于单日最多取款金额;
12 5取款大于余额;
13 取款正确;
4 存款
14 放入不是50和100的其他金额纸币;
15 放入是50和100的;
16 放入50或100数目较大时的纸币。
2 Spring中的三个很重要的概念:
l 控制反转
l 依赖注入
l AOP编程
控制反转:控制反转将依赖对象的创建和管理交由Spring容器,
而依赖注入则是在控制反转的基础上将Spring容器管理的依赖对象注入到应用之中;
以前编码中 ,有两个类A,B。如果想要在A类中去调用B类中的组件(某个方法),我们就要在A类中去创建B类的实例,然后再调用B类的方法。
而控制反转的思想就是,由Spring容器去创建B类的实例,然后再通过注入的方式将B类对象注入给调用者.
AOP编程
即面向切面编程.
在软件系统中有很多如日志,安全和事务管理等功能。这个称为横切关注点,以前都是直接嵌入到应用的业务逻辑里面。
而AOP编程思想就是将这些功能与业务逻辑代码分离开,将类中的公共行为封装到一个可重用模块,即切面。然后以注解XML文件中以声明的方式将他们应用到需要的组件中。
3 冒泡排序
冒泡排序的思想就是:两两进行比较。
先选取倒数第二个数与倒数第一个数进行比较,如果第二个值大于第一个值,就交换顺序;然后继续比较倒数第三个与倒数第二个。。一直到第一个数。这个过程中最小的数不断往上冒,就叫冒泡排序。
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;
}
}
}
}