运维开发工程师(BKDS)理论基础
- 蓝鲸SaaS开发框架包含哪些Web防护策略? A. 防 CSRF 攻击 B. 防 XSS 攻击 C. 防 SQL注入 D. 没有Web安全防护 正确答案:A,B,C
- 社区版如何将第三方系统放在工作台中使用? A. 社区版不支持第三方系统链接接入 B. 通过修改配置文件添加第三方系统链接 C. 通过PaaS平台DB管理端:domain/admin,添加“常用链接” D. 直接登录数据库,修改DB数据,添加“常用链接” 正确答案:C,D
- 以下哪些是生成器自身的方法? A. close B. send C. next D. throw 正确答案:A,B,D
- 新式类继承了 object 基类之后对应的 mro 方法返回的是? A. 基类定义的属性列表 B. 继承的子类列表 C. 属性搜索的顺序 D. 属性异常 正确答案:C
- Python 中的 docstring 有何作用? A. 用于描述对应代码用途 B. 使用 Sphinx 生成文档 C. 用于定义多行字符串 D. 使用 doctest 进行测试 1
运维开发工程师(BKDS)理论基础 正确答案:A,B,D 6. 蓝鲸MagicBox提供了哪些服务? A. 常用UI组件 B. 常用JS插件 C. 页面套餐样例 D. 在线可视化拖拽布局 正确答案:A,B,C,D 7. 蓝鲸SaaS调用ESB组件方式包括? A. 使用SaaS开发框架中提供的ESB组件SDK包 B. 不调用ESB组件,直接调用第三方系统API C. SaaS不能调用ESB组件 D. 根据ESB组件API地址直接访问 正确答案:A,D 8. 蓝鲸SaaS调用ESB组件鉴权方式包含? A. 应用认证和用户认证 B. 仅应用认证 C. 仅用户认证 D. 没有认证 正确答案:A 9. 判断某个 key 是否在字典 d 中存在,以下做法正确且严谨的是: A. ‘key’ in d.keys() B. d.get(‘key’) is not None C. hasattr(d, ‘key’) D. ‘key’ in d 正确答案:A,D 10. 假设 d 为一个空字典 d = {}。以下语句中执行后,d 的内容将会变为 {‘key’: 1 }: A. d[‘key’] = 1 B. d.update(‘key’=1) C. d.setdefault(‘key’, 1) D. d.update(key=1) 正确答案:A,C,D 2
运维开发工程师(BKDS)理论基础 11. 关于 Python 中的列表 list 和 元组tuple,以下描述错误的是: A. 二者都可以通过循环语句来迭代 B. 二者都可以追加元素 C. 二者都可以删除元素 D. 只有列表可以作为函数的变长位置参数解包 func(*foo_list) 正确答案:B,C,D 12. 以下哪些结果一定是一个一维列表[‘1’, ‘2’, ‘3’]? A. list(“123”) B. map(unicode, range(1, 3)) C. [(“1”), (“2”), (“3”)] D. [(“1”,), (“2”,), (“3”,)] 正确答案:A,C 13. 以下哪些魔术方法用于实现上下文管理器(with)? A. with B. enter C. open D. exit 正确答案:B,D 14. 以下哪些是合法的 pip 安装命令? A. pip install Django>=1.8 B. pip install -r requirements.txt C. pip -e git http://git.example.com/MyProject#egg=MyProject D. pip install ./SomePackage-1.0.4.tar.gz 正确答案:A,B,C,D 15. 以下哪些命令能够使用 Python 虚拟环境 venv? A. venv/bin/python B. source venv/bin/activate C. workon venv D. pipenv shell 正确答案:A,B,C,D 16. 假设 parser = argparse.ArgumentParser(),以下能够正确声明参数的是? A. parser.add_argument(“x”) B. parser.add_argument("-x") 3
运维开发工程师(BKDS)理论基础 C. parser.add_argument_group("-x", “—x”) D. parser.parse_args(“x”) 正确答案:A,B 17. 以下哪些问题是 Python 的 GIL 导致的? A. 无法创建系统级别的线程 B. GIL 导致了线程间的不公平调度 C. 计算密集型程序会因为 GIL 而变得更慢 D. IO 密集型程序也无法使用多线程模型加速 正确答案:B,C 18. 关于 Python 的导入机制,以下说法错误的是? A. 首先检查 sys.modules 是否有对应模块,有则使用,无则导入 B. 被导入的模块最顶层的语句会在每次导入时都运行 C. 一般导入的搜索路径顺序由 sys.path 定义 D. 如果对应有同名的 py 和 pyc 文件,优先导入 pyc 文件 正确答案:A,C 19. 使用 unittest 库编写单元测试的必要过程是? A. 测试用例继承 unittest.TestCase 类 B. 编写以 test 开头的方法运行测试用例 C. 编写 setUp 和 tearDown 来加载和卸载测试环境 D. 调用 unittest.main 函数运行测试 正确答案:A,B,D 20. 以下哪些行为可以使得程序同时兼容 Python2 和 Python3? A. 使用 2to3 工具进行转换 B. 使用 six 库 C. 使用 sys.version 判断版本进行区分 D. import 时捕获 ImportError 异常尝试使用另一个版本的路径引入 正确答案:B,C,D 21. 以下哪些是 Python3 相对于 Python2 的改动? A. 字符串默认使用 unicode B. 使用新的字符串格式化方法 format 取代 % 运算符 C. 整数除法行为改变 D. range 变得和 xrange 一样返回迭代器 正确答案:A,C 4
运维开发工程师(BKDS)理论基础 22. 以下哪些用法不是 PEP8 建议的? A. assert greeting == True B. if not foo is None: pass C. foo = (0,) D. import sys, os 正确答案:A,B,D 23. 关于 Cookie 安全,以下说法正确的是 A. 将 HttpOnly 设置为 True 可防止页面脚本写入 Cookie B. 设置 Secure 为 True 后,浏览器只有在 HTTPS 协议下访问才会发送该 Cookie C. 保存到 Cookie 里面的敏感信息需要加密 D. 需要给 Cookie 设置有效期 正确答案:B,C,D 24. 关于 Django 开发安全,以下说法正确的是 A. 在生产环境下关闭 DEBUG 模式 B. 修改数据的表单开启 CSRF 保护 C. 返回给 JavaScript 使用的数据先进行 JSON 编码 D. 修改默认的 Admin URL 正确答案:A,B,C,D 25. 实现头像上传功能时,下列哪些手段可以避免文件上传漏洞? A. 限制图片存储目录下的执行权限 B. 后台禁止文件名中使用特殊字符 C. 禁止用户自定义存储目录 D. 前端校验所需的文件类型 正确答案:A,B,C
运维开发工程师(BKDS)理论基础 A. <%doc> 标签中的内容不会被渲染出来 B. 使用 <�f> 标签的内容会被立即执行 C. 可使用 <# #> 标签对内容进行多行注释 D. 可使用 <% return %> 标签提前中止模板渲染 正确答案:A,D 28. 关于 Mako 模板,下列说法正确的是 A. Mako 模板引擎依赖于 Django 框架 B. 在 Mako 模板中,能够内嵌 Python 代码 C. 在 Mako 模板中,使用 “{{ }}” 语法渲染变量 D. Mako 模板支持 try-except 异常控制语句 正确答案:B,D 29. 关于 Python 3 里面的字典 dict 类型,以下说法错误的是: A. 字典的 key 是不可重复的 B. 元组类型可以被用来当做字典的 key C. 列表类型可以被用来当做字典的 key D. 整数类型可以被用来当做字典的 key 正确答案:C 30. 下面这段代码执行后的结果为: for i in range(10): if i == 10: print(‘break’) break else: print(‘else’) A. 输出 break B. 输出 else C. 输出 break 与 else D. 什么都不会输出 正确答案:B 31. 关于 Python 3 里的内建函数 range,以下说法错误的是: 6
运维开发工程师(BKDS)理论基础 A. range 函数可以生成递增的整数序列 B. range 函数可以生成递减的整数序列 C. range(3, 10) 里面包含数字 3 D. range(3, 10) 里面包含数字 10 正确答案:D 32. 在 Python 3 中,对于一个列表 l = [“Hello”, “World”],以下哪些语句可以正常 输出 “Hello World”。 A. print(" “.join(l)) B. print(l.join(” “)) C. print(*l, sep=” ") D. print(l) 正确答案:A,C 33. 关于Mako模板常用过滤器及其作用的描述,正确的是 A. h: 进行 HTML 转义 B. u: 进行 unicode 编码 C. trim: 去掉首尾空白字符 D. n: 禁用所有默认过滤器 正确答案:A,C,D 34. 在 Mako 模板中,for 结构通过 loop 对象可获取循环的额外信息,以下哪些是 l oop 对象中可获取到的属性 A. loop.index B. loop.len C. loop.odd D. loop.even 正确答案:A,C,D 35. 以下哪些是Django的内建模板引擎? A. Mako B. Jinja2 C. DjangoTemplates D. Sphinx 正确答案:B,C 36. Django ORM进行多个条件同时满足的查询可采用哪种方式来组合查询条件? A. 在filter或get方法中将多个条件同时作为参数传入。 B. 在使用前一个条件的filter方法的返回结果对象上继续调用其filter方法并传入下 7
运维开发工程师(BKDS)理论基础 一个条件,依次类推 C. 使用Q表达式的&运算符将条件组合起来。 D. 使用数据模型的fuzzy_search方法。 正确答案:A,B,C
运维开发工程师(BKDS)理论基础 正确答案:A,B,C,D 39. Django ORM进行数据查询操作可使用数据模型的Objects属性的什么方法? A. filter() B. get() C. retrieve() D. all() 正确答案:A,B,D 40. 通过Request的哪个属性可以判断请求方式是GET还是POST: A. method B. Request C. Schema D. way 正确答案:A 41. 以下程序的输出结果是? x = [90,87,93] y = [“zhang”, “wang”,“zhao”] print(list(zip(y,x))) A. (‘zhang’, 90), (‘wang’, 87), (‘zhao’, 93) B. [(‘zhang’, 90), (‘wang’, 87), (‘zhao’, 93)] C. [[‘zhang’, 90], [‘wang’, 87], [‘zhao’, 93]] D. [‘zhang’, 90], [‘wang’, 87], [‘zhao’, 93] 正确答案:B 42. 关于Mako模板,以下哪些是合法的控制语句 A. % if a > 0: … % endif B. % for i in range(5): … % endif C. % while number: … % endwhile D. % try: … % except: … % endtry 正确答案:A,C,D 43. 黑客在A网站上提交了一条评论,所有在A网站看到这条评论的人,都收到了一个 中奖弹窗。有人点击这个中奖弹窗的按钮后,发现他的B网站资产被盗了。请问这其中 可能利用了哪些漏洞? 9
运维开发工程师(BKDS)理论基础 A. A网站的XSS漏洞 B. B网站的XSS漏洞 C. A网站的CSRF漏洞 D. B网站的CSRF漏洞 正确答案:A,D 44. 下列哪些方法是Django Models提供的数据查询、操作方法? A. get B. push C. filter D. order_by 正确答案:A,C,D 45. 下列函数中,有哪些是Django中间件使用的函数? A. process_request B. process_view C. process_response D. process_model 正确答案:A,B,C 46. Django的中间件可以在一次请求生命周期的哪些环节生效? A. 请求进入后,路由映射前 B. 路由映射后,进入视图函数前 C. 进入视图函数后,数据库查询前 D. 视图函数返回请求响应后 正确答案:A,B,D 47. 在ORM查询中,对于分数模型 Score,包含math_score, english_score, chin ese_score, username 四个字段,如果以math_score优先,english_score为次优 先进行排序? A. Score.objects.all().order_by(‘math_score’).order_by(‘english_score’) B. Score.objects.all().order_by(‘english_score’).order_by(‘math_score’) C. Score.objects.all().order_by(‘english_score’, ‘math_score’) D. Score.objects.all().order_by(‘math_score’, ‘english_score’) 正确答案:D 48. 以下哪些选项可以得出UserInfo(用户模型)中surname(姓氏)为 zhao, qia n, sun的查询集? 10
运维开发工程师(BKDS)理论基础 A. UserInfo.objects.filter(surname__in=[“zhao”, “qian”, “sun”]) B. UserInfo.objects.filter(Q(surname=“zhao”) | Q(surname=“qian”) | Q(surname=“sun”)) C. UserInfo.objects.filter(reduce(operator._or, [Q(surname=“zhao”), Q(surname=“qian”), Q(surname=“sun”)])) D. UserInfo.objects.filter(surname=“zhao”, surname=“qian”, surname=“sun”) 正确答案:A,B,C 49. 以下哪些是HTTP/1.1支持的请求方式? A. POST B. DELETE C. UPDATE D. QUERY 正确答案:A,B 50. Django中间件支持的方法有? A. process_response B. process_request C. process_template_response D. process_exception 正确答案:A,B,C,D 51. 在前端JS中,以下代码在控制台的输出结果是? [5,2,1,10,3].sort() A. [1, 2, 3, 5, 10] B. [10, 5, 3, 2, 1] C. [1, 10, 2, 3, 5] D. [5, 3, 2, 10, 1] 正确答案:C 52. 关于HTTP协议的缓存机制,以下哪些headers 属于强制缓存 A. If-Match B. If-None-Match C. Expires D. Cache-Control 正确答案:C,D 11
运维开发工程师(BKDS)理论基础 53. 以下关于缓存的优先级的描述正确的是? A. Pragma > Cache-Control > Expires > ETag > Last-Modified B. Pragma > Expires > Cache-Control > ETag > Last-Modified C. Pragma > Cache-Control > Expires > Last-Modified > ETag D. Pragma > Cache-Control > ETag > Expires > Last-Modified 正确答案:A 54. 关于Mako模板,以下哪些标签用于引入Python代码块 A. <%block> </%block> B. <% %> C. <�f> </�f> D. <%! %> 正确答案:B,D 55. 以下不属于前端缓存的是? A. Cookie B. localStorage C. Session D. indexDB 正确答案:C 56. 以下表达式的值结果为 True 的是? A. undefined == null B. undefined === null C. NaN == NaN D. true == 1 正确答案:A,D 57. 以下哪些不是 JavaScript 的原始数据类型? A. Undefined B. Object C. Symbol D. Array 正确答案:B,D 58. 以下代码在控制台的输出结果是? 12
运维开发工程师(BKDS)理论基础 const promise1 = () => Promise.reject(1); const promise2 = () => Promise.reject(2); Promise.all([promise1(), promise2()]).catch((err) => { console.log(err); }); A. 1 B. 2 C. [1, 2] 正确答案:A 59. 以下是一段Mako模板渲染代码逻辑,其执行输出结果为 from mako.template import Template tpl = Template(’${" test mako "|trim, u}’) print(tpl.render()) A. test mako B. test mako C. test mako D. 执行报错 正确答案:B 60. 以下代码在控制台的输出结果是? const way = async () => console.log(‘1’); const fun = async () => { console.log(‘2’); await way(); console.log(‘3’); 13
}; fun(); new Promise((resolve) => { console.log(‘4’); resolve(); }).then(() => console.log(‘5’)); A. 2 1 4 3 5 B. 2 4 1 5 3 C. 2 1 4 5 3 正确答案:A 61. 以下是一段Mako模板渲染代码逻辑,其执行输出结果为 from mako.template import Template tpl = Template(’${" test mako "|u,trim}’) print(tpl.render()) A. test mako B. test mako C. test mako D. 执行报错 正确答案:A 62. 以下关于浏览器同源策略(跨域)描述错误的是? A. 通过 script 标签引用的资源通常不受同源策略限制 B. 使用 window.fetch 默认可以跨域 C. 只要域名和端口相同就可以跨域 D. sessionStorage 存取数据不受同源策略限制 正确答案:B,C,D 63. 以下代码中的输出结果是? 14 运维开发工程师(BKDS)理论基础
const arr = [9, 6, 17, 10, 23]; const result = arr.find(num => num > 12); console.log(result); A. [17] B. 17 C. [17, 23] 正确答案:B 64. 以下代码中的输出结果是? const promise1 = new Promise(function (resolve, reject) { setTimeout(function() { resolve(‘foo’); }, 300); }); promise1.then(function () { return ‘bar’; }).then(function (value) { console.log(‘hi,’ value); // 输出结果? }) 正确答案:A 65. 以下代码中两处的输出结果分别是? A. “hi,bar” B. “hi,foo” C. “hi,undefined” D. “hi,” 15 运维开发工程师(BKDS)理论基础
运维开发工程师(BKDS)理论基础 const target = { a: 1, b: 2 }; const source = { b: 4, c: 5 }; const foo = Object.assign(target, source); console.log(foo); console.log(target); A. undefined, { a: 1, b: 2 } B. {a: 1, b: 4, c: 5}, {a: 1, b: 2} C. {a: 1, b: 4, c: 5}, {a: 1, b: 4, c: 5} D. undefined, {a: 1, b: 4, c: 5} 正确答案:C 66. def empty(d): xxxxx 设计一个函数来清空一个字典,以下合适填入空行的是? A. for i in d:del d[i] B. d.clear() C. d = {} D. del d 正确答案:B 67. 以下代码中的输出结果是? const numbers = [1, 2, 3]; const result = numbers.map(Math.pow); console.log(result); A. [1, 2, 9] B. [1, 4, 9] C. [NaN, NaN, NaN] D. 报错,无法正确运行 16
运维开发工程师(BKDS)理论基础 正确答案:A 68. 以下代码中两处的输出结果分别是? const arr = [‘a’, ‘b’, ‘c’]; const foo = arr.splice(2, 1, ‘d’); console.log(foo); console.log(arr); A. undefined, [“a”, “b”, “d”] B. [“c”], [“a”, “b”, “d”] C. “c”, [“a”, “b”, “d”] D. “d”, [“a”, “b”] 正确答案:B 69. 以下代码中的输出结果是? const arr = [‘a’, ‘b’, ‘c’]; console.log(arr[4]); A. null B. undefined C. false D. 报错,无法正确运行 正确答案:B 70. 以下关于 Cookie 和 localStorage 的描述,错误的是? A. 两者都可以设置存放数据的过期时间 B. 两者存放的数据默认都会传递到服务器端 C. localStorage 可存放的数据比 Cookie 更大 D. localStorage 可以访问存放在其它域名下的数据而 Cookie 不可以 正确答案:A,B,D 71. 获取浏览器当前URL中的请求参数(? 部分),以下方法正确的是? 17
运维开发工程师(BKDS)理论基础 A. location.search B. location.query C. history.query D. window.search 正确答案:A 72. 使浏览器后退到前一个网址,以下方法错误的是? A. history.back() B. history.go(-1) C. history.go(1) D. navigator.go(-1) 正确答案:C,D 73. 获取浏览器客户端的 Cookie,以下方法正确的是? A. window.cookie B. document.cookie C. browser.cookie 正确答案:B 74. 获取浏览器客户端的 userAgent,以下方法正确的是? A. window.userAgent B. history.userAgent C. document.userAgent D. navigator.userAgent 正确答案:D 75. 获取当前网页的域名,以下方法正确的是? A. window.domain B. location.domain C. document.domain 正确答案:C 76. 在浏览器全局环境中,以下代码中的输出结果分别是? var age = 18; console.log(this.age) // 1 18
运维开发工程师(BKDS)理论基础 const Person = { age: 20, say () { console.log(this.age) // 2 }, run () { return function () { console.log(this.age); // 3 } }, sleep () { return () => console.log(this.age); // 4 } } Person.say(); Person.run()(); Person.sleep()(); A. undefined, 18, 20, 18 B. 18, 20, 18, 20 C. 18, 20, 20, 20 D. 18, 20, 18, undefined 正确答案:B 77. 以下命令可以通过Django的Migrations文件生成SQL文件? A. django-admin sqlmigrate migration_name app_label B. django-admin migratesql migration_name app_label C. python manage.py migratesql app_label migration_name D. python manage.py sqlmigrate app_label migration_name 19
运维开发工程师(BKDS)理论基础 正确答案:D
79. 以下3个表达式的结果分别是? 0 === ‘0’ ‘0’ == false 1 === true A. false, true, false B. true, true, false C. false, false, true D. true, true, true 正确答案:A