老实说硕士算法转测开并没有想象中那么顺利,由于编程语言限制在python对于中厂以下来说形如鸡肋,毕竟主要还是以java为主的。不过总的来说根据暑期实习的面试情况来看,还不至于如同去年前辈们所说的那样惨淡。现在的暑期又名秋招提前批,也算是为了秋招做好充足的面试准备了吧,本文将持续更新24届从暑期到春招在测开一岗上的面试记录,希望可以帮助到同志们。
PS:提问来自众安、北森云、百度、腾讯、中软
一.测试基础
- 有提前了解过测试这个岗位么,它具体是做什么的?
- 你清楚软件测试的流程么?(或者说问项目流程)
- 黑盒与白盒的区别?
- 你知道哪些测试用例的要素?
- 测试用例的方法有哪些?或者说编写测试用例的方法
- 熟悉哪些测试工具?
- 边界值分析举例(相比其它几个也会要求)
参考回答:
1)在规定下对程序进行操作,发现其中的错误、衡量程序(软件)的质量,并对其是否满足设计需求进行评估的这么一个岗位。或者说查看程序输出与设计要求之间可能存在的差别,测试就是为了发现这些差别并提出改进思想的工作。
2)文档评审阶段(需求评审,开发文档,设定测试计划),编写与执行测试阶段(单元测试,集成测试,敏捷测试),最后输出测试报告进入验收阶段。
3)黑盒测试不谈就程序内部结构和源代码,测试人员提供有效或无效的输入,并根据实验预期结果验证输出。白盒测试与之相反。
4)测试用例的编号和标题,测试项目,重要级别,预置条件,测试输入,操作步骤和预期结果。
5)等价类交换法,正交测试法,错误类推断法,因果图,边界值,场景法和判定表。
6)额,我只接触过python中的selenium(然后面试官就会对此进行疯狂提问)
二.数据库
本单元的答案可参考我的另一篇博客:数据库基本操作
- 数据库索引是什么?
- 什么是SQL?
- SQL语句查询排名前十学生的姓名
- SQL语句统计不同城市的学生人数按降序排列
- 使用过哪些数据库?mysql是自己安装的么,当中遇到过哪些问题?
- order by 和 group by分别是什么?
- 我们工作中会比较常用一些查询语句,你熟悉多表之间的查询么?
参考回答:
1)数据库的索引是为了提高查询速度而对表字段附加的一种标识,是一种数据结构(平衡树),索引可以使数据库快速的寻找表中的数据,而不必寻找整个数据库。索引是在存储引擎层实现的,而不是在服务器层实现的,所以不同存储引擎具有不同的索引类型和实现。
2)结构化程序语言
3)select name from student where id<=10 ; 其中id是成绩排名,name指代学生姓名,select name from student order by 总成绩 DESC
4)同3)类型
5)之前看面经的时候有人被问了这个问题,这玩意我直接回复的照着csdn流程安装的。
6)order by是排序(默认模式是升序),group by分组
7)外键,select * from,子查询,内外连接之类的。
三.python基础
- Python中列表list、字典dict、元组tuple的区别和各自的使用方法?
- *args,*kwargs
- python中的装饰器
- python中的多线程了解多少?
- os和sys
- lambda表达式
- python中如何拷贝一个对象?
- 因为我们公司需要对接一些数据,需要用到一些爬虫知识(合规的)请问你熟悉selenium么?
参考回答:
1)列表是一个有序的数据结构可以修改,元组是不可变的,字典通过键值对的方式将数据存储下来,键必须是唯一的。
2)可变位置参数,可变关键字参数,同时使用时前者必须要在后者的前面。前者的本质是一个列表,后者的本质是一个字典。两个参数同时存在的时候前者一定要在后者的前面。
3)装饰器是一种嵌套函数,可以用来增强函数或类功能,它返回的是函数对象也就是用了闭包的原理。主要用于日志插入,权限管理等。
4)调用thread模块中的start_new_thread()函数来产生新线程,或使用Threading模块创建线程,直接从threading.Thread继承。
5)os提供了对使用操作系统函数的高度封装,常用的有os.getcwd(),os.removed()
sys提供了由解释器访问或维护的变量以及与解释器交互的一些函数,常用的有sys.argv,sys.exit
6)这玩意是Java?lambda也是一种函数,在处理一些简单的表达式时可以使用该表达式,其好处是不用为实现一些简单功能的函数命名。
7)copy与deepcopy,前者是浅拷贝只拷贝父级对象不会拷贝其子对象,后者是深拷贝,会完全拷贝父对象以及子对象。
8)听到爬虫的时候我是有些懵逼的,我对这玩意的印象是牢饭...,额我就说了下我了解它可以做一些网页测试的。
四.计算机基础(数据结构与计算机网络)
- 队列和栈的区别是什么?
- 相对路径和绝对路径的区别?
参考回答:
1)是两种不同的数据结构,栈只能在一端进出,队列可以在一端插入另一端删除。操作规则也就是所谓的先进后出,先进先出。遍历的速度不同,前者无需开辟空间遍历速度较快,后者则正好相反。
2)绝对路径就是文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件。相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件。(可以结合项目中出现的问题)
五.常规问题(简历提问与面试常规)
- 从你做过的项目中说一些,有关测试的内容?
- 详细介绍一下你这个项目,你在这个项目中扮演了什么角色?
- 你为什么不在算法岗位上准备而是来面试测开一岗?(tmd,基本每家公司都要问)
- 请你简单的自我介绍一下
- 你有什么问题要问我们?