前言
最近收到了很多粉丝反馈的面试题 。。
有主观题 ,有功能测试题,有python编程题 ,有自动化测试题,有数据库题,linux等。。
本文作为《测试面试宝典》内容,将面试题以及部分参考答案开放出来。。
1、面试技巧题(主观题)
来自粉丝们的高频问题:
序号 | 面试题 |
1 | 怎么能在技术没有那么合格的前提下给面试官留个好印象? |
2 | 面试时,如何巧妙地避开不会的问题?面试遇到自己不会的问题如何机智的接话,化被动为主动? |
3 | 对于了解程度的技能,被问到我都是答会还是不会,主动避开了,都没有展开说用到的部分,感觉面试的时候没有信心 |
4 | 自我介绍如何说?3分钟够不? |
5 | 自己作为一个测试人员,为测试组做了哪些贡献? |
6 | 做测试人员,自身有什么优势? |
7 | 你有什么要问我的吗? |
参考答案:
1、怎么能在技术没有那么合格的前提下给面试官留个好印象?
面试官考察的,技术只是一方面。
他(她)还会考虑:这个人是否值得培养?培养成本如何?
怎么考虑培养这件事呢?1个是工作态度和心态,2个是学习能力
那么你在面试中,需要体现的就是以上2点了。
可以从以下这些方面着手:
1) 主动承担过哪些工作,
2) 有组织内部技术/业务分享
3) 关注的测试公众号,逛的测试论坛,看测试相关的书籍
4) 接受新事物
5)工作/学习态度积极主动
6)求知欲强
以上附以相关案例来说明
2、面试时,如何巧妙地避开不会的问题?面试遇到自己不会的问题如何机智的接话,化被动为主动?
- 对于自己了解或者不会的,可以直接告诉面试官,自己在这一方面接触的少,或者工作中还尚未接触到。
如果你强行说会,那么面试官接下来会问更多相关的问题,答不上来就会暴露你撒谎。
- 可以补充说明:自己有额外去了解这个技术,从哪些渠道/书中去学习,了解了哪些点。
- 可以补充说明:虽然现在不会,但是如果有机会,很愿意学习和使用的。
当然了,你如果很会聊天也有好的经历,可以在问题的相关其它技术上突出你的能力。
3、对于了解程度的技能,被问到我都是答会还是不会,主动避开了,都没有展开说用到的部分,感觉面试的时候没有信心
在简历当中,如果技术的熟练程度为了解,那就是告诉面试官,你大概知道这个东西,但是并没有在工作当中深入应用。
所以,被问到了解的技术,可以大方的告诉面试官,你的了解程度,以及在工作中用到的程度。
而且 ,面试官也不会抓着你了解的问题继续问,所以不需要不自信。
4、自我介绍如何说?3分钟够不?
你的整体工作经历,面试官在简历上可以大概知道的。
而且对于你2年前的工作,面试官也不会太问,问了你说忘记了也正常之事。
面试官关心的是:你现在的一个工作职责是怎样的,工作能力是怎样的
所以在自我介绍这里:
1、总结自己在测试行业几年了,自动化几年了,管理几年了,主要从事哪些领域的测试工作。
2、目前正在做的项目是什么类型的,目前主要承担的工作内容是什么样的
- 对于再早一些的履历,简单几句带过就好。比如之前的工作经验主要是。。。。
自我介绍要简短,不需要3分钟 。说多了,面试官后面基本也没在听了。
5、自己作为一个测试人员,为测试组做了哪些贡献?
主要说说:公司之前没有的,你来了之后,带来的改变。
以下可参考的点,来自和VIP学员交流之后的结论:
1、输出框架学习文档,让组员学习,给团队赋能
2、提高了效率 --
3、解决了什么问题 --
4、优化的工作
5、给开发提需求开发了自动化测试工具算不 -- 算
6、保证质量 -- 上线前的隐藏大bug提前挖掘/规范了测试流程.....
7、活跃团队气氛,提高测试人员激情
8、给其它团队培训产品 -
6、做测试人员,自身有什么优势?
面试官想知道,现在的你,在做测试这份工作,你有什么优秀的地方。
主要从2个方面体现 :一个是软件测试硬技能优势(测试技术),另一个就是软技能方面。
在测试技术方面:比如你的自动化能力/测试开发能力,/比如你比别人多挖掘的严重级别bug等。。
在软技能方面:
做事认真细致
发散思维
软技能 - 沟通能力/总结能力/领悟力和理解力/学习能力
这些点都需要举例说明你的这个能力在工作中的应用。
7、你有什么要问我的吗?
很多学员在有多个offer选择的时候,很纠结不知道选哪个。
主要原因有2个:
一个是对自己下一阶段的工作目标不清晰,或者容易动摇。
比如以薪资为首要目标,或者以职业发展前景为首要目标。
另外一个,是对有offer的公司,不了解自己入职之后的主要工作职责以及未来的发展前景。
这里的发展前景,是指你在这个岗位上的发展前景。
大家需要记住:别人评估你的价值,都是根据你以前的职场工作履历。
所以我们在选择公司时,一定要结合自己自身的需求,以及为下一次跳槽做增值准备。
所以,在这个【你有什么要问我的吗】,就赶紧好好了解了解这家公司是否值得入职
提供以下几个参考选项:
1、了解公司的测试团队、成员比例(功能/自动化/测开/性能等。)
2、了解自己未来会在的项目是什么类型、项目现在所处阶段、测试有多少人等。。
3、了解自己如果入职后,主要的工作内容是什么
4、了解贵公司对测试团队未来的规划是什么。
5、如果是对加班比较介意的,可以问问如果入职后,加班频率是怎样的。。
还有其它,可根据自己个人情况酌情提问 。。
注意提问的态度 。。
其次,如果你的问题比较多,需要解释一下你为什么要问这个问题。因为你问多了,面试官也挺烦的。
功能测试面试题
测试用例设计 | 微信红包测试用例 |
测试用例设计 | 微信搜索功能用例、微信朋友圈功能、微信红包功能 |
接口测试 | 今天面试被问你们公司是怎样做一个接口测试的? |
http通信 | 3次握手,4次挥手? |
业务能力 | 介绍一下你的项目 |
质量体系 | 如何保障测试质量? |
bug定位能力 | 你平常怎么定位问题的? |
参考答案:
1、用例设计类:
微信的功能被问的比较多。比如微信红包功能、微信朋友圈、微信搜索功能的用例设计。
我们在设计用例测试时,一般参考以下2点:
1、产品面向的用户群体、产品的应用场景
2、基于1,考虑以下6点:功能、界面、性能、安全、易用、兼容
以微信红包为例:
群体:中国境内广大人民群众
应用场景:
私发
群发 - 手气/口令/固定
封面红包
视频红包
拜年红包
红包限额、24小时后退回、金额波动、金额精确度、节日祝福词、查看红包记录、添加表情...
如果面试时,问的用例设计题,是你准备了的,那很好回答。
如果面试时,用例设计题是没有准备过的,临场思考,多多少少会漏掉。
实际工作中,咱们也是花了心思和时间去思考如何来设计用例的,比面试时多的多。
所以,如果面试时设计不全,可以向面试官说明一下情况。
现场时间短、面对面紧张,同时举个例子说说实际工作中是如何花时间全面设计的。
2、今天面试被问你们公司是怎样做一个接口测试的?
提供某位粉丝的回答方式:
我当时就答跟功能测试差不多,也是要考虑它的正常情况,然后其他的测试用例设计也是跟功能测试相似,执行测试用例,对照接口文档 去看它们返回的状态码是否跟接口文档描述的一致
以上回答呢,太泛泛而谈了。没有与你们公司的实际应用结合。
这个流程,你不说面试官也知道,全国接口测试都是这个套路。这个答案说了和没有说,没啥区别。
参考的回答方式:
结合你们公司的业务接口,具体落地的说明:
- 具体用什么工具/框架
- 接口的类型/数据格式
- 接口文档/swagger/yapi/ - 抓包/沟通
- 断言 - 会比对哪些数据
- 数据库校验
- 可以再补充说明一些难点处理方式
3、http通信的3次握手,4次挥手?
有手就行!
4、如何保障测试质量?
面试官考察:1、你对质量的认知;2、你的过往经验中是如何来保障测试质量的。
参考以下几种维度,最好再结合你曾经的工作案例:
可以从保障产品质量、如何减少漏测等方面说明。
从我自己的测试经验里
- 测试流程/产品交付流程上要规范 -- 需求/评审/冒烟/交叉测试/abtest/灰度发布等
2. 从测试的维度上来(各种测试维度、测试手段、左移右移等):
一是要减少漏测:回归时容易出现 -可适当利用自动化手段
二是要尽量了解客户场景:覆盖用户的使用场景。在功能和非功能测试上都可以更好的设计用例
三是要持续更新用例库:对于出现的未覆盖的,需要更新到下次常规测试中
四是可以展开探索性测试
五是梳理逻辑漏洞,避免隐藏的测试场景
六是加入白盒测试,对于开发代码review,加入代码扫描等。
5、你平常怎么定位问题的?
面试官考察:1、你是否真的只是点点点而已 2、功能测试基本功深度如何
一般常借用的手段 - F12/抓包工具、看产品日志
马上举例:你工作中最有成就感的一个bug定位和分析
要体现出,你真的不光是点点点,你有深入的去了解产品的业务流、数据流、实现逻辑,可以挖掘深层次隐藏的bug。
补充一下数据库、linux、性能类的面试题
数据库类:
序号 | 面试题 |
1 | 一个学生表:学生id,姓名,语文成绩 ,数字成绩。查出学生语文数字成绩之和,倒序排列 |
2 | 一个学生表:学生id,姓名,课程(课程存在多门),成绩。查出所有成绩均及格的学生名字 |
3 | 数据库名:学生成绩数据库 学生表(班级编号、学号、姓名、性别、民族、身份证号、出生日期) 课程表(课程号、课程名) 成绩表(ID、学号、课号、分数) 用 SQL 语言实现下列功能的 SQL 语句代码; 1. 在【学生成绩数据库】中查询每个学生的班级编号、学号、姓名、平均分、结果 按平均分降序排列,均分相同者按班级排列。 2. 创建一个视图[ 教学成绩表视图 ]显示学生的学号、姓名、课程名、分数。 |
4 | 现有一张成绩表scores(score_id, course_id, student_id, teacher_id, score),一 张课程表courses(course_id, course_namer, teacher_id, score),一张学生表students(student_id,student_name)。请列出总分在600分以上且“数学”分数高于100分的学生名字及其总分。 我的答案: ● 查出数学分数高于100分的学生信息 ● 按照学生分组,求出每个学生的总分 ● 用这个分组作为数据集查询总成绩大于600的 |
5 | 索引原理 |
linux类:
序号 | 面试题 |
1 | linux常见命令?工作中的应用场景 |
2 | 如何在linux中取到本机地址,如何将取到的本机地址取出,通过什么命令 |
3 | linux中如何实现挂载、查看实时进程 |
4 | 查看进程的命令,用到哪些参数 |
性能类:
序号 | 面试题 |
1 | jmeter的工作原理,列出几个JMeter监听器?,压力、负载、稳定性分别解释下 |
2 | tps是什么 |
3 | 讲讲什么是压力测试?以及要做好压力测试需要考虑哪些东西 |
4 | 怎么在项目中用jmeter做性能测试的 |
需要完整《软件测试面试宝典》私信我关键词“面试”自取