中科院高级软件工程期末题库
文档是期末考试的题库,老师出的题目都是从这里面出的。目录概念解释.二、选择题、设计题四、简答题……………23概念解释1.敏捷开发方法与 Scrum方法2.基于计划文档开发方法(Pan-and- Document based Development)3.DRY( Dont repeat yourself)尢重复代码4.MVC(软件作为服务的开发框架)5. SMART用户故事6. TDD and红绿重构7.F|RST测试原则8.代码味道及类内方法SOFA原则(说明S、O、F、A分别代表什么?违法该原则的代码的不好特征、重构和修复的方法)9.类间关系的SOLD原则(说明每个原则的意义、违法该原则的代码的不好特征、重构和修复的方法)(1)单一责任原则(2)开闭原则(3)里氏替换原则(4)依赖注入原贝(5)迪米特法则10.持续集成及开发11.文档对象模型(DoM)和 jQuery12. JavaScript函数特点13. HTML14.ruby面向对象15.ruby访问控制 public、 private和 protected16.CSs规则构成17.ruby中的数组18.Ruby哈希(Hash)19.Ruby迭代器:each和 collect20.Git工作流程、选择题21工具/语言1.下面哪个git命令用来帮助跟踪谁修改了什么文件和什么时候修改的?A. git listB. git manageC. git pushD. git blame2.如何比较两个文件或当前文件和以前版木的修订?A. git diffB. git compareglt cloneD. git checkout3.如果提小提交内容为空、不能提交,则最为合适的处理方式是a)执行 glt status查看状态,再执行 git add命令选择要提交的文件,然后提交。b)执行 glt commit- allow- empty,允许空提交。c)执行 glt commit-a,提交所有改动。d)执行 glt commit- amend进行修补提交4.如果把项目中文件hel1o.c的内容破坏了,如何使其还原至原始版本?0 git reset--hellocb) git checkout HEAD--hellocc) git revert hello.cd)git update hello.c5.修改的文栏 meeting.doc尚未提交,因为错误地执行了 glt reset-hard导致数据丢失。丢失的数据能找回么?a)不能。执行硬重置使工作区文件被覆盖,导致数据丢失无法找回。b)能。可以通过 git checkout hEAD@{1}- meeting.doc找回。c)不确定。如果在重置前执行∫ git add命令将 meeting.doc加入了暂存Ⅸ,则可以在对象厍中处于悬空状态的文件中找到d)不能。因为未提交所以无法找回。6.仅将工作区中修改的文件添加到暂有区(新增文件不添加),以备提交,用什么命令标记最快?a) git add -Ab) git add→pc git addd git add下面哪一个命令不会改变提交历史?a) git resct --hard HEAD1b) git checkout HEADc) git rebase -i HEADd) git commit --amend8.下面的描述中不属于Ruby特性的是A.Ruby是一种功能强大的面向对象的脚本语言B.Ruby遵守GPL协议并且是免费的。C.Ruy具有自动内存管理机制。D.Ruby是基于MVC架构的。9.下面的描述中不属于 Rails特性的是A. Rails是一个使用Ruby语言写的开源网络应用框架。B. Rails具有强大的反射札制与后设编程C.“不要重复自u”和“约定胜丁配置”是 Rails的设计原则。D. Rails具有实时映射技术和模板编程技术。10.Ruby提供了多种字符串的表示方法,下面哪一种是错误的?A.str=在线学习乐园”B.str-niwww.itzcn.comlC.str=%/t免费教学和视频D.str="窗内网11.在命令控制台要查看Ruby的版本应该使用命令A. rubyB. ruby versionC. ruby -hD. ruby /12.下列不属丁 Ruby Gems提供命令的是A. gem listB. gem install railsC. gemD. gem -update rails13.下面关于Ruby编译器的使用方法,错误的是A. ruby hi. rbB. ruby -e print hC. ruby -h hi. rbD. ruby -c hi. rb14.调用方法可以去除用户输入的换行符。A. chompB. trC.D. to i22需求分析15.下面哪些用户故事描述是满足的 SMART原则要求的?A.用户能用影片名查找电影信息。B.作为一个用户,我想看前10个按价格从低到高排序的影片列表,以便我买到最便宜的电景票。C. Rotten potatoes app应该有好的用户界面D. Rotten potatoes app应该有好的用户界面和快的响应时间6.下面哪个是对,就用户故事而言?()它们应该措述该应软件是如何使用的。()它们应该有业务价值。(i)它们不必要是可以测试的。它们应该在敏捷软件开发生命周期的各阶段都能实施或实现。A. ionlyB. i and iic, i and iyD, i iii, and iv7.相对强调过程的场景描述而言,声眀性场景描述特点是:A.有更复杂语句和步骤。B.个是DRY。C.史段、易理解和维护。D.关注在低层步骤上,这些步骤需要初始化设置和执行测试。8.对隐性和显性需求而言,下面哪些说法是对的?A.无论隐性和显性需求,你都不能写用户故事。B.隐性需求更简洁,而显性需求更啰嗦。C.隐性需求是显性需求的逻辑结果,通常对应于综合性测试D.显性需求通常可以用场景化过程性语言描述,而隐性需求通常用声明性语言描述。19.为什么很多软件项目失败?软件不是用户所要的。(i)延迟交付。(i)软件超出预算。(y)软件演化后容易维护和升级A. i andB. iii and iyC. i ii and iiiD. i, ii, iii, and iv20.下面哪些是表达了BDD的不足。.与客户交互沟通的成本。i.客户满意不等于该软件有一个好的架构。ⅲ编写功能代码前,先写测试代码。.缺乏相关工具。A. i and iiB. iii and ivC. ii and iiiD. i ii, iii, and iy21.需求分析最终结果是产生()A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书22.需求分析中,开发人员要从用户那里解决的最重要的问趣是()A.让软件做什么B.要给软件供哪些信息C.需求软件工作效率怎样D.让软件具有何种结构23.需求规格说明书的内容不应包括对()的描述。A.主要功能B.算法的详絀过程C.用户界面的运行环境D.软件性能24.软件需求分析阶段的工作,可以分成4个方面:需求获取,需求分析,编与需求规格说明书以及()A.用户B.需求评审C.总结D.都不正确25.在原型法中,开发人员根据()的需求不断修改原型,直到满足客户要求为止A.用户B.开发人员C.系统分析员D.程序员26.需求验证应该从下述几个方面进行验证:A.可靠性、可用性、易用性、重用性B.可维护性、可移植性、可重用性、可丬则试性C.一致性、现实性、完整性、有效性D.功能性、非功能性22设计27.敏捷开发者崇尚的价值点是A.过程和工具胜于个人与团队交流B.可工作的软件系统胜于全面的文档C.合同谈判胜于与客户协作D.遵循计划胜于响应需求变化28.瀑冇软件开模型与螺旋软件开发模型的区别?A.瀑布模型包括了大量的计划文档和时间跨度大的可匚作软件版本,而螺旋模型小量的计划文档和时问跨度小的可工作软件版本。B.瀑布模型从开始就写全所有的需求文档,而螺旋模型按迭代阶段写需求文档.C.瀑布模型有教长的迭代周期,而蠓旋模型有较短和快的迭代周期。D.瀑布模型的在每个阶段完成后进行保障测试,最后验证阶段包括了验收测试;而螺旋模型的侏障测试在每2个月内进行。29.哪种类型的代码是最坏的?A.遗留代码( legacy code)B.静态代码( static code)C.与期望不一致的短命代码( unexpectedly short-lived code)D.优美代码( beautiful code)30.“系统中的每一个知识(功能或特性)必须有单一的、无二义和明确的表示。”是对下面的哪条原则的表达?RESTBSAASC. SOADDRY31.如果一个项日延期后,为什么说增加人于不是一个好主意。因为:A.程序员太贵B.不能用大团队来承建SaS软件C.交流成本会下降D.让新程序员上手需要较多时间32. Model- View-Controller(Mvc)架杓/设计模式有什么好处?A.支持多用户存取和更新模型数据,对每个用户提供各自的视图。B.确保模型与视图有一对一的映射。C.为了调试日的,提供模型和控制器的调试窗口。D.像其他设计模式一样,遵循这类架构可以得到更简洼的代码。33.下面哪一ˉ种提晑软件生产效率的方法比较能体现面向服务架构的软件?A.通过简洁达到清晰( Clarity via concisenessB.代码合成( Synthesis)C.可重用( Reuse)D.自动化和工具( Automation and tools)34.一个服务直接访问另外一个服务的数据时可能出现不稳定的情况一般是以下哪一种情况的特点之A. Rails应用框架B.面向服务的架构C.面向对象编程D.敏捷开发过程35.假设有两个HTTP请求的URI是·样,但调用的方法(GET与POST)不同。对于Rails路由而言,卜面哪个说法是对的。A.两个请求可以对应不同控制器的方法,但不是必须的。
- 2020-12-08下载
- 积分:1