python测试开发面试题

本文提供了一份Python编程考试题目集合,包括中文与英文的选择题、Shell脚本题、SQL查询题及Python相关问题,覆盖了Python语法、数据类型、内存管理等知识点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

试卷时间 60分钟,请不要在试卷上作答,用A4纸做答题纸作答。

一,中文单项选择题(30分,每个3分)
1.下列哪个语句在Python中是非法的?
A、x = y = z = 1 B、x = (y = z + 1)

C、x, y = y, x D、x += y

2.关于Python内存管理,下列说法错误的是
A、变量不必事先声明 B、变量无须先创建和赋值而直接使用

C、变量无须指定类型 D、可以使用del释放资源

3、下面哪个不是Python合法的标识符
A、int32 B、40XL C、self D、name

4、下列哪种说法是错误的
A、除字典类型外,所有标准对象均可以用于布尔测试

B、空字符串的布尔值是False

C、空列表对象的布尔值是False

D、值为0的任何数字对象的布尔值是False

5、下列表达式的值为True的是
A、5+4j > 2-3j B、3>2>2

C、(3,2) ‘xyz’

6、Python不支持的数据类型有
A、char B、int C、float D、list

7、关于Python中的复数,下列说法错误的是
A、表示复数的语法是real + image j B、实部和虚部都是浮点数

C、虚部必须后缀j,且必须是小写 D、方法conjugate返回复数的共轭复数

8、关于字符串下列说法错误的是
A、字符应该视为长度为1的字符串 B、字符串以标志字符串的结束

C、既可以用单引号,也可以用双引号创建字符串 D、在三引号字符串中可以包含换行回车等特殊字符

9、以下不能创建一个字典的语句是
A、dict1 = {} B、dict2 = { 3 : 5 } C、dict3 = {[1,2,3]: “uestc”} D、dict4 = {(1,2,3): “uestc”}

10、下列Python语句正确的是
A、min = x if x y ? x : y

C、if (x > y) print x D、while True : pass

二,英文单项选择题(30分)
1.what gets printed? Assuming python version 2.x()
print type(1/2)

A. B. C. D. E.

  1. What gets printed?()
    Python
    nums = set([1,1,2,3,3,3,4])
    print len(nums)
    1
    2
    nums = set([1,1,2,3,3,3,4])
    print len(nums)
    A.1 B.2 C.4 D.5 E.7

  2. What gets printed?()
    counter = 1

def doLotsOfStuff():

global counter

for i in (1, 2, 3): 
    counter += 1

doLotsOfStuff()

print counter
1
2
3
4
5
6
7
8
9
10
11
12
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

  1. What gets printed?()
    print r"nwoow"
    1
    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

  1. Which numbers are printed?()
    for i in range(2):
    print i

for i in range(4,6):
print i
1
2
3
4
5
for i in range(2):
print i

for i in range(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

  1. What gets printed by the code snippet below?()
    import math

print math.floor(5.5)
1
2
3
import math

print math.floor(5.5)
A.5 B.5.0 C.5.5 D.6 E.6.0

  1. 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

def getAge(self):
    print __name__

p = Person()p.getAge()
1
2
3
4
5
6
7
8
class Person:
def init(self):
pass

def getAge(self):
    print __name__

p = Person()p.getAge()
A.Person B.getAge C.usr.lib.python.person D.main E.An exception is thrown

  1. What gets printed?()
    names1 = [‘Amir’, ‘Barry’, ‘Chales’, ‘Dao’]

if ‘amir’ in names1:
print 1
else:
print 2
1
2
3
4
5
6
names1 = [‘Amir’, ‘Barry’, ‘Chales’, ‘Dao’]

if ‘amir’ in names1:
print 1
else:
print 2
A.1 B.2 C.An exception is thrown

  1. What gets printed?()
    numbers = [1, 2, 3, 4]

numbers.append([5,6,7,8])

print len(numbers)
1
2
3
4
5
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

  1. What gets printed?()
    kvps = { ‘1’ : 1, ‘2’ : 2 }
    theCopy = kvps.copy()

kvps[‘1’] = 5

sum = kvps[‘1’] + theCopy[‘1’]
print sum
1
2
3
4
5
6
7
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

三,shell笔试题(15分)
文件如下:

Shell
# cat /etc/passwdroot❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
operator❌11:0:operator:/root:/sbin/nologin
games❌12?games:/usr/games:/sbin/nologin
gopher❌13:30:gopher:/var/gopher:/sbin/nologin
ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
nobody❌99:99:Nobody:/:/sbin/nologin
dbus❌81:81:System message bus:/:/sbin/nologin
usbmuxd❌113:113:usbmuxd user:/:/sbin/nologin
vcsa❌69:69:virtual console memory owner:/dev:/sbin/nologin
rpc❌32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit❌499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd❌170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
abrt❌173:173::/etc/abrt:/sbin/nologin
rpcuser❌29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody❌65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon❌68:68:HAL daemon:/:/sbin/nologin
gdm❌42:42::/var/lib/gdm:/sbin/nologin
ntp❌38:38::/etc/ntp:/sbin/nologin
apache❌48:48:Apache:/var/www:/sbin/nologin
saslauth❌498:76:“Saslauthd user”:/var/empty/saslauth:/sbin/nologin
postfix❌89:89::/var/spool/postfix:/sbin/nologin
pulse❌497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump❌72:72:?:/sbin/nologin
neil❌500:500::/home/neil:/bin/bashtest❌501:501::/home/test:/bin/bash
yulian❌503:503::/home/yulian:/bin/bash
puppet❌52:52:Puppet:/var/lib/puppet:/sbin/nologin
jboss❌504:504::/home/jboss:/bin/bash
mysql❌27:27:MySQL Server:/var/lib/mysql:/bin/bash
release❌505:505::/home/release:/bin/bash
redis❌496:493:Redis Server:/var/lib/redis:/sbin/nologin
mongodb❌184:492:MongoDB Database Server:/var/lib/mongodb:/sbin/nologin
fang❌506:506::/home/fang:/bin/bash
roundup❌495:491:Roundup Issue Tracker:/var/lib/roundup:/sbin/nologin
exim❌93:93::/var/spool/exim:/sbin/nologin
dial❌507:507::/home/dial:/bin/bash
share❌508:508::/home/share:/bin/bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# cat /etc/passwdroot❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
operator❌11:0:operator:/root:/sbin/nologin
games❌12?games:/usr/games:/sbin/nologin
gopher❌13:30:gopher:/var/gopher:/sbin/nologin
ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
nobody❌99:99:Nobody:/:/sbin/nologin
dbus❌81:81:System message bus:/:/sbin/nologin
usbmuxd❌113:113:usbmuxd user:/:/sbin/nologin
vcsa❌69:69:virtual console memory owner:/dev:/sbin/nologin
rpc❌32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit❌499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd❌170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
abrt❌173:173::/etc/abrt:/sbin/nologin
rpcuser❌29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody❌65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
haldaemon❌68:68:HAL daemon:/:/sbin/nologin
gdm❌42:42::/var/lib/gdm:/sbin/nologin
ntp❌38:38::/etc/ntp:/sbin/nologin
apache❌48:48:Apache:/var/www:/sbin/nologin
saslauth❌498:76:“Saslauthd user”:/var/empty/saslauth:/sbin/nologin
postfix❌89:89::/var/spool/postfix:/sbin/nologin
pulse❌497:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump❌72:72:?:/sbin/nologin
neil❌500:500::/home/neil:/bin/bashtest❌501:501::/home/test:/bin/bash
yulian❌503:503::/home/yulian:/bin/bash
puppet❌52:52:Puppet:/var/lib/puppet:/sbin/nologin
jboss❌504:504::/home/jboss:/bin/bash
mysql❌27:27:MySQL Server:/var/lib/mysql:/bin/bash
release❌505:505::/home/release:/bin/bash
redis❌496:493:Redis Server:/var/lib/redis:/sbin/nologin
mongodb❌184:492:MongoDB Database Server:/var/lib/mongodb:/sbin/nologin
fang❌506:506::/home/fang:/bin/bash
roundup❌495:491:Roundup Issue Tracker:/var/lib/roundup:/sbin/nologin
exim❌93:93::/var/spool/exim:/sbin/nologin
dial❌507:507::/home/dial:/bin/bash
share❌508:508::/home/share:/bin/bash
请打印出用户目录在/home下面的的用户目录,如下

/home/neil
/home/test
/home/yulian
/home/jboss
/home/release
/home/fang
/home/dial
/home/share
1
2
3
4
5
6
7
8
/home/neil
/home/test
/home/yulian
/home/jboss
/home/release
/home/fang
/home/dial
/home/share
建议一行搞定。

四,SQL笔试题(15分)
用一条SQL语句 查询出每门课都大于80分的学生姓名 。表scores如下:

name kecheng fenshu

张三 语文 81

张三 数学 75

李四 语文 76

五,python笔试题(20分)
1,python常见的命令行交互自动化模块有哪些?(2分)
2,python的底层网络交互模块有哪些?(2分)
3,python网络交互时,二进制打包解包的模块有哪些(2分)
4,python的测试框架有哪些?试列出常用的3个或更多(6分)
5,一行把[1,2,3,1,2,3] 中的重复元素剔除。(3分)
6,现在要你使用pyDes(DES加密)和标准库中的namedtuple,假设你之前没有接触过,你如何快速上手? (5分)

### 关于Python测试开发的常见面试问题及答案 #### 设计测试用例的方法及其涉及的文件类型 在设计测试用例的过程中,通常会涉及到多种类型的文件来支持全面而系统的测试工作。对于一个典型的Python应用程序来说,除了常规的`.py`源代码文件外,还会创建专门用于存储测试脚本以及测试所需资源的各种文件。 - **测试脚本文档**:这些通常是带有特定命名约定(如以_test结尾)的Python文件,它们包含了定义好的单元测试、集成测试或其他形式自动化测试逻辑。 - **配置文件**:可以是JSON、YAML或INI格式等,用来保存环境设置、数据库连接字符串或者其他影响应用行为而不应硬编码入程序内部的信息[^1]。 - **数据文件**:包括但不限于CSV、XML、Excel表格等形式的数据集,作为输入样本提供给被测函数调用;也可能存在预置的结果文件供验证输出准确性之用。 此外,在某些情况下还可能会准备模拟服务端响应的消息体模板或是记录日志的日志文件夹路径说明文档等等辅助材料。 ```python import unittest from my_module import add_function class TestAddFunction(unittest.TestCase): @classmethod def setUpClass(cls): """初始化一次性的准备工作""" pass def test_add_positive_numbers(self): self.assertEqual(add_function(2, 3), 5) if __name__ == '__main__': unittest.main() ``` #### 接口测试流程概述 当负责对接口进行质量保障时,整个过程大致遵循如下模式: 获取最新的API规格说明书之后,依据其描述构建相应的请求参数组合,并利用Postman这类工具发起HTTP请求至目标服务器地址上指定路由位置处。在此期间需注意检查返回状态码是否符合预期范围之内,同时对比实际接收到的内容结构同理论模型之间是否存在差异。一旦发现任何不符合项,则应及时反馈给研发团队成员以便尽快修复缺陷所在之处。待所有已知问题均得到妥善解决后,方可考虑将此版本交付给后续阶段的质量检验环节继续深入考察[^3]。 #### 异常处理机制解析 Python提供了强大的错误捕捉能力,允许开发者通过`try...except...else...finally`语句块轻松应对运行期可能出现的各种意外状况。其中的关键在于合理安排各个部分所承担的任务——前者内放置那些有可能触发异常的操作指令序列;后者则分别对应着针对不同种类异常事件的具体处置措施、仅当未发生异常情况下的补充动作以及无论如何都要被执行的一般性清理作业。值得注意的是,还可以借助内置的`raise`命令主动抛出自定义异常对象从而更好地控制程序流走向[^2]。 ```python def safe_division(a, b): try: result = a / b except ZeroDivisionError as e: print(f"Caught an exception: {e}") return None else: print("No exceptions were raised.") return result finally: print("Executing the 'finally' clause.") print(safe_division(10, 2)) print(safe_division(10, 0)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值