笔试题目易错点(一)

1、如果类的定义如下,则以下代码正确并且是良好编程风格的是()
A、std::auto_ptr<Object> pObj(new Object);
B、std::vector<std::auto_ptr<Object*>> object_vector;
C、std::auto_ptr<Object*> pObj(new Object);

D、std::vector<std::auto_ptr<Object>> object_vector;

解答:A。auto_ptr不能被放置在容器中,因为auto_ptr仅提供delete,而非delete[],需注意其不要用来指向数组或指针。

2,完整的编译过程分为是:预处理,编译,汇编等,如下关于编译阶段的编译优化的说法中不正确的是()
A)死代码删除指的是编译过程直接抛弃掉被注释的代码;
B)函数内联可以避免函数调用中压栈和退栈的开销
C)For循环的循环控制变量通常很适合调度到寄存器访问
D)强度削弱是指执行时间较短的指令等价的替代执行时间较长的指令

解答:A。源代码删除是删除死代码,死代码是指永远不会执行到的代码,不是注释,如:if(0){...},其中,大括号中的代码是永远不会被执行的,可称之为死代码,需删除。其余选项正确。

3,简述C++和Java的区别:

(1)Java运行在虚拟机上;

(2)C++支持无符号运算,可以定义指针,Java不支持无符号运算,不能定义指针。

(3)Java有垃圾回收机制,C++没有;

(4)Java中,参数传递总是采用按值传递(参数是对象时,传递的是对象的引用),在C++中,参数传递有按值传递,指针传递,引用传递;

(5)C++允许运算符重载,而Java不允许;

(6)C++支持多重继承,Java只允许单继承。

4,软件模块架构设计应尽量遵循高内聚低耦合的设计原则,下面哪个模块设计的耦合度最高?

A. 一个模块访问另一个模块,彼此之间通过简单的数据参数访问获取。

B.一个模块直接访问另一个模块的内部数据。 

C. 一组模块都访问一个公共数据环境(如全局数据结构,NAS,共享内存等等)

D. 一个模块通过传送开关、标识、名字等控制信息选择另一个模块的功能

解答:内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 

对于低耦合,粗浅的理解是:一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。

对于以上的四个选项,其耦合度由低到高排名:A->D->C->B

5,常使用硬件可靠性的定量度量方法来度量软件的可靠性和可用性,常用的度量软件的可靠性的两个指标是:MTTF和MTBF。其详细含义为:

(1)MTTF(Mean Time To Failure):平均失效时间。定义为随机变量出错时间等的期望值。

(2)MTBF(Mean Time Between Failure):平均无故障时间,是衡量一个产品,尤其是电器产品的可靠性指标。单位为“小时”。


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热推荐.zip项工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项,该资源内项代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项价值】:可用在相关项设计中,皆可应用在项、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项立项、学习/练手等方面,可借鉴此优质项实现复刻,设计报告也可借鉴此项,也可基于此项来扩展开发出更多功能 下载后请首先打开README文件(如有),项工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值