软件测试面试题
昨天参加了字节跳动软件测试岗位一职的面试,疫情宅在家里,是能通过网络面试的,用的是牛客网的软件。下午15:00准时开始的,技术面总共三轮,每轮结束有对面试官和面试过程的评价,所以三轮下来,每个面试官的态度都不错,时间也没有浪费的。也没有嫌弃和不礼貌的行为,时长130分钟。整体感觉不错。
第一面:男面试官:
考题1:自我介绍
考题2:python的列表与元组的区别?给出一个列表,取列表的最后两个元素。
考题3:如果让你测试朋友圈,你如何来测?
考题4:写一个建表的SQL ,比如成绩表,字段包括,姓名、年龄、性别、科目、成绩。 再写一个查询该班当顺成绩最高的女生的名字。
考题5:介绍你做过的一个项目,着重介绍你在这个项目中做什么?怎么做的?
考题6:说几个你常用的linux命令?
考题7:WEB端接口测试返回的状态码有哪些?504代表什么?404呢?
第二面:女面试官:
考题1:介绍一下你简历中写的python+selenium的那个项目如何实现的?
考题2:对链表和二叉树熟悉吗?
考题3:用python写一个实现斐波那契数列的函数?
考题4:让你测试一个在线合同签署的功能,如何测试? 功能流程如下:在线提交合同——审核——在线支付——生成合同。
考题5:说一下你在以往的工作中实现接口自动化测试的思路?
第三面:男面试官:
考题1:说一下selenium的工作原理?
考题2:说一下主流浏览器之间的区别?
考题3:讲一下你上个工作离职的原因?
考题4:说一下fiddler抓包的整个过程?
据说后面还有HR的面试,但我没有等到,HR通知说三天之内给答复。
sql:
建表语句:
CREATE TABLE `students` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(10) NOT NULL,
`sex` INT NOT NULL,
`age` INT NOT NULL,
`subject` VARCHAR(5) DEFAULT NULL,
`garden` INT DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
插入数据:
INSERT INTO students (NAME, sex, age, SUBJECT, garden)
VALUES
('王敏', 0, 35, '语文', 98),
('王娟', 0, 35, '语文', 95),
('王振', 0, 35, '语文', 90) ;
下面是插入的所有记录,可以看到,所有女生中,语文最高的是98分的王敏,数学最高的有两个99分。
取班级中各科成绩最高的女生的名字。面试官考查的知识点是:对group by的理解,当有group by时,select出来的字段只有两种:一种是group by的字段,一种就是聚合函数的字段,其它字段selelct出来的是错误的,
像如下这样写就错了:
这样查询出来名字时错误的,要想得到名字,需要在这个select外面再包一层,用联合查询的方式来实现,如下:
这样的结果才是正确的。
另一个知识点是在是连结查询时,on 后面的两个条个用and 表示连接表的两个并列条件,where 后面的才是条件,之前给混淆了。
linux命令:
fiddler抓包: