先说一下我的情况,某211本计算机,之前在深圳那边做了大约半年多少儿编程老师,之后内部平调回长沙这边,回来之后发现有点难,这边可能是业绩难做,虚假承诺很厉害,要给那些家长虚假承诺去骗人家,技术上也没啥提升,工资自然也不会有提升(不说提升了,不降就是幸运的了),后面就辞职了,然后自学一段时间就面华为od(现在这环境,我这情况这样很满足了)。
前期准备
因为之前也带学生打csp,所以对我来说做题不算很难的事情,把华为hj103刷穿了,自己另外刷了一些动态规划的题目。
之后问hr要了机考链接,稍微把之前刷的题过了一遍,找了些真题做了一下,就去考了。也是绝了,考试之前专门和家里面的人打了电话说不要给我打电话,免得影响考试,结果那天晚上社区的人来查什么天然气使用情况,咚咚咚地敲门,给我整得有点紧张。
面试过程
说说题目:
第一题
是一道模拟题,给你一个数字n和接下来的n行字符串,字符串是考勤记录,让你判断哪些记录是异常的。就这么一个题,我不知道是读题有问题还是怎么的,只能过30%多的样例,磨了几十分钟,放弃掉开始做第二第三题。
第二题
第一个字符是R,第二是是BR,第三个是RBBR,第四个是RBBRRBBR.......问你给你一个数字n和一个数字k,表示第n个字符串的第k个字符,这个字符是什么,是B则输出blue,是R则输出red
这是一个典型的dp,但是直接写的话,空间复杂度是2^n,需要用二分优化一下,简单。
第三题
给你一堆数字,问你其中能组成直角三角形的最大组合数,需要用搜索回溯做。
接下来就是性格测试,按照乐观、乐于助人、愿意加班去选就行了,后来性格测试也过了。
结果过了之后hr说这边没hc了,问我去不去西安,我选择了不去。后面又告诉我有一个hc,让我抓紧准备。
一面过了,感觉还是蛮简单的,可能人家面试官知道我是转行的,没有问很深的问题为难我吧。
开始面试,直接发了一道题过来,让我先做。
题目是这样的:
源数组a,将a中所有元素乘以2之后添加进a,则这个a就叫双倍数组,给你一个数组a,判断它是不是双倍数组,如果是则输出源数组,不是则输出空数组。
思路:
接受输入,存入a,拷贝一份存入b,另外开两个数组single,double用于筛选之后的存储,以i遍历b,如果i*2在a中,则从a中弹出i和i*2,并将其分别添加进single和double中。
遍历完成之后,a如果为空,说明所有的元素都被筛选出来了,则a是一个双倍数组,将single输出,否则输出空数组。
需要特别注意的是0的筛选,因为0*2还是0,可以提前写个特判处理下。
做完之后面试官简单看了下,让我说了下思路。然后就是自我介绍,我简单介绍了一下自己写的两个自动化程序,和一个之前带学生参加比赛写的Python程序,面试官看完表示比较满意,说可以和测试工作结合起来,后面问了一个场景题目,延伸问题的时候就提到了我会一点自动化的技能跟测试工作的联系。
问了:你觉得功能测试,按照你的理解,工作内容包括哪些?
说实话,我感觉这个问题对我来说实在太抽象了,就把测试流程答了一遍。然后面试官可能觉得答得不好,但是不想给我太负面的评价,支支吾吾说了个:你这答得确实比较基础
问了:黑盒测试和白盒测试的区别
这个简单,黑盒能看到功能、UI,看不到代码,白盒可以看到代码。
问了:假设我们公司现在开发一个类似于微信的软件1.0版本,现在要你测试这个功能:打开聊天窗口,输入文本,限制字数在200字以内,问你怎么提取测试点。
这个场景题我答的也不算很好,想到了使用等价类划分法进行测试样例的设计,有效等价类就是打开聊天窗口,输入一段200字以内的文本,无效等价类包括打开聊天窗口,输入非文本信息,比如尝试粘贴图片;打开聊天窗口,输入文本信息,字数超过200字;
后来经过面试官提醒,说了需要做兼容性测试,测试在不同系统上,pc和移动端,功能是否正常,还有前置条件要保证网络正常。
然后继续问:你觉得会的自动化技能怎么跟这个测试场景联系起来,怎么做自动化测试。
因为我刚才展示的自动化程序里面有一个就是自动回复微信消息的,跟这个很像,就答了刚才那个程序稍稍改一下就可以用来做这个测试工作,另外需要添加的功能应该是需要读取excel表格中的数据,用于测试。
问了:接口测试的工具你了解哪些
这我也不太知道,就说了一个postman还有jmeter
然后就是反问环节,问我有啥要问的。
我问了,对于软件测试这个岗位而言,我还有哪些需要提升的地方。
如果入职,咱们公司有哪些措施帮助和监督新人成长
随着技术的提升会有调薪吗?
总的来说,做题和展示我的代码的环节我觉得还是表现得不错的,但是后面问的一些跟测试关系比较深的问题答的都不算特别好。
哦对了,还有一个插曲,问了我一个linux命令
问如果想把一个文件移动到另一个文件夹里面去,用什么命令
我张口就来:rm!!!
说完之后,我感觉对方似乎愣了一下
我自己也反应过来,口快说错了,马上纠正说是move,命令是mv
该说不说,面试的小乌龙也太好笑了吧!
总结
最后感谢每一个阅读我文章的人,一点小心意,虽然不是啥值钱的,需要的话直接拿走: