1.文件上传的时候,浏览器会自动发起一个 OPTIONS 方法到服务器,用于探测后续真正需要发起的跨域 POST 请求对于服务器来说是否是安全可接受的。 对于不同域名下的服务出现的跨域问题Flask 在处理response返回信息的时候, 不会修改到下面中的( )
A. Access-Control-Request-Method
B. Access-Control-Request-Headers
C. Access-Control-Allow-Method
D. Access-Control-Allow-Origin
答案:B
[跨域问题的解决主要考查对headers中参数的熟练度和请求调用方式的全局掌握, 请求头 Access-Control-Request-Method 用于提醒服务器在接下来的请求中将会使用什么样的方法来发起请求 Access-Control-Allow-Method 和 Access-Control-Allow-Origin 分别告知客户端,服务器允许客户端用于跨域的方法和域名, 不会修改或使用到Access-Control-Request-Headers这个参数。]
2.a =“1” b = a*2 输出b的值为
A. 1
B. 2
C. 11
D. null
答案:C
3.WEB开发中,以下查询订单信息的做法正确的是( )
A. 校验登录session是否存在,然后根据订单号查询订单信息
B. 校验用户id和session是否正确,然后根据订单号查询订单信息
C. 校验用户id和session是否存在,然后根据订单号查询订单信息
D. 校验session是否正确、订单号属于该用户,然后根据订单号查询订单信息
E. 校验用户id是否存在、订单号属于该用户,然后根据订单号查询订单信息
不能选E
4.Python3中,"12"+"3"*2 结果是?
A. 126
B. 18
C. 1233
D. null
答案:C
5.a =“1” b =“2”c = a+b 输出c的值为
A. 21
B. 3
C. 12
D. null
答案:C
6.def fn(*arg):
print('a', arg)
fn('b', 'c')
以上代码输出结果为
A. a (‘b’, ‘c’)
B. a b c
C. a b
D. a c
答案:A
7.WEB开发中,容易产生sql注入风险的是( )
A. 通过预编译方式执行sql语句
B. 数据库账号降权
C. 使用字符串拼接方式执行sql语句
D. 全局过滤特殊符号
答案:C
8.web开发中,以下做法正确的是( )
A. 后端手机验证码验证通过后,跳转到设置新密码页面,https+post提交用户名、新密码,设置新密码完成密码重置功能
B. 点击重置密码按钮,系统发送一条重置密码的链接到邮箱,格式为:http://www.xxx.com/password/reset?key=1563785498&username=045g6hgd4771h909uiwq5k001923r2p6(其中key是unix时间戳,username是用户名的md5值)
C. 某网站的cookie生成方法为:固定字符串+用户名+时间戳的base64编码
D. 以上都不对
答案:D
[A选项,验证码校验和重置密码是不能分开两步提交的,容易绕过;B的问题主要是无法避免数据篡改,需要增加签名sign=f(param + secret)防止数据被篡改;其次md5加密的用户名并不知道是哪个用户,另外敏感数据应该用https;C项base64可逆,解密之后破解规则,可以伪造登录状,无法避免数据篡改]
9.下列关于Pandas中的apply方法说法正确的是()
A. apply 方法是对DataFrame每一个元素应用某个函数的
B. apply 方法能够实现所有aggregate 方法的功能
C. apply方法和map方法都能够进行聚合操作
D. apply 方法只能够对行列进行操作
答案:D
[apply 方法只能够对行列进行操作,若对每一行进行apply,则axis=1。编写好apply应用的函数,注意传进的参数和返回值的类型是单值、Series或DataFrame]
10.以下关于Pandas异常值检测的说法中错误的是()
A. 3σ原则利用了统计学中小概率事件的原理
B. 使用箱线图方法时要求数据服从或近似服从正态分布
C. 基于聚类的方法可以进行离群点检测
D. 基于分类的方法可以进行离群点检测
答案:B
[是利用箱型图的四分位距(IQR)对异常值进行检测,也叫Tukey‘s test。箱型图的定义如下: 四分位距(IQR)就是上四分位与下四分位的差值。而我们通过IQR的1.5倍为标准,规定:超过上四分位+1.5倍IQR距离,或者下四分位-1.5倍IQR距离的点为异常值。]
11.Matplotlib中能够画出通常用来检查异常值的图形的函数是( )
A. hist()
B. boxplot()
C. scatter()
D. barh()
答案:B
[boxplot()是箱型图函数,箱型图通常用来检查异常值的图形]
12.在实际接口处理中,可能出现某个任务调用第三方应用,返回时间不定,而此时又需要有明确的返回信息, 通过Flask快速返回给调用方。 Flask请求的线程化处理对某些异步任务的执行来说是种有效的解决方案, 以下第三方扩展中, 有参考此原理的是( )
A. Asyncio
B. Celery
C. Threading
D. Twisted
答案:C
[此题有涉及异步处理请求和多线程的方式解决问题, 但主要是考查对一些常用package的实现原理分析,线程化首选threading,asyncio和twisted都是异步处理的框架, celery是任务队列化的管理与实现, 不符合题意。]
13.阅读下列Django代码,在横线上填入( )后,代码的效率最高
books = Book.objects.filter(..)
______
do_stuff_with_books(books)
A. if len(books) > 5:
B. if books.count() > 5:
C. if len(Book.objects.filter(..)) > 5:
D. 三个选项没有区别
答案:A
[如果想要知道总共有多少条数据,那么建议使用 count ,而不是使用 len(articles) 这种。因为 count 在底层是使用 select count(*) 来实现的,这种方式比使用 len 函数更加的高效;但是Django会缓存查询结果, 所以如果后续的操作会用到这些查询出来的数据 ,可以使用 Python的内置方法(指的是len,if判断queryset,下面例子)。如果不用查询出的数据,使用queryset提供的方法(count(), exists())]
14.WEB开发中,下列不能够有效防御xss攻击风险的方法是( )
A. 过滤><“’/\&#等符号
B. 为Cookie设置HttpOnly
C. 过滤script div等html标签
D. 调用html.escape()对html文档进行转义
答案:D
[过滤html标签并不能避免xss, 非正常的html标签也能执行js, 例如<lol onmouseover="alert(1)">。]
15.在开发API给其他服务使用的场景下,Flask 的蓝图可以将大型应用分解,进行模块化开发,其实际用途不包括( )
A. 扩展请求的URL地址数量
B. 增加服务调用的并发数量
C. 注册蓝图以使用不同的URL规则
D. 提供静态文件、模板和其他工具
答案:D
[Flask 中蓝图有以下用途: • 把一个应用分解为一套蓝图。 • 在一个应用的 URL 前缀和(或)子域上注册一个蓝图。 URL 前缀和(或)子域的 参数成为蓝图中所有视图的通用视图参数(缺省情况下)。 • 使用不同的 URL 规则在应用中多次注册蓝图。 • 通过蓝图提供模板过滤器、静态文件、模板和其他工具。蓝图不必执行应用或视图 函数。 • 当初始化一个 Flask 扩展时,为以上任意一种用途注册一个蓝图。]
16.下面选项中不能在服务器的响应头中查看到的是( )
A. Content-Length
B. cookie
C. Content-Type
D. User-Agent
答案:BD
[BD选项是在请求头中才能看到]
17.Pandas的函数能解决以下哪种常见错误?
A. 数据类型错误
B. 数据缺失
C. 数据冗余
D. 结构错误
答案:ABCD
[Pandas的函数能解决数据类型错误、数据缺失、数据冗余、结构错误等常见错误。]
18.Django在Ajax请求中提交csrfToken的方法正确的是( )
A. 将{% csrf_token %}生成的input框的value通过ajax传参来提交
B. 从获取当前页面的get请求的响应中cookie里获取csrfToken,再写入当前post请求的请求头中;
C. 手写从cookie中获取/写入csrfToken的js文件,再引入,就不需要做其他参数传递,同get请求一般;
D. 在ajax请求前加上
答案:ABCD
[方式一: django模板标签提供{% csrf_token %}在前端生成input框,如果在settings.py文件中开启了该中间件,每次post请求就需要提交django自动生成的csrfToken; 将{% csrf_token %}生成的input框的value通过ajax传参来提交; 方式二: 从获取当前页面的get请求的响应中cookie里获取csrfToken,再写入当前post请求的请求头中; 需要引入:jquery.cookie.js插件 方式三: 与方式二原理相同,手写从cooki]
19.Python标准库math,导入正确的是
A. import math
B. export math
C. import math as m
D. use math
答案:AC
20.代码 a = [ 1,2,3,4,5 ],以下输出结果正确的是
A. print(a[0:5]) => [1,2,3,4,5]
B. print(a[0:]) => [2,3,4,5]
C. print(a[:100]) => [1,2,3,4,5]
D. print(a[-1:]) => [1,2]
答案:AC
网友评论