我的测试工程师面试题一

1、产品生命周期

整个生存周期包括计划(定义)、开发、运行(维护)三个时期,每个时期又划分为若干个阶段。每个阶段有明确的任务。

周期模型有:瀑布模型,V模型,W模型等。

周期生命阶段:

  • 用户需求
  • 需求分析
  • 产品设计
  • 编码
  • 产品测试
  • 运行维护

2、列表li1 = [2,3,5,2,3,67,43,12,34,43],写出两种去重方法

1 """方法一:set方法去重"""
2 li2 = list(set(li1))
3 print(li2)
View Code
结果:[2, 67, 3, 5, 34, 43, 12]
1 """方法二:for循环去重"""
2 li3 = []
3 for i in li1:
4     if i not in li3:
5         li3.append(i)
6 print(li3)
View Code
结果:[2, 3, 5, 67, 43, 12, 34]

3、列表li = [34,23,24,56,12,65] 正向排序,倒序输出

1 li = [34,23,24,56,12,65]
2 for i in range(len(li)-1):
3     for j in range(len(li)-i-1):
4         if li[j] > li[j+1]:
5             li[j], li[j+1] = li[j+1], li[j]
6 print(li)
7 newli = list(reversed(li))
8 print(newli)
冒泡排序再使用reversed反转
1 li1 = sorted(li)
2 newli1 = list(reversed(li1))
3 print(newli1)
sorted排序再使用reversed反转

其他方法参考https://www.cnblogs.com/lovele-/p/9214111.html

4、python的数据类型有哪些?

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

详细描述参考菜鸟教程--python3基本数据类型:https://www.runoob.com/python3/python3-data-type.html

5、list、set、tuple、dict的区别,以及他们的查找速度,为什么?

区别:

   https://www.cnblogs.com/qinguodong/p/10882576.html

           https://www.cnblogs.com/maruobo/p/9669463.html

查找速度:  

  无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。

  不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。

4、SQL查询

表1--student表:s_id-学号,s_name-姓名,s_birth,s_sex

表2--score分数表:s_id学号,c_id-课程号,s_score--分数

表3--course课程表:c_id课程号,c_name课程名称,t_id教师编号

表4--teacher教师表:t_id教师编号,t_name教师姓名

1)查询出平均分大于60的学生的学号,平均分

1 SELECT s_id,AVG(s_score) as avg from score 
2 GROUP BY s_id HAVING avg>60;
View Code

2)查询出“叶平”老师教的学生的学号,姓名

1 SELECT s_id,s_name FROM student WHERE s_id IN (
2 SELECT s_id FROM score WHERE c_id IN (
3 SELECT c_id FROM course WHERE t_id = (
4 SELECT t_id FROM teacher WHERE t_name="叶平"
5 )));
View Code
原文地址:https://www.cnblogs.com/llh-ywr/p/13390059.html