先说一下我的情况,某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
该说不说,面试的小乌龙也太好笑了吧!
面试笔记
我也为大家整理了一套最新的软件测试系统学习教程,包括测试理论、Linux基础、MySQL基础、Web测试、接口测试、App测试、Python基础、Selenium相关、性能测试、LordRunner相关等
一、软件测试基础
软件测试的步骤是什么?
如何录制测试脚本?
应该考虑进行如何测试的测试方法
怎样估计测试工作量?
测试设计的问题
当测试过程发生错误时,有哪几种解决办法?
测试执行的问题
测试评估的目标
如何提高测试?
C/S模式的优点和缺点
B/S模式的优点和缺点
…...
二、Linux
grep和find的区别? grep 都有哪些用法?
查看IP地址?
创建和删除一个多级目录?
在当前用户家目录中查找haha.txt文件?
如何查询出tomcat的进程并杀掉这个进程,写出linux命令?
动态查看日志文件?
查看系統硬盘空间的命令?
查看当前机器listen 的所有端口?
…...
三、Python
统计python源代码文件中代码行数,去除注释,空行,进行输出?
python调用cmd并返回结果?
冒泡排序
1,2,3,4 这4个数字,能组成多少个互不相同的且无重复的三位数,都是多少?
请用 python 打印出 10000 以内的对称数(对称数特点:数字左右对称,如:1,2,11,121,1221 等)
给定一个整数 N,和一个 0-9 的数 K,要求返回 0-N 中数字 K 出现的次数
判断 101-200 之间有多少个素数,并输出所有的素数
一个输入三角形的函数,输入后输出是否能组成三角形,三角形类型,请用等价类- 划分法设计测试用例
…...
四、数据库
你用的Mysql是哪个引擎,各引擎之间有什么区别?
如何对查询命令进行优化?
数据库的优化?
Mysql数据库的操作?
优化数据库?提高数据库的性能?
什么是数据的完整性?
…...
五、抓包与网络协议
抓包工具怎么用?
如何抓取https的包?如何抓取手机的包?
请求方式有哪些?
get跟post请求的区别?http跟https的区别?
......
六、接口测试
什么是接口
如果模块请求http改为了https,测试方案应该如何制定,修改?
常用HTTP 协议调试代理I具有什么?详细说明抓取HTTPS协议的设置过程?
描述TCP/IP协议的层次结构,以及每一-层中重要协议
jmeter,一个接口的响应结果如下:
接口产生的垃圾数据如何清理
依赖第三方的接口如何处理
测试的数据你放在哪?
什么是数据驱动,如何参数化?
…...
七、接口自动化
为什么做接口自动化?
你写了多少接口自动化用例?
比如说你接口的请求参数需要加密处理的,你们用的是什么加密方式,你加密怎么处理的?
你查询出来返回结果是密文,密文你怎么测试?
......
八、UI自动化与app测试
ui 自动化怎么测试?
自动化测试环境的搭建是怎样的?
seleniun 库中用过哪些函数?
定位元素的8个方法是什么?
css 定位的方法?
adb 的作用是?
App 稳定怎么做的? Monkey怎么用p (App 稳定测试 )?
App 弱网测试怎么做的?
......
九、Pytest框架与Unittest框架
Unittest 框架有哪些组件?
Unittet st 框架如何使用?
pytest 框架如何去生成测试报告?
bytes 如何去运行多个文件或者整个目录?
pytest 框架如何去运行上次失败的测试用例?
pytest 运行用例,用例命名规则有哪些?
......
十、性能测试
你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?
服务端性能分析都从哪些角度来进行?
如何理解压力测试,负裁测试以及性能测试?
如何判断是否有内存泄漏及关注的指标?
描述软件产“生内存泄露的原因以及检查方式。(可以结合- 种开发语言进行描述)
简述什么是值传递,什么是地址传递,两者区别是什么?
什么是系统瓶颈?
…...
十一、人力资源
你的测试职业发展是什么?你自认为做测试的优势在哪里?
为什么我们应该录取你?
请谈谈你个人的最大特色。
一个测试工程师应具备那些素质和技能?
为什么选择测试这行?
如果我雇用你,你能给部门带来什么贡献?
…...
整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习!
视频教程观看处:
【软件测试】用300道面试题帮你上岸,每天刷一遍,让你直接入职,斩获心仪offer_哔哩哔哩_bilibili【软件测试】用300道面试题帮你上岸,每天刷一遍,让你直接入职,斩获心仪offer共计200条视频,包括:面试讲解1——美团真题1 - 给定场景,说说你的测试用例设计思路、软件测试全套资料及学习路线、面试讲解2——美团真题2 - 说下session和token检验的区别等,UP主更多精彩视频,请关注UP账号。https://www.bilibili.com/video/BV1SY4y1p7k6/?vd_source=74d0257ec7066cc4f9013524f0bb7013#reply175533904208