中午刚吃过饭,困意袭来,昏昏欲睡,接到一个杭州打来的电话,说是支付宝电话面试(我都忘记我什么时候投的简历,毫无准备)。
按一般电话面试流程,是需要应聘者做一下自我介绍的,而这位面试的同学,直接就问我在项目主要负责什么,对项目承担什么样的责任,
毫无防备,不按套路出牌。结果我先给她介绍项目背景,再细说自己的日常工作,
我提及我们现在项目支持ha,某个功能模块能实现负载均衡,我介绍这个模块的负载均衡逻辑,如何测试。她一定是仔细看过我的建立,我写了自己
做性能测试的内容,说实话是自己私下使用Jmeter跑了一下,设置的场景也很简单,没有具体的需求,无法实现对应的测试效果。
巴拉巴拉说了一大堆听起来毫无技术含量,毫无复杂业务的话。
接着,她问我测试相关的:你怎么做自动化测试,我介绍了一下自己用shell和perl写的两个自动化框架,主要是通过关键字检测,把case写在配置文件,
脚本运行会首先检测配置环境,然后自动加载case,如果满足预期PASS否则FAIL并写到log里,跑完会生成test summary 并发给指定的用户,最后清理环境。
接着问我最熟悉什么语言,我说java和perl,她问我一个java怎么实现多态的?当时就蒙了,概念性的东西,我真回答不上,就胡扯了(事后查了查,多态确实是一个很重要的概念,是区别java菜鸟和高手的一个很有效的手段)。
接着她问我字符串查找的问题,比如“123412341234” 查找出23的位置
如果不涉及算法,可以使用java内置函数
String str1="abcdtest01cdccdfsdffgdvvbggh"; String str2="cd"; int location =str1.indexOf(str2);
indexof方法找到某字符串返回位置从0开始的位置,否则返回-1
我回答了三种方案:
1.通过正则表达式(借鉴perl)
2.把这个字符串变成数组,每相邻两个看做子数组,与23数组对比,相同便返回下标
public class search { public static void main(String[] args) { // TODO Auto-generated method stub String str1="abcdtest01cdccdfsdffgdvvbggh"; String str2="gh"; //System.out.print(str2.length()); for(int i=0;i<=str1.length()-str2.length();i++) { int count=0; for(int j=0;j<str2.length();j++) { if(str1.toCharArray()[i+j]==str2.toCharArray()[j]) { count++; } if(count==str2.length()) { System.out.println(i+1); break; } } }
3.使用java内置函数,将字符串截取两个相邻字母变成子字符串,与23对比
事后想想,这么回答不够好。
之后又问我为什么只在上家公司待了很短的时间,我告诉她,项目结束,不愿意去宁波出差和leader没谈妥。
由于我之前做过报表测试,接着她问我报表测试如何分类,如何进行测试。
我说报表一般分为
1.统计型,比如统计月交易额(需要计算)
2.筛选指定的用户信息型,比如开办什么业务的用户(不需具体计算)
报表测试是通过模拟用户业务流程,最后对比报表结果实现的。数据来源一部分是真实生产环境,一部分通过做业务。
准备的不充分,到最后她问我对工作地点有什么要求,我说最好是上海,杭州也不错,可以考虑。
然后就木有了,真的木有了,估计没戏。整个电话面试持续了30多分钟,我突然意识到准备如此不重分,都是一些基本
描述型的话,没有经过自己揣摩加工,说出去毫无亮点和技术含量,优势尽失.