Python高级阶段测试

一、单选题(共70分, 2分/题)
1、在Linux系统中,配置文件一般会放在哪个目录下?()

A: bin目录
B: etc 目录
C: lib 目录
D: home 目录

2、在Linux 系统中,用户的默认主目录会被创建在哪个目录中?()

A: bin目录
B: etc 目录
C: lib 目录
D: home 目录

3、可以用来显示当前所在路径的命令是?()

A: cd
B: ls -l
C: pwd
D: cd …

4、在 Linux 系统中,可以对文件或目录进行设置修改权限的命令是哪个?()

A: chmod
B: chown
C: chgrp
D: change

5、下面哪一项不是vi编辑器的工作模式?()

A: 命令模式
B: 编辑模式
C: 末行模式
D: 编译模式

6、可以在网络中精确定位一台主机位置的是?()

A: 域名
B: 协议
C: IP地址
D: 端口号

7、在创建一个基于 TCP 连接方式的 Socket 服务端时, 哪一项不是创建 Socket 时的操作 ? ()

A: 设置地址簇为 AF_INET
B: 设置连接类型为 SOCK_STREAM
C: 绑定服务端IP地址和端口号
D: 获取客户端连接地址和数量

8、TCP 套接字在创建时,需要几次握手()

A: 一次握手
B: 二次握手
C: 三次握手
D: 四次握手

9、在创建 TCP 套接字时,需要指定套接字类型为哪一个? ()

A: AF_INET
B: SOCK_STREAM
C: SOCK_DGRAM
D: SO_REUSEADDR

10、在创建 UDP 套接字时,需要指定套接字类型为哪一个?()

A: AF_INET
B: SOCK_STREAM
C: SOCK_DGRAM
D: SO_REUSEADDR

11、用来启动线程的方法是哪个方法? ()

A: start()
B: run()
C: stop()
D: join()

12、可以用来阻塞当前主进程, 直到其他线程结束的方法是? ()

A: start()
B: run()
C: stop()
D: join()

13、下面对进程描述错误的是?()

A: 进程是程序在执行时, 分配资源的最小单位
B: 进程的地址空间, 内存, 数据栈以及其他记录其运行轨迹的辅助数据都是共存的, 多个进程共用一份
C: 进程间通信可以使用Queue
D: 进程间不能直接共享全局变量的数据

14、下面对于互斥锁描述错误的是?()

A: 为了避免死锁的问题出现, 一个程序中只能定义一个互斥锁
B: 互斥锁可以确保某段关键代码只能由一个线程从头到尾完整的执行
C: 程序中可以存在多个互斥锁, 不同的线程持有不同的锁, 并试图获取对方持有的锁时, 可能会造成死锁
D: 互斥锁可以解决多线程共享数据时产生的资源竞争问题

15、下列关于进程池在创建时,指定进程数的描述错误的是?()

A: 设置的进程数用来控制最多有N个进程可以同时执行
B: 进程池可以在多进程程序中有效的控制进程运行的个数
C: 当进程池中的进程达到设置的进程数后,不会再创建新进程,会等进程池的进程执行结束后, 才开始新的任务
D: 进程池中的进程数量可以超过指定的进程数量N

16、下列对协程的描述中,不正确的是? ()

A: 协程切换任务时不需要进行线程切换, 所以耗费资源小,执行效率高
B: 协程中使用共享资源不需要加锁
C: 协程在执行任务时, 不是并发执行的
D: 协程可以实现多任务

17、下面哪个方式不能使用正则匹配一个数字?()

A: \d
B: \D
C: [0-9]]
D: [0123456789]

18、下面哪种方式在书写正则表达式字符串时,可以不将字符串中的内容进行转义?()

A: ‘ ’
B: “ ”
C: “”” ”””
D: r” ”

19、下面 re 模块中的函数,哪个函数可以实现通过正则表达式来进行符合特定格式内容的替换?()

A: match()
B: sub()
C: search()
D: split()

20、下列哪种方式不是浅拷贝?()

A: copy.deepcopy(obj)
B: obj.copy()
C: list([])
D: list[0:]

21、下列关于对象拷贝的描述错误的是()

A: 不可变对象在拷贝时, 不会开辟新空间
B: python默认的拷贝方式, 都是深拷贝
C: 深拷贝和浅拷贝对不可变对象无效, 相当于引用赋值
D: 可变对象进行浅拷贝时, 只拷贝可变对象中保存的第一层引用

22、在自定义with上下文管理器时,exit() 方法的作用是什么?( )

A: 对资源进行初始化
B: 结束退出整个程序
C: 对资源进行关闭
D: 没有任何作用

23、关于类的继承,描述错误的是()

A: 一个类可以同时继承多个类
B: 一个类同时继承多个类时, 父类的书写顺序不同, 会影响方法的查找顺序
C: python中不允许多重继承
D: 在类之间发生继承时, 子类会根据__mro__中保存的顺序对父类进行初始化

24、E-R图提供了表示信息世界中实体、属性和()的方法。

A: 数据
B: 联系
C: 表
D: 模式

25、关于 DBMS 的描述, 错误的是()

A: DBMS是一种操纵和管理数据库的大型软件, 用于建立, 使用和维护数据库
B: 它DBMS是介于用户和数据之间一套用于数据进行统一的管理和控制的软件
C: 用户不允许通过DBMS访问数据库中的数据, 数据库管理员也不允许通过DBMS进行数据库的维护工作
D: DBMS提供了数据定义语言DDL 与数据操纵语言DML

26、对关系型数据库的描述, 错误的是()

A: 关系型数据库通过数据, 关系和约束三者组成的数据模型来存放和管理数据
B: 关系数据库是建立在关系模型基础上的数据库, 借助于一些数学概念和方法来处理数据库中的数据
C: 标准数据库查询语言SQL并不是基于关系数据库的语言
D: 关系模型由关系数据结构, 关系操作集合和关系完整性约束第三部分组成

27、下面 SQL 子句中,哪个子句可以实现对查询的数据进行排序? ()

A: group by’
B: order by
C: limit
D: where

28、下面哪个是不正确的子查询?()

A: 标量子查询
B: 列级子查询
C: 行级子查询
D: 内连接查询

29、下列哪个选项不是 MySQL 中的约束?()

A: 大小写约束
B: 主键约束
C: 外键约束
D: 唯一性约束

30、在使用 pymysql 模块操作数据库时,下面哪个操作不是正确的操作?()

A: 创建数据库
B: 连接数据库, 获取游标对象
C: 执行SQL语句
D: 关闭游标对象和数据库

31、下面哪种连接方式不是 SQL 的多表连接方式?()

A: inner join
B: left join
C: middle join
D: right join

32、HTTP协议采用的默认TCP端口是?()

A: 80
B: 443
C: 1080
D: 8080

33、HTTP协议的消息有哪两种类型?()

A: 发送消息和接收消息
B: 请求消息和响应消息
C: 消息头和消息体
D: 实体消息和控制消息

34、以下不属于HTTP请求方法的是?()

A: GET
B: SET
C: PUT
D: POST

35、在HTTP协议的“请求/响应”交互模型中,以下说法中错误的是?()

A: 客户机在发送请求之前需要主动与服务器建立连接
B: 服务器无法主动向客户机发起连接
C: 服务器无法主动向客户机发送数据
D: 以上都错

二、多选题(共30分, 2分/题)

36、下面操作系统中,哪些可以做为桌面操作系统?()

A: Windows系列操作系统
B: MacOS系统
C: Linux系统
D: Android系统

37、下面目录中,哪些目录是属于Linux操作系统中的目录?()

A: /etc目录
B: C:\window目录
C: /bin目录
D: C:\Program Files目录

38、建立 TCP 通信时需要经过哪几个步骤?()

A: 创建基于TCP通信方式的socket套接字
B: 使用socket对象的send/recv方法进行数据收发
C: 使用socket对象的connect方法实现和对端连接
D: 使用socket对象的close方法终止连接

39、关于 TCP 的描述正确的是?()

A: TCP是一种面向连接的协议
B: 相对于UDP, TCP是一种可靠传输协议
C: TCP是基于字节流的传输层通信协议
D: 通过TCP连接传输数据时, 会丢失数据包

40、下列说法中,正确的是?()

A: 线程是程序的最小执行单位
B: 进程是程序的最小资源分配单位
C: 一个程序在运行时, 至少对应一个进程
D: 一个进程中, 可能包含多个线程

41、下列状态中,哪些状态是属于进程在执行过程中会产生的状态?()

A: 就绪态
B: 等待态
C: 运行态
D: 死亡态

42、在 Python 中,哪些方式可以实现多任务? ()

A: 线程
B: 进程
C: 协程
D: 工程

43、在正则表达式中,下列符号哪些可以表示多个字符? ()

A: *
B: .
C: ?
D: +

44、下列关于 GIL 的描述中,正确的有?()

A: GIL是作用在python解释器上额一种锁
B: GIL在所有的python解释器中都存在
C: GIL无法有效的利用多核CPU
D: 在线程遇到IO等待时, 会释放GIL锁

45、在导入模块时,解释器会从哪些路径中去搜索要导入的模块?()

A: 程序当前目录
B: 当前程序的根目录
C: 标准库目录
D: site-packages目录

46、下列选项中,哪些是属于数据操作语言 DML 的操作?()

A: insert
B: update
C: select
D: delete

47、下列操作中,哪些是对数据的约束操作?()

A: primary key
B: foreign key
C: default
D: not null

48、SQL 中事务的的特性有哪些?()

A: 原子性
B: 一致性
C: 隔离性
D: 持久性

49、在请求报文中,包含哪几部分内容?()

A: 请求行
B: 请求头
C: 空行
D: 请求体

50、在响应报文中的响应行中,下列哪些状态码是可能会出现在响应行中的?()

A: 2xx: success, 表示用户请求被正确接收, 典型的是:200 OK
B: 3xx: redirection, 表示请求没有成功, 客户必须采取进一步的动作, 典型的是: 302 temporarily moved
C: 4xx: client error, 表示客户端提交的请求有错误, 典型的是, 404 not found
D: 5xx: server error, 表示服务器不能完成对请求的处理, 典型的是: 503 service unavailable

参考答案:

1-5 B D C A D
6-10 C D C B C
11-15 A D B A D
16-20 C B D B A
21-25 B C C B C
26-30 C B D A A
30-35 C A B B D
36-40 ABC AC ABCD ABC ABCD
41-45 ABC ABC AD ACD ABCD
46-50 ABD ABCD ABCD ABCD ABCD

你可能感兴趣的:(python)