软件⼯程与技术(题集3)
1如下关于编译构建环境的说法,哪些是正确的(D)
A. 构建环境上的⼯具,可以由CIE从公司外⽹下载直接安装。
B. 每⼀次构建成功后,都应该记录⽣成的版本包和构建环境镜像的关联关系,⽅便以后溯源。
C. 为了⽅便开发⼈员定位构建问题,构建环境应该对所有开发者开放。
D. 版本发布构建所⽤的环境,应该是封闭的,只能有任命的CIE可以访问环境。
2涉及对外源码交付的产品/平台版本,构建环境需安装BepKit⼯具进⾏构建⼀致性验证并明确验证频度, “不可识别差异”作为缺陷处理
3Binscope是可以通过检查程序⼆进制特征,判断安全编译选项是否落地的⼯具
4对于构建⼀致性的必要性和要求,说法正确的有(ABD)
A. 基于相同源码、环境、⽣产与客户现⽹部署逐⽐特⼀致的⼆进制
B. 随机差异要全部消除,除⾮能准确知晓这些差异的内容
C. 随机差异优先消除,时间差异太⼤时没必要消除
D. 交付源码和⼆进制要保持⼀致
5某产品在进⾏源码交付时被认证机构认定为所集成的A平台源码⽆法溯源,经过确认发现了根源,产品经理⼩强通过⽂件夹共享⽅式获取到A平台的联调版本并集成了该版本,A平台⼆进制对应的源码信息未做基线,产品在正式发布版本仍然使⽤A平台该联调版本,源码交付后,认证机构经过验证发现A平台源码缺失,上述⾏为违背了哪些配置管理原则(ABCD)
A.A平台⼆进制及源码没有进⾏配置标识及基线,导致源码缺失
B.产品正式发布的版本应配套使⽤A平台的正式发布版本,不应使⽤A平台的联调版本
C.联调版本没有通过联调版本发布流程发布,⽽是通过⽂件共享⽅式私下进⾏传递
D.具备在任意时刻都能交付⼆进制对应的准确源代码的能⼒
6按照⼆进制⽂件的差异现象,可以将差异分为时间戳差异和随机差异,时间戳差异表现为各种形式的时间信息,下列哪些场景属于时间戳差异(ABCD)
A. 其他⾃定义格式:1990+⽉-⽇-天-⼩时-分-秒的偏移量
B. 构建时刻距离1970/01/01秒数
C. "NOV1,2016,21:04:16“字符串
D. “20170304180056"字符串
7以下哪些是链接选项(BCD)
A. -Fpic
B. -Wl,-z,relro
C. -pie
D. -Wl,-z,noexecstack
8下⾯关于-fPIC和-fPIE -pie选项描述正确的是(BC)
A. 两者作⽤相似可以互相替换
B. -fPIC是编译选项
C. -fPIE -pie⽤于可执⾏程序
D. -fPIC⽤于静态库
9关于⼯程构建,以下说法错误的是(ABD)
A. 允许使⽤-w选项屏蔽所有告警
B. 使⽤虚拟化OS⼯具在Windows上来模拟Linux进⾏构建
C. 构建输出的⽇志简洁明晰,信息应分级为error/warning/info;出现error信息表⽰构建失败,必须终⽌构建
D. 构建模块较多时,对于⼦模块私有的配置,可以在模块内定义l作为⼦模块的配置
10有关构建脚本,下列说法正确的是(ABC)
A. 构建脚本必须使⽤相对路径,禁⽌使⽤绝对路径
B. 构建脚本成功返回0;构建失败,应以⾮0的退出码退出
C. 每个⽂件开头包含⼀个注释,简要概述⽂件源代码的功能、版权声明
D. 产品软件构建脚本语⾔智能选择⼀种,推荐Python
1、为了促进开源回馈被社区接纳,下述哪个⾏为不值得推荐
A.在社区邮件列表/issue列表⾥充分交流提交的⽅案,并根据意见反复修改
B.在社区线下会议上介绍⾃⼰的⽅案,赢得社区的认可
C.和社区维护者进⾏沟通,理解对⽅的规划思路
D.由于社区⼀直未采纳提交补丁,⾃⼰在社区中fork⼀个新项⽬出来维护
答案:D
2、某产品在引⼊编译⼯具时,发现该编译⼯具中有调⽤Linux内核shadow加密功能,导致编译出的⼆进制有时间戳差异,应该如何消除这种差异
A.差异不解决,内核引起差异,不需要与认证机构、客户说明原因
B.通过修改源代码⽅式解决
C.使⽤辅助⼯具BepKit消除
D.⽆需确认,直接删除该功能
答案:C 编译⼯具
3、欺骗(Deception)是使⽤混淆和舞蹈⼿段⼲扰攻击者,⽐如部署蜜罐系统,以下哪个⽬录是通过欺骗⽆法达成的
A.将系统进⾏划分,以限制成功攻击的传播和损害
B.消耗攻击者的攻击能⼒和时间,为联动防御或反制等提供时间差
C.发现正在进⾏的攻击和潜在实施的攻击
D.为反击取证和提供⽀撑
答案:A
4、⼆叉树的第k层(根为第⼀层)的节点数最多为()
A.2的k次⽅-1
B.2k-1
C.2的k-1次⽅
D.2k+1
答案:C
5、以下⼏种不同的隐私保护技术中,对数据进⾏加躁处理,⽤于匿名数据收集和统计分析⽅法是()
A.差分隐私
B.枚举
C.截断
D.掩码
答案:A
6、给定⼀颗含有N个节点的红⿊树,在最坏的情况下,红⿊树的删除节点操作的时间复杂度是()
A.O(N^1/2)
B.O(N)
C.O(N^2)
D.O(logN)
答案:D
7、关于软件⼯程,以下说法错误的是
A.软件⼯程发展的⽬的就是希望到合适的⽅法和技术适⽤软件系统
B.软件⼯程仅指实现软件⽣产开发的活动序列
C.软件⼯程是⼀门研究⽤⼯程化⽅法构建和维护有效的、实⽤的和⾼质量的软件的学科,它涉及程序设计语⾔、数据库、软件开发⼯具、系统平台、标准、设计模式灯⽅⾯
D.软件⼯程的⽬的是⽀持专业化的软件开发、⽽不仅仅是个⼈编程
答案:B
8、已知⼀颗7层完全⼆叉树的第6层(设根为第1层)有7个叶节点,则该完全⼆叉树的节点个数最多是()
A.113
B.120
C.51
D.38
答案:A
9、下⾯关于系统之系统描述错误的是
A.系统之系统中的系统的不同部分可分别对应不同的管理和控制策略和规则
B.系统之系统中并不存在⼀个对系统各个部分进⾏管理的管理者
C.系统之系统是两个或以上独⽴管理和治理的系统的集合
D.系统之系统不可能是最⼩规模系统,如包含不同提供商提供的服务的较⼩的系统,⼤规模系统经常是系统之系统
答案:D
10、关于过载控制设计原则,下列说法错误的是
A.⾃保恢复原则:负荷下降到设计能⼒范围之内后,⽹元可以⽴即恢复处理能⼒
B.业务保证原则:确保在出现⼤流量冲击时所有业务不被丢弃
C.及早控制原则:应尽可能在业务流程处理前端或业务处理较早的处理单元(⽹元/单板/芯⽚等)或底层协议层次上控制业务接⼊
D.优先级保证原则:系统过载时保证⾼优先级的业务能够优先获得资源,优先得到处理
11、gcc编译器中,动态链接的ELF⼆进制程序使⽤称为全局偏移表(GOT)的查表去动态编译位于共享库中的函数,那么GOT表全局保护选项的正确写法是?
A. -relro,-z,now
B.-Wl,-z,relroC,-Wl,-z,relro,-z,nowD.-Wl,-z,now
答案:C
12、故障隔离技术的核⼼思想是降低故障影响范围,防⽌产⽣()
A.级联故障
B.随机故障
C.间歇性故障
D.单点故障
答案:A
13、以下描述关于⽹络韧性⼯程的架构/技术的描述错误的是
A.⾮持久性是在有限的时间内保留信息、服务和连接,从⽽减少攻击者利⽤漏洞并建⽴持久⽴⾜点的机会
B.权限限制是指根据关键性和信任模型,限制使⽤⽹络资源所需的权限,以及分配给⽤户和⽹络实体的权限,以最⼤限度的减少对⼿活动的潜在后果
C.多样性使⽤异构技术(例如 硬件、软件、固件、协议),这样增加了⽹络建设的成本,运维的难度,是不可取的
D.分割可以根据系统的重要级别进⾏划分,以限制成功攻击的传播或损害
答案:C
14、有如下⼀个类似调表的数据结构,每层都是已经排好序的链表,level1层的链表有所有元素,levelN层的链表只有level N-1的⼀般元素,level N层的节点指向levelN-1层中相同的节点,现在要查32,需要经过的⽐较次数是
答案:B
15、关于冗余设计,下⾯说法错误的是
A.主⽤单元和备⽤单元的故障检测率都直接影响冗余系统可⽤度
B.系统的冗余设计是硬件独⽴完成的,与软件关系不⼤
C.电信产品要求具备⾼可⽤性,但同时也需要考虑成本等多⽅⾯的因素,所有冗余设计并不是使⽤的越多越好
D.资源池冗余设计中要考虑负载均衡
答案:B
16、以下哪个选项开启后,编译器会将编译告警视为错误?
A.-Wextra
B.-Wall
C.-Werror
D.-Wformat
答案:C
17、在开源软件引⼊选型中,以下哪项符合候选软件的引⼊要求?
A.ADAPDX master
B.Apache Struts 1.1rc2
D.Apache ZooKeeper 3.5.4-beta
答案:C
18、某特性设计⽂档已经在DBOX(⽂档管理系统)完成基线,由于特性接⼝需要变更,那么该特性设计⽂档应如何处理
免费平台源码资源网A.根据实际的特性接⼝变更规则,通过便跟过流程更新已基线的特性设计⽂档
B.更新特性设计⽂档,更新后的设计⽂档归档在⼩名⼯作电脑的专属⽂件夹,并共享给相关模块的开发⼯程师进⾏参考
C.由于特性设计⽂档不参与版本构建,所以特性设计⽂档没有⼈查阅,不⽤更新
D.由于该特性设计⽂档已经基线,所以不能更新
答案:A
19: 下列递归算法中,f(10)调⽤了函数f()多少次?
Int f(int x)
{
if (x<=2)
return 1;
return f(x-2)+f(x-4)+1;
}
A.20
B.25
C.15
D.10
答案:C
20、对于下列关键字序列,不可能构成某⼆叉排序树中⼀条查路径的序列是()
A.92,20,91,34,88,35
B.12,25,71,68,33,34
C.21,89,77,29,36,38
D.95,22,91,24,94,71
21、关于每⽇站⽴会议,下⾯的()说法是错误的
A.站会的要求是⾼效,并且让每个⼈都集中精⼒
B.Scrum Master应该对成员所描述的任务内容进⾏评价
C.它是⼀个简短的团队会议,由所有团队成员在每天固定的时间和地点进⾏
D.它不是⼀个汇报会议,⽽是开发团队内部的沟通会议,以便快速发现问题
答案:B
22、针对FOSSID上扫描出来的,和开源相似的代码,是否可以确认为⾃研,判断原则是什么?
A.判断原则是基于事实,编码前没阅读过开源代码编写出的代码可判定为⾃研,其他任何形式直接参考开源写的代码是属于开源
B.判断原则是基于⼯具,如果FOSSID⽆法扫描出来,则都是⾃研代码
C.判断原则是相似度,如果相似度很低,如低于5%可以判断为⾃研
D.判断原则是基于⽬录结构,⾃研⽬录下的都是⾃研代码,open_source⽬录下都是开源软件
答案:A
23、20XX年XX⽉,某认证机构对华为产品软件版本的⼆进制⼀致性提出质疑,且该认证机构对华为产品软件的⼆进制⼀致性验证结论为不⼀致,未解决该问题,公司成⽴BEP(⼆进制⼀致性)项⽬组,关于BEP,下列说法错误的是
A.BepKit⼯具是为了提升⼆进制⼀致性差异消除的效率⽽开发的辅助⼯具
B.BEP的⽬标是基于相同的源码、相同的环境,实现同⼀版本可重复构建,且构建结果完全⼀致
C.差异识别即基于相同的环境、相同的源代码编译两次,对两次编译结果通过beyond compare进⾏⽐较,不完全⼀致即存在差异,由于时间戳引起的⼆进制⼀致性差异可以忽略
D.直接⽐较产品软件源代码统⼀构建的最终结果(产品软件版本),⼀般⽆法解释所产⽣的差异,需要从源代码、编译过程,直到最终发布的⼆进制包逐层分析产⽣⼆进制⼀致性差异的原因
答案:C
24、⼯程师⼩A在⼯作中对开源软件进⾏了特性修改,他知道这个修改未来会成为负债,因此决定贡献给社区,以下哪个做法是提倡的做法?
A.遵循社区规则,及时提交社区讨论互动
B.为了避免暴露公司员⼯的⾝份,⽤个⼈邮箱提交给社区
C.若华为规范与社区规范冲突,认为华为的规范更加合理,提交过程保留了华为的规范要求
D.为了抓紧特性修改被社区合⼊,未经评审往社区提交
答案:A
25、⽆向图G有12条边,6个3度定点,其余定点的度均⼩于3,则G中可以有()个顶点
A.9
B.10
C.11
D.8
答案:ABC
26、某产品在进⾏源码交付时被认证机构认定为所集成的A平台源码⽆法溯源,经过确认发现了根源,产品经理⼩强通过⽂件夹共享⽅式获取到A平台的联调版本并集成了该版本,A平台⼆进制对应的源码信息未做基线,产品在正式发布版本仍然使⽤A平台该联调版本,源码交付后,认证机构经过验证发现A平台源码缺失,上述⾏为违背了哪些配置管理原则
A.A平台⼆进制及源码没有进⾏配置标识及基线,导致源码缺失
B.产品正式发布的版本应配套使⽤A平台的正式发布版本,不应使⽤A平台的联调版本
C.联调版本没有通过联调版本发布流程发布,⽽是通过⽂件共享⽅式私下进⾏传递
D.具备在任意时刻都能交付⼆进制对应的准确源代码的能⼒
答案:ABCD
27、()与()需求是产品的质量属性之⼀,也是客户的基本诉求,产品需结合合规、准⼊及现⽹安全风险将其构筑在研发过程中
A.最优惠的价格
B.设备平稳运⾏
C.⽹络安全
D.隐私保护
答案:CD
29、已知⼀颗完全⼆叉树的第8层(设根为第1层)有10个叶节点,则该完全⼆叉树的节点个数可能有()
A.329
B.137
C.201
D.491
答案:BD
30、为了有效⽀撑事后审计,并向内部、外部客户证明研发过程风险是可控的,须准确记录所有参与软件研发环节的相关⼈员的信息和其交付件的信息,保证获取的上下游信息准确,需跟踪和记录的研发过程阶段有()
A.验证发布
B.现⽹部署
C.需求分析与设计
D.软件编码与构建
答案:ABCD
31、下⾯关于-fPIChe -fPIE -pie选项描述正确的是
A.-fPIE -pie⽤于可执⾏程序
B.两者作⽤相似可以互相替换
C.-fPIC⽤于静态库
D.-fPIC是编译选项
答案:AD
32、有关第三⽅软件引⼊的评估标准,正确的是()
A 已EOSS/即将停⽌销售的第三⽅软件,禁⽌引⼊
B 开源软件的license不明确的,禁⽌引⼊
C 业界⽆替代的第三⽅软件,可能存在供应风险,不建议引⼊
D ⾮开源社区发布的正式版本,禁⽌引⼊
33、以下关于开源选型的说法,哪些是正确的
A.铲平A使⽤⼀款tinyxml软件,内存分配和解析速度均可满⾜产品要求,且现⽹已稳定运⾏10+年,社区近期发布了tinyxml2,且社区也表⽰后续主要在tinyxml2上进⾏维护,其解析速度为tinyxml的5倍,但综合考虑升级成本及新版本的影响,产品确定继续使⽤
tinyxmlB.Json-lib软件社区2013年后社区已⽆⼈贡献,建议产品独臂Jackson、fastJson、Gson等同类软件,结合产品使⽤场景,选择⽣态、license较友好的开源软件C.XML解析开源软件SAX性能⽐Dom4j快10倍,SAX 2004年发布最后⼀个稳定版本,当前平均每周下载量34+次,对性能要求较⾼,且使⽤场景为只读不写(⽂件)的产品可以考虑选择此软件D.Log4j⽇志组件的作者2015年发布log4j2.X 和logback;性能⽐log4j1.X⾼10倍,建议使⽤log4j1.X的产品考虑切换到log2.X或logback
答案:BD
34、某电商公司的⽹站(单体应⽤,约100W⾏Java代码)的部署周期(需求提出到部署产品环境的时间)为4周(⼯作⽇20天),其中需求分析3天,开发时间为5天,测试⼈员⼿动进⾏功能测试时间为6天,环境准备和部署时间为4天,该公司为了提升⾃⾝竞争⼒,⽬标在半年内将部署周期降低到2周,以下哪些DevOps时间可以帮助该公司实现⽬标
A.功能测试⾃动化
B.⾃动化部署
C.软件开发过程引⼊敏捷、精益思维,最⼩化需求范围(MVP)
D.微服务拆分
答案:ABC
35、为保证业务的正常运⾏,提⾼产品和解决⽅案的安全和韧性,可以从以下哪些⽅⾯进⾏设计?
A.不利情况发⽣后恢复业务
B.不利情况下维持核⼼业务
C.限制不利情况发⽣时的损害
D.降低攻击成功可能性
答案:ABCD
36、下⾯的()不是敏捷开发的基本原则
A.坚持不懈的追求技术卓越和良好设计
B.严格遵循计划和流程
C.尽早和持续的交付有价值软件
D.要⾯对⾯进⾏交流
答案:B
37、⼀个软件通过柱状图、地图等多种⽅式显⽰铁路实时订票情况,该功能使⽤观察者模式实现的话,其中的观察者对象和被观察者(即主题)对象分别是什么
A.观察者是各个不同的显⽰视图,被观察者是铁路实时订票数据
B.观察者是铁路实时订票数据,被观察者是各个不同的显⽰视图
C.观察者是整个实时监控界⾯,被观察者是铁路实时订票数据
D.观察者是铁路实时订票数据,被观察者是整个实时监控界⾯
答案:A
38、运维⼈员在对某电商⽹站进⾏⼿动升级后第⼆天发⽣线上事故,影响了整个西安地区的所有⽤户。接到⽤户投诉后,运维⼈员进⾏⼿动回滚,约1⼩时恢复正常。事后分析发现,事故的根本原因是代码逻辑存在问题,在特定数据(西安地区⽤户)的场景下,会出现错误,以下哪些实践可以有效减少或者防⽌类似问题出现
A.为增强团队对产品的敬畏⼼,防⽌类似事故出现,引发事故的产品经理,开发,测试已经实施变更运维⼈员全年绩效不得超过B+
B.引⼊灰度发布,功能先对⼩范围⽤户开放,然后增量开放给其他⽤户
C.引⼊⾃动化测试,减少测试⼈员⼿⼯测试可能导致的错误
D.⾃动化产品的部署和回滚,降低失败对⽤户的影响时间
E.预⽣产环境数据准备要接近⽣产环境,可以更好的针对⽣产环境数据进⾏验证
答案:BDE
39、以下哪⼀条是软件选课系统的质量需求,并且满⾜原⼦性要求?
A.⽤户规模不超过5千⼈时,登录密码验证时间不超过2秒,⽤户规模不超过2万⼈时,登录密码验证不超过5秒
B.课程属性与学⽣专业属性不符时不允许选课
C.系统应当在2018年9⽉1⽇之前上线部署运⾏
D.系统可按照院系统计学⽣选课请款个,指定统计范围后1秒内返回统计结果

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。