python后端开发工程师考证试题
python开发工程师考证试题
python开发工程师考证试题
选择题
题目 |
---|
关于 Python 程序格式框架的描述,以下选项中错误的是 ( A ) |
A: Python 语言不采用严格的“缩进”来表明程序的格式框架 |
B: Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围 |
C: Python 语言的缩进可以采用 Tab 键实现 |
D: 判断、循环、函数等语法形式能够通过缩进包含一批 Python 代码,进而表达对应的语义 |
IDLE环境的退出命令是 ( A ) |
A: exit() |
B: 回车键 |
C: close() |
D: esc() |
关于Python循环结构,以下选项中描述错误的是 ( A ) |
A: 每个continue语句只有能力跳出当前层次的循环 |
B: break用来跳出最内层for或者while循环,脱离该循环后程序从循环代码后继续执行 |
C: 遍历循环中的遍历结构可以是字符串、文件、组合数据类型和range()函数等 |
D: Python通过for、while等保留字提供遍历循环和无限循环结构 |
关于Python的lambda函数,以下选项中描述错误的是 ( B ) |
A: lambda函数将函数名作为函数结果返回 |
B: f = lambda x,y:x+y 执行后,f的类型为数字类型 (function类型) |
C: lambda用于定义简单的、能够在一行内表示的函数 |
D: 可以使用lambda函数定义列表的排序原则 |
以下选项中,不是Python对文件的打开模式的是 ( D ) |
A: 'r' |
B: '+' |
C: 'w' |
D: 'c' |
以下选项中,不是 Python 语言保留字的是 ( A ) |
A: do |
B: pass |
C: except |
D: while |
关于Python赋值语句,以下选项中不合法的是 ( C ) |
A: x=1;y=1 |
B: x=y=1 |
C: x=(y=1) |
D: x,y=y,x |
以下选项中,不是Python IDE的是 ( D ) |
A: PyCharm |
B: Jupyter Notebook |
C: Spyder |
D: R studio |
random库中用于生成随机小数的函数是 ( A ) |
A: random() |
B: randint() |
C: getrandbits() |
D: randrange() |
以下选项中,不属于函数的作用的是 ( A ) |
A: 提高代码执行速度 |
B: 降低编程复杂度 |
C: 增强代码可读性 |
D: 复用代码 |
关于Python文件打开模式的描述,以下选项中错误的是 ( C ) |
A: 只读模式r |
B: 追加写模式a |
C: 创建写模式n |
D: 覆盖写模式w |
time库的time.time()函数的作用是 ( D ) |
A: 返回系统当前时间戳对应的易读字符串表示 |
B: 返回系统当前时间戳对应的struct_time对象 |
C: 返回系统当前时间戳对应的本地时间的struct_time对象,本地之间经过时区转换 |
D: 返回系统当前的时间戳 |
关于函数的可变参数,可变参数*args传入函数时存储的类型是( B ) |
A: dict |
B: tuple |
C: list |
D: set |
关于形参和实参的描述,以下选项中正确的是( D ) |
A: 函数定义中参数列表里面的参数是实际参数,简称实参 |
B: 参数列表中给出要传入函数内部的参数,这类参数称为形式参数,简称形参 |
C: 程序在调用时,将形参复制给函数的实参 |
D: 函数调用时,实参默认采用按照位置顺序的方式传递给函数,Python也提供了按照形参名称输入实参的方式 |
Python语句:f = open(),以下选项中对f的描述错误的是 ( B ) |
A: *f是文件句柄,用来在程序中表达文件 |
B: 表达式print(f)执行将报错 |
C: *f是一个Python内部变量类型 |
D: 将f当作文件对象,f.read()可以读入文件全部信息 |
表达式",".join(ls)中ls是列表类型,以下选项中对其功能的描述正确的是 ( D) |
A: 将逗号字符串增加到列表ls中 |
B: 在列表ls每个元素后增加一个逗号 |
C: 将列表所有元素连接成一个字符串,每个元素后增加一个逗号 |
D: 将列表所有元素连接成一个字符串,元素之间增加一个逗号 |
以下选项中,不是Python文件处理.seek()方法的参数是( C ) |
A: 0 |
B: 1 |
C: -1 |
D: 2 |
给定字典d,以下选项中对d.keys()的描述正确的是 ( C ) |
A: 返回一个列表类型,包括字典d中所有键 |
B: 返回一个集合类型,包括字典d中所有键 |
C: 返回一种dict_keys类型,包括字典d中所有键 |
D: 返回一个元组类型,包括字典d中所有键 |
关于Python的元组类型,以下选项中描述错误的是 ( D ) |
A: 一个元组可以作为另一个元组的元素,可以采用多级索引获取信息 |
B: 元组一旦创建就不能被修改 |
C: Python中元组采用逗号和圆括号(可选)来表示 |
D: 元组中元素不可以是不同类型 |
关于函数的关键字参数使用限制,以下选项中描述错误的是 ( A ) |
A: 关键字参数必须位于位置参数之前 |
B: 不得重复提供实际参数 |
C: 关键字参数必须位于位置参数之后 |
D: 关键字参数顺序无限制 |
关于函数,以下选项中描述错误的是 ( A ) |
A: 函数名称不可赋给其他变量 |
B: 一条函数定义定义一个用户自定义函数对象 |
C: 函数也是数据 |
D: 函数定义语句可执行 |
关于函数的参数,以下选项中描述错误的是 ( A ) |
A: 可选参数可以定义在非可选参数的前面 |
B: 一个元组可以传递给带有星号的可变参数 |
C: 在定义函数时,可以设计可变数量参数,通过在参数前增加星号(*)实现 |
D: 在定义函数时,如果有些参数存在默认值,可以在定义函数时直接为这些参数指定默认值 |
以下选项中,对于函数的定义错误的是 ( A ) |
A: def vfunc(*a,b): |
B: def vfunc(a,b): |
C: def vfunc(a,*b): |
D: def vfunc(a,b=2): |
关于lambda函数,以下选项中描述错误的是 ( A ) |
A: lambda不是Python的保留字 |
B: lambda函数也称为匿名函数 |
C: lambda函数将函数名作为函数结果返回 |
D: 定义了一种特殊的函数 |
以下选项中,不属于关系型数据库的是(D) |
A:Mysql |
B:Oracel |
C:Microsoft SQL Server |
D:MongoDB |
以下关于字典的描述,错误的是(D) |
B. 字典长度是可变的 |
C. 字典是键值对的集合 |
D. 字典中的键可以对应多个值信息 |
以下属于 Python 脚本程序转变为可执行程序的第三方库的是(D) |
A. openpyxl |
B. PyPDF2 |
C. pillow |
D. pyinstaller |
以下关于 Python 函数对变量的作用,错误的是(D) |
A. 简单数据类型在函数内部用 global 保留字声明后,函数退出后该变量保留 |
B. 全局变量指在函数之外定义的变量,在程序执行全过程有效 |
C. 简单数据类型变量仅在函数内部创建和使用,函数退出后变量被释放 |
D. 对于组合数据类型的全局变量,如果在函数内部没有被真实创建的同名变量,则函数内部不可以直接使用并修改全局变量的值 |
以下关于列表和字符串的描述,错误的是(D) |
A. 列表使用正向递增序号和反向递减序号的索引体系 |
B. 列表是一个可以修改数据项的序列类型 |
C. 字符和列表均支持成员关系操作符(in)和长度计算函数(len()) |
D. 字符串是单一字符的无序组合 |
以下 Python 语言关键字在异常处理结构中用来捕获特定类型异常的选项是(D) |
A. for |
B. lambda |
C. in |
D. expect |
Python 语言中,以下表达式输出结果为 11 的选项是(D) |
A. print("1+1") |
B. print(1+1) |
C. print(eval("1+1")) |
D. print(eval("1" + "1")) |
以下属于python多线程的模块的选项为(D) |
A:multiprocessing |
B:gevent |
C:asyncio |
D:threading |
下列选项中,不属于Python语言特点的是(C)。 |
A.简单易学 |
B.开源 |
C.面对过程 |
D.可移植性 |
假设list1是[2,33,222,14,25],什么是list1 [-1]. (C) |
A:错误 |
B:没有 |
C:25 |
D:2 |
何时执行try-except-else的else部分?(c) |
A:总是 |
B:发生异常时 |
C:没有异常发生时 |
D:没有else语法 |
为什么不鼓励以下划线开头的局部变量名?(A) |
A:它们用于表示类的私有变量 |
B:他们混淆了口译员 |
C:它们用于表示全局变量 |
D:他们放慢执行速度 |
以下哪项是无效声明?(B) |
A:abc = 1,000,000 |
B:a b c = 1000 2000 3000 |
C:a,b,c = 1000,2000,3000 |
D:a_b_c = 1,000,000 |
以下不属于HTTP请求库的选项为(B) |
A:urllib |
B:BeautifulSoup |
C:requests |
D:aiohttp |
以下选项中不符合 Python 语言变量命名规则的是(B) |
A.I |
B.3_1 |
C._AI |
D.TempStr |
以下关于 Python 字符串的描述中,错误的是(C) |
A.字符串是字符的序列,可以按照单个字符或者字符片段进行索引 |
B.字符串包括两种序号体系:正向递增和反向递减 |
C.Python 字符串提供区间访问方式,采用 [N:M] 格式,表示字符串中从 N 到 M 的索引子字符串(包含 N 和 M) |
D.字符串是用一对双引号" "或者单引号‘ ‘括起来的零个或者多个字符 |
关于 import 引用,以下选项中描述错误的是(B) |
A.使用 import turtle 引入turtle 库 |
B.可以使用 from turtle import setup 引入 turtle 库 |
C.使用 import turtle as t 引入 turtle 库,取别名为 t |
D.import 保留字用于导入模块或者模块中的对象 |
关于程序的异常处理,以下选项中描述错误的是(C) |
A.程序异常发生经过妥善处理可以继续执行 |
B.异常语句可以与 else 和 finally 保留字配合使用 |
C.编程语言中的异常和错误是完全相同的概念 |
D.Python 通过 try、except 等保留字提供异常处理功能 |
关于函数,以下选项中描述错误的是(C) |
A.函数能完成特定的功能,对函数的使用不需要了解函数内部实现原理,只要了解函数的输入输出方式即可。 |
B.使用函数的主要目的是减低编程难度和代码重用 |
C.Python 使用 del 保留字定义一个函数 |
D.函数是一段具有特定功能的、可重用的语句组 |
28. 以下选项中是 Python 中文分词的第三方库的是(A) |
A.jieba |
B.itchat |
C.time |
D.turtle |
关于 Python 对文件的处理,以下选项中描述错误的是(B) |
A.Python 通过解释器内置的 open() 函数打开一个文件 |
B.当文件以文本方式打开时,读写按照字节流方式 |
C.文件使用结束后要用 close() 方法关闭,释放文件的使用授权 |
D.Python 能够以文本和二进制两种方式处理文件 |
关于 Python 字符编码,以下选项中描述错误的是(D) |
A.chr(x) 和 ord(x) 函数用于在单字符和 Unicode 编码值之间进行转换 |
B.print(chr(65)) 输出 A |
C.print(ord(‘a‘)) 输出 97 |
D.Python 字符编码使用 ASCII 编码 |
关于 Python 循环结构,以下选项中描述错误的是(B) |
A.遍历循环中的遍历结构可以是字符串、文件、组合数据类型和 range() 函数等 |
B.break 用来结束当前当次语句,但不跳出当前的循环体 |
C.continue 只结束本次循环 |
django是一个(A)模式框架。 |
A: MTV |
B: MVC |
C:WSGI |
D:ISO |
在下列Django的ORM操作方法中,哪一个不会返回QuerySet对象?D |
A:all |
B:filter |
C:exclude |
D:get |
在下列Django的ORM操作方法中,当匹配不到数据时,哪一个会报错?B |
A:all |
B:get |
C:exclude |
D:filter |
下列选项不是Django框架提供的表单对象的功能的是(D) |
A:渲染 |
B:校验数据 |
C:解耦 |
D:混淆代码 |
以下哪个不是redis数据库的数据类型(C) |
A:string |
B:list |
C:dict |
D:set |
以下说法正确的是:A |
A:cookie信息是存储在客户端的 |
B:session信息是存储在客户端的 |
C:cookie技术仅有客户端实现 |
D:session技术不依赖cookie技术 |
以下说法错误的是:D |
A:在django框架中,通过post表单提交的数据可以使用request.POST获取 |
B:在django框架中,通过url参数提交的数据可以使用request.GET获取 |
C:在django框架中,通过路径参数提交的数据可以使用视图函数的参数获取 |
D:在django框架中,通过post提交的json数据可以使用request.POST获取 |
生产环境下,django项目配置文件中的DEBUG属性应该设置为:D |
A: 1 |
B:0 |
C:None |
D:True |
在某个django框架中定义了一个Student的模型,它用来表示学生表,以下字段定义错误的是: A |
A: name = models.CharField('姓名') |
B: age = models.SmallIntergerField('年龄', null=True, blank=True) |
C: mobile = models.CharFied('电话', max_length=11, min_length=11) |
D: qq = models.CharField(max_length=20) |
Django框架中,中间件的作用非常大,以下说法错误的是:D |
A: 中间件可以在视图处理前处理请求对象 |
B: 中间件可以在视图处理结束后处理响应对象 |
C: 中间件可以在请求处理前处理请求对象 |
D: 中间件可以在视图处理中处理请求对象 |
以下不属于requests模块response对象的方法的是(D) |
A:content |
B:text |
C:json |
D:read |
TCP协议建立连接需要多次握手?(C) |
A:一次 |
B:二次 |
C:三次 |
D:四次 |
TCP协议断开连接需要多次挥手?(D) |
A:一次 |
B:二次 |
C:三次 |
D:四次 |
以下选项中不属于网页解析库的是(C) |
A:re |
B:lxml |
C:requests |
D:BeautifuiSoup |
redis中数据库默认是多少个db?(C) |
A:10个 |
B:15个 |
C:16个 |
D:20个 |
下列选项中,不属于django内置组件的是?(B) |
A:admin |
B:xadmin |
C:model |
D:form |
问答题
问答题 |
---|
1.声明变量注意事项有哪些? |
1)由字母、数字和下划线构成,不能以数字开头,不能任意特殊字符 |
2)变量定义规范,使用驼峰式或者下划线式格式 |
3)变量定义尽量简明,易懂,方便使用者应用 |
2.如何查看变量在内存中的地址? |
可以通过id方法,获取变量在内存中的地址,例如 name = 456789 print(id(name)) |
3.Python单行注释和多行注释分别用什么? |
单行注释: # 被注释内容 |
多行注释: ''' 被注释内容 ''' |
4.什么是lambda函数? |
lambda是Python中的匿名函数。它语法简单,简化代码,不会产生命名冲突,污染命名空间。 |
5.列表和元组有什么区别? |
列表是可变的,即可以编辑。元组是不可变的(元组是无法编辑的列表)。 |
6.Python中的字典是什么? |
python中的内置数据类型称为字典。它定义了键和值之间的one-to-one关系。 |
字典包含一对键及其对应的值。字典由键来索引。 |
7.什么是Python中的map函数 |
Map函数执行作为第一个参数给出的函数,该函数遍历第二个参数给出的迭代的所有元素的 |
8.深拷贝和浅拷贝有什么区别? |
浅拷贝用于复制引用指针,就像复制值一样。 |
深层复制不会将引用指针复制到对象。它引用一个对象,并存储一些其他对象指向的新对象。 |
9.Python中 help()函数的用途是什么? |
help()函数用于显示文档字符串,还可以帮助您查看与模块,关键字,属性等相关的帮助。 |
10.Python中dir()函数的用途是什么? |
dir()返回参数的属性、方法列表mm |
11.什么是线程同步? |
多个线程同时访问同一资源,等待资源访问结束,浪费时间,效率低 |
12.redis有哪些数据类型? |
string list hash set zset |
13.scrapy中间件有哪几种类? |
下载中间件和爬虫中间件 |
14.装饰器的作用 ? |
装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,提高了代码的复用性。 |
15.json模块中load和loads有什么区别? |
load是将json格式的字符转换为dict,loads是将string转换为dict。 |
16.什么是无头浏览器? |
无头浏览器即headless browser,是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。 |
17.什么是递归? |
在调用一个函数的过程中,直接或间接地调用了函数本身这个就叫递归。 |
18.什么是生成器? |
生成器会生成一系列的值用于迭代,这样看它又是一种可迭代对象。它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。 |
19.什么是迭代器? |
迭代器是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。 |
20.Python中的split()函数的作用? |
Split()能让我们用指定字符分割字符串。 |
21.如何判断是函数还是方法? |
通过type()可以知道对象所属的类型,函数是<class 'function'>,方法是<class 'method'> |
22.isinstance的作用? |
isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。 |
23.json序列化时,默认遇到中文会转换成unicode,如果想要保留中文怎么办? |
序列化的时候,加入ensure_ascii参数 |
24.yield关键字的作用? |
当一个函数中存在yield关键字时,它就变成了一个生成器,每次迭代求值一次,节省内存; |
25.pass语句的作用是什么? |
pass是空语句占位符,是为了保持程序结构的完整性。 |
26.is和==的区别是什么? |
在python中,is检查两个对象是否是同一个对象,而==检查他们的值是否相等. |
27.mysql数据库的约束有哪些? |
主键约束、唯一约束、检查约束、非空约束、外键约束 |
28.事务的特性有哪些? |
Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)、Durability(持久性) |
29.mysql中主键和外键的区别? |
主键是能确定一条记录的唯一标示。例如,身份证证号 |
外键:用于与另一张表的关联,是能确定另一张表记录的字段,用于保持数据的一致性 |
30.redis中不同db的作用? |
Redis支持多个数据库,并且每个数据库的数据是隔离的不能共享,并且基于单机才有,如果是集群就没有数据库的概念。 |
31.scrapy和scrapy-redis的区别? |
scrapy是一个爬虫通用框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫,而提供了一些以redis为基础的组件 |
32.python语言中enumerate的意思是? |
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值 |
enumerate多用于在for循环中得到计数 |
33.多进程更稳定还是多线程更稳定?为什么? |
多进程更稳定,它们是独立运行的,不会因为一个崩溃而影响其他进程。 |
34.HTTP协议请求由什么组成? |
请求行(request line)、请求头部(header)、空行和请求数据四个部分组成 |
35.https协议和http协议有什么区别? |
http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 |
36.Django框架中的MTV模式,具体指什么? |
Django框架的MTV设计模式借鉴了MVC框架的思想,三部分为:Model、Template和View |
37.什么是wsgi和uwsgi? |
wsgi是web服务器网关接口,是一套协议。用于接收用户请求并将请求进行初次封装,然后将请求交给web框架 |
uwsgi与WSGI一样是一种通信协议,它是uWSGI服务器的独占协议,用于定义传输信息的类型 |
38.django中csrf的实现机制 |
第一步:django第一次响应来自某个客户端的请求时,后端随机产生一个token值,把这个token保存在SESSION状态中;同时,后端把这个token放到cookie中交给前端页面; |
第二步:下次前端需要发起请求(比如发帖)的时候把这个token值加入到请求数据或者头信息中,一起传给后端;Cookies:{csrftoken:xxxxx} |
第三步:后端校验前端请求带过来的token和SESSION里的token是否一致; |
python后端开发工程师考证试题的更多相关文章
- 【面试题】Python高级开发工程师面试题
线上面试题,有空整理答案,欢迎大家回复答案
- 珍藏版 Python 开发工程师面试试题
珍藏版 Python 开发工程师面试试题 说明:不拿到几家公司的offer,那就是卑鄙的浪费 一.Python_基础语法 1.可变与不可变类型: 2.浅拷贝与深拷贝的实现方式.区别:deepcopy如 ...
- Web前端开发工程师面试题
Web前端开发工程师面试题1.说说css的优先级?2.在移动端中,常常使用tap作为点击事件,好处是?会带来什么问题?3.原生JS的window,onload与Jquery的$(document).r ...
- iOS开发工程师笔试题
iOS开发工程师笔试题 1. Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? Object-c的类不可以多重继承:可以 ...
- Python后端开发要求
关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...
- Java后端开发工程师是否该转大数据开发?
撰写我对java后端开发工程师选择方向的想法,写给在java后端选择转方向的人 背景 看到一些java开发工程师,对java后端薪酬太悲观了.认为换去大数据领域就会高工资.觉得java后端没有前途.我 ...
- 复盘鼎甲科技2020web开发工程师-笔试题(校招)
复盘鼎甲科技2020web开发工程师-笔试题(校招) 本试卷以W3C规范为准,JavaScript使用ES5标准,除特别说明外,不考虑各个浏览器之间差异. 一.多项选择题 以下标签是行内元素(inli ...
- 近期面试总结(PHP后端开发工程师)(部分笔试题)
1.字符串"0"在PHP和js中转换为布尔值是false还是true php:false; php 弱语言 '0'和0一样: js:true:字符串除了空字符串('')其他都是tr ...
- C++开发工程师面试题库 50~100道
51. New delete 与malloc free 的联系与区别?答案:都是在堆(heap)上进行动态的内存操作.用malloc函数需要指定内存分配的字节数并且不能初始化对象,new 会自动调用对 ...
随机推荐
- [SHOI2002]取石子游戏之三
Wythoff's Game,详解请见浅谈算法--博弈论中的例6 /*program from Wolfycz*/ #include<cmath> #include<cstdio&g ...
- bzoj258 [USACO 2012 Jan Gold] Bovine Alliance【巧妙】
传送门1:http://www.usaco.org/index.php?page=viewproblem2&cpid=111 传送门2:http://www.lydsy.com/JudgeOn ...
- linux知识目录
linux 知识目录 linux 前台后台程序切换命令总结 shell脚本从入门到精通 Ubuntu下如何用命令运行deb安装包 <linux就该这么学>学习笔记
- 随机带权选取文件中一行 分类: linux c/c++ 2014-06-02 00:11 344人阅读 评论(0) 收藏
本程序实现从文件中随即选取一行,每行被选中的概率与改行长度成正比. 程序用一次遍历,实现带权随机选取. 算法:假设第i行权重wi(i=1...n).读取到文件第i行时,以概率wi/(w1+w2+... ...
- uwp选取文件夹并读取其中的图片
uwp对文件的操作和wpf,winform等等有很大的不同,主要原因是uwp对权限的要求比较严格,不能想从前那样随心所欲的读取文件. 1.首先找到Package.appxmanifest这个文件,在功 ...
- SpringBoot 2.x (2):请求和传参
其实请求和传参这些知识属于SpringMVC 不过这也属于必须掌握的知识,巩固基础吧 GET请求: 以第一篇文章自动的方式创建SpringBoot项目: 然后新建Controller: package ...
- Unity笔记(4)自学第六天
今天主要是写了demo的策划案 [关卡设计部分]: [关卡数值设计]:
- 微信小程序组件解读和分析:九、form表单
form表单组件说明: 表单,将组件内的用户输入的<switch/> <input/> <checkbox/> <slider/> <radio/ ...
- iOS Programming Editing UITableView
iOS Programming Editing UITableView 1.1 Editing mode UITableView has an editing property, and when ...
- CAS4.0 server 环境的搭建
1.上cas的官网下载cas server 官网地址:https://github.com/Jasig/cas/releases,下载好后 解压下载的 cas-server-4.0.0-release ...