202106月份总结测试开发面试题
一、中文单项选择题
1.下列哪个语句在Python中是非法的?
A、x = y = z =1 B、x = (y = z + 1)
C、x, y = y, x D、x += y
答案:B
2.关于Python内存管理,下列说法错误的是
A、变量不必事先声明 B、变量无须先创建和赋值而直接使用
C、变量无须指定类型 D、可以使用del释放资源
答案:B. (不先赋值会报错,is not defined)
3、下面哪个不是Python合法的标识符
A、int32 B、40XL C、self D、name
答案:B(合法的标识符不能以数字开头)
4、下列哪种说法是错误的
A、除字典类型外,所有标准对象均可以用于布尔测试
B、空字符串的布尔值是False
C、空列表对象的布尔值是False
D、值为0的任何数字对象的布尔值是False
答案:A
5、下列表达式的值为True的是
A、5+4j >2-3j B、3>2>2
C、(3,2)<('a','b') D、’abc’ > ‘xyz’
答案:C (在Py2.x版本中正确,在Py3.x运行错误)
6、Python不支持的数据类型有
A、char B、int C、float D、list
答案:A(python里无char型数据,有string字符串类型;但C语言中有char数据类型)
7、关于Python中的复数,下列说法错误的是
A、表示复数的语法是real + imagej B、实部和虚部都是浮点数
C、虚部必须后缀j,且必须是小写 D、方法conjugate返回复数的共轭复数
答案:C(复数虚部的后缀也可以是大写的J)
8、关于字符串下列说法错误的是
A、字符应该视为长度为1的字符串
B、字符串以\0标志字符串的结束
C、既可以用单引号,也可以用双引号创建字符串
D、在三引号字符串中可以包含换行回车等特殊字符
答案:B(python因为字符串有长度限制,到了长度就标志字符串的结束
9、以下不能创建一个字典的语句是
A、dict1 = {} B、dict2 = { 3 : 5 }
C、dict3 ={[1,2,3]: “uestc”} D、dict4 = {(1,2,3): “uestc”}
答案:C(字典的键必须是不变的,而列表是可变的)
10、下列Python语句正确的是:
A、min = x if x< y = y
B、max = x > y ?x:y
C、if (x >y) print x
D、while True :pass
答案:D
二、英文单项选择题
1、what getsprinted? Assuming python version 2.x()
print type(1/2)
A. int B. float C. 0 D. 1 E.0.5
答案:A(在Py3.x的版本中,结果是float型)
2、What getsprinted?()
-
counter = 1
-
def doLotsOfStuff():
-
global counter
-
for i in (1, 2, 3):
-
counter += 1
-
doLotsOfStuff()
-
print counter
A.1 B.3 C.4 D.7 E.none of the above
答案:C
3、What getsprinted?()
print r"nwoow"
A.new line then the string: woow
B.the text exactly like this: r”nwoow”
C.the text like exactly like this: nwoow
D.the letter r and then newline then the text: woow
E.the letter r then the text like this: nwoow
答案:C(字符串前面加r,表示禁止字符串转义)
4、Which numbersare printed?()
-
for i in range(2):
-
print i
-
for i inrange(4,6):
-
print i
A.2, 4, 6 B.0,1, 2, 4, 5, 6
C.0, 1, 4, 5 D.0,1, 4, 5, 6, 7, 8, 9 E.1, 2, 4, 5, 6
答案:C
5、What getsprinted by the code snippet below?()
-
import math
-
print math.floor(5.5)
A.5 B.5.0 C.5.5 D.6 E.6.0
答案:B
6、Assuming the filename for the code below is/usr/lib/python/person.py and the program is run as: python /usr/lib/python/person.py
What gets printed?()
-
class Person:
-
def__init__(self):
-
pass
-
defgetAge(self):
-
print__name__
-
p = Person()p.getAge()
A.Person B.getAge
C.usr.lib.python.person D.__main__ E.Anexception is thrown
答案:D (当内部单独执行模块时,__name__的返回值就是__main__,当被外部模调用时,返回的是模块的名字,在此即为person)
7、What getsprinted?()
-
names1 = ['Amir', 'Barry', 'Chales', 'Dao']
-
if 'amir' in names1:
-
print 1
-
else:
-
print 2
A.1 B.2 C.An exception is thrown
答案:B
8、What gets printed?()
-
numbers = [1, 2, 3, 4]
-
numbers.append([5,6,7,8])
-
print len(numbers)
A.4 B.5 C.8 D.12 E.An exception is thrown
答案:B(numbers为[1,2,3,4,[5,6,7,8]])
9、What getsprinted?()
-
kvps = { '1' :1, '2' : 2 }
-
theCopy =kvps.copy()
-
kvps['1'] = 5
-
sum = kvps['1']+ theCopy['1']
-
print sum
A.1 B.2 C.6 D.10 E.An exception is thrown
答案:C(字典的浅拷贝,只拷贝父对象,即theCopy拷贝了kvps,当kvps改变表面时,theCopy不改变相应值)
三、SQL笔试题
用一条SQL语句 查询出每门课都大于80分的学生姓名。表scores如下:
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
答案:SELECT DISTINCT name FROM grade WHERE name NOT IN(SELECT DISTINCTname FROM grade WHERE score <=80);
更简单的:
SELECT name FROMgrade GROUP BY name HAVING MIN(score) > 80。
四、python笔试题
1, python常见的命令行交互自动化模块有哪些?(2分)
答案:a)Import module
b) Import module1,module2
c) From module import *
d) Frommodule import m1,m2,m3
e) From module import logger asmodule_logger
2,python的底层网络交互模块有哪些?(2分)
答案:socket, urllib,urllib3 , requests, grab, pycurl
3,python网络交互时,二进制打包解包的模块有哪些(2分)
答案:打包:pack(), 解包:upk()
4,python的测试框架有哪些?试列出常用的3个或更多(6分)
答案:unittest, nose,unittest2, doctest, pytest
5,一行把[1,2,3,1,2,3] 中的重复元素剔除。(3分)
答案:list(set([1,2,3,1,2,3]))
6,现在要你使用pyDes(DES加密)和标准库中的namedtuple,假设你之前没有接触过,你如何快速上手?
答案:仔细阅读官方文档中namedtuple库和pyDes的使用。下载pyDes和namedtuple库,借鉴网上的使用教程,摸索实践。