Below is usual way we find one element in an array const int *find1(const int* array, int n, int x) {
const int* p = array;
for(int i = 0; i < n; i++) {
if(*p == x) {
return p; } ++p; }
return 0; }
In this case we have to bear the knowledge of value type \"int\even the existence of an array. Would you re-write it using template to eliminate all these dependencies?
template const T *find1(const T* array, int n, T x) { const T* p = array; for(int i = 0; i < n; i++) { if(*p == x) { return p; } ++p; } return 0; } NO2 Give an example of implementing a Stack in the template way(only template class declaration without detail definition and realization) template Stack(int = 10) ; ~Stack() { delete [] stackPtr ; } int push(const T&); int pop(T&) ; int isEmpty()const { return top == -1 ; } int isFull() const { return top == size - 1 ; } private: int size ; // number of elements on Stack. int top ; T* stackPtr ; } ; NO3 Implement the simplest singleton pattern(initialize if necessary). class Singleton { public: static Singleton* Instance(); protected: Singleton(); private: static Singleton* _instance; } // Implementation Singleton* Singleton::_instance = 0; Singleton* Singleton::Instance() { if (_instance == 0) { _instance = new Singleton; } return _instance; } NO4 1.Jeff and Diamond like playing game of coins, One day they designed a new set of rules: 1)Totally 10 coins 2)One can take away 1,2or 4 coins at one time by turns 3)Who takes the last loses. Given these rules Whether the winning status is pre-determined or not 1:从后面开始考虑,最后肯定要留1个才能保证自己赢 2:所以要设法让对方留下2,3,5个 3:也就是要自己取后留下1,4,6,7,8,9 4:如果自己取后留下6,对方取2个,与(3)矛盾,所以排除6 5:如果自己取后留下8,对方取4个,与(3)一样情况,所以也排除8 6:同样,9也不行,如果我抽后剩下9,对方抽2个,就反过来成对方抽剩成7个了,也与3)矛盾,所以也排除 7:所以很显然,我只能抽剩1,4,7 8:因为只能抽后剩1,4,7才能赢,我先抽得话不可能达到这几个数,很显然,只能让对 方先抽,也即是先抽的人输 2011.04.23腾讯技术运营部分笔试题目 zz 1、find -newer file1 ! file2 命令的意思是? 8、cat -n file1file2 命令的意思是? 9、vi编辑器中,删除一行的命令是? 10、chmod ug=rwx,o=x file命令功能相同的是:chmod 764 file、chmod 771 file、chmod 671 file、chmod 774 file 11、cp拷贝命令的-f参数含义为? 20、tar命令用于解压的参数是? 二、填空题 1、linux命令增加一条192.168.0.024的静态路由 5、linux下交换分区的格式 6、linux下查看当前网络连接的命令 8、linux下侦测主机到目的主机之前所经过的路由的命令 腾讯测试类实习笔试题及分析 18、在开发一个系统时,如果用户对系统的目标不很清楚,难以定义需求,这时最好使用(A )。 A.原型法 B.瀑布模型 C.V-模型 D.螺旋模型 19、软件开发中的瀑布模型典型的刻画了软件存在周期的阶段划分,与其最相适应的软件开发方法是(B)。 A.构件化方法 B.结构化方法 C.面向对象方法 D.快速原型法 20、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定( C )。 A.模块间的操作细节 B.模块间的相似性 C.模块间的组成关系 D.模块的具体功能 21、在面向数据流的设计方法中,一般把数据流图中的数据划分为(C)两种。 A.数据流和事务流 B.变换流和数据流 C.变换流和事务流 D.控制流和事务流 22、造成软件危机的主要原因是(D): ①用户使用不当 ②硬件不可靠 ③对软件的错误认识 ④缺乏好的开发方法和手段 ⑤软件本身特点 ⑥开发效率低 A.(①②③) B.(②③④) C.(③⑤⑥) D.(④⑤⑥) 23、下列要素中,不属于DFD的是(D)。当使用DFD对一个工资系统进行建模时,(A)可以被确定为外部实体。 (1)A.加工 B.数据流 C.数据存储 D.联系 (2)A.接收工资单的银行 B.工资系统源代码程序 C.工资单 D.工资数据库的维护 24、软件开发模型用于指导软件开发。其中演化模型用于在快速开发一个(C)的基础上逐渐演化成最终的软件。螺旋模型综合了(A)的优点,并增加了(D)。 (1)A.模块B.运行平台C.原型D.主程序 (2)A.瀑布模型和演化模型B.瀑布模型和喷泉模型 C.演化模型和喷泉模型 D.原型和喷泉模型 (3)A.质量评价 B.进度控制C.版本控制 D.风险分析 25、在选择开发方法时,有些情况不适合使用原型法,以下选项中不能使用快速原型法的情况是(D): A.系统的使用范围变化很大 B.系统的设计方案难以确定 C.用户的需求模糊不清 D.用户数据资源缺乏组织和管理 26、原型化方法是一类动态定义需求的方法,(A)不是原型化方法所具胡的特征。与结构化方法相比,原型化方法更需要(B)。衡量原型开发人员能力的重要标准是(D)。 (1)A.提供严格定义的文档B.加快需求的确定 C.简化的项目管理D.加强用户参与和决策 (2)A.熟练的开发人员B.完整的生命周期 C.较长的开发时间D.明确的需求定义 (3)A.丰富的编程技巧B.灵活使用开发工具 C.很强的协调组织能力D.快速获取需求 27、软件开中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开方 法是(B)。 A.构件化方法 B.结构化方法 C.面向对象方法D.快速原型方法 28、采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是(D)。 A.外部设计评审报告在概要设计阶段产生 B.集成测评计划在程序设计阶段产生 C.系统计划和需求说明在详细设计阶段产生 D.在进行编码的同时,独立的设计单元测试计划 29、软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了(C)。 A.版本管理B.可行性分析C.风险分析 D.系统集成 30、概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是(D)。 A.把软件划分成模块B.确定模块之间的调用关系 C.确定各个模块的功能D.设计每个模块的伪代码 31、可移植性指软件从一个运行环境下转移到另一环境下的难易程序。为提高软件的可移植性应注意(D)。 A.使用方便性B.简洁性C.可靠性D.设备不依赖性 32、美国卡内基-梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,以下选项中,属于可管理级的特征是(D)。 A.工作无序,项目进行过程中经常放弃当初的计划B.建立了项目级的管理制度 C.建立了企业级的管理制度D.软件过程中活动的生产率和质量是可度量的 33、软件能力成熟度模型CMM描述和分析了软件过程能力的发展与改进的程度,确立了一个软件过程成熟程度的分级标准。在初始级,软件过程定义几乎处于无章法可循的状态,软件产品的成功往往依赖于个人的努力和机遇。在(A),已建立了基本的项目管理过程,可对成本、进度和功能特性进行跟踪。在(B),用于软件管理与工程两方面的软件过均已文档化,标准化,并形成了整个软件组织的标准软件过程。在已管理级,对软件过程和产品质量有详细的度量标准。在(C),通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续志对过程改进。 (1)A.可重复级B.管理级C.功能级D.成本级 (2)A.标准级B.已定义级C.可重复级D.优化级 (3)A.分析级B.过程级C.优化级D.管理级 34、软件设计包括四个既独立又相互联系的活动,分别为(C)、(D)、数据设计和过程设计。 (1)A.用户手册设计B.语言设计C.体系结构设计D.文档设计 (2)A.文档设计B.程序设计C.实用性设计D.接口设计 35、软件的互操作性是指(C)。 A.软件的可移植性 B.人机界面的可交互性 C.连接一个系统和另一个系统所需的工作量D.多用户之间的可交互性 36、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(D)工具。 A.CAD B.CAI C.CAM D.CASE 37、请说出7类信息系统.1.事务处理系统.2.管管理理信息系统.3.决策支持系统.4.主管信息系统.5.专家系统.6.通信和协作系统.7.办公自动化系统. 38、区分电子商务(e-commerce)和电子业务(e-business)电子商务是指通过使用因特网购买和销售商品及服务.电子业务是指使用因特网进行日常的商务活动. 39、什么是数据需求 数据需求是用户数据以实体,属性,关系和规则形式的表述. 40、什么是过程需求 过程需求是用于某个业务过程及其信息及其信息系统的处理需求 的用户理解. 41、什么是系统开发过程 系统开发过程是一组活动,方法,最佳实践,交付成果和自动化工具,系统开发的关联人员用它们来开发和维护信息系统及软件. 42、系统开发的10个基本原理是什么 1.让系统用户参与. 2.使用一套问题解决步骤. 3.确立开发阶段和开发活动. 4.在开发过程中记录文档. 5.建立标准. 6.管理过程和项目. 7.将信息系统作为重要的投资看待. 8.不必害怕取消和返工. 9.分而治之. 10.设计系统时应考虑到增长和变化. 43、确定并简要描述大部分现代系统开发方法学公认的8个基本阶段 (P80)1.范围定义阶段.2.问题分析阶段.3.需求分析阶段.4.逻辑设计阶段.5.决策分析阶段.6.物理设计和集成阶段.7.构造和测试阶段.8.安装和发布阶段. 44、区分逻辑设计和物理设计 逻辑设计是将用户需求翻译成系统模型,该模型仅仅描述了业务需求,而没有描述这些需求的任何可能的技术设计或实现.物理设计是将业务用户需求转换成系统模型,描述用户的业务需求的技术实现.(常见的同义词包括:技术设计或实现模型.反义词是逻辑设计.) 45、什么是敏捷方法 敏捷方法集成各种系统分析和方法,根据要解决的问题和要开发的系统应用合适的方法. 46、列出3种模型驱动开发技术 1.过程建模.2.数据建模.3.对象建模.(P95) 47、列出系统开发的3类自动化工具。1.计算机辅助系统工程.2.应用开发环境.3.项目和过程生理器. 48、在关于用例(use case)的描述中,错误的是(D)。 A.用例将系统的功能范围分解成许多小的系统功能陈述 B.一个用例代表了系统的一个单一的目标 C.用例是一个行为上相关的步骤序列 D.用例描述了系统与用户的交互 49、在用例建模的过程中,若几个用例执行了同样的功能步骤,这时可以把这些公共步骤提取成独立的用例,这种用例称为(B)。在UML的用例图上,将用例之间的这种关系标记为(C)。 1)A.扩展用例B.抽象用例C.公共用例D.参与用例 (2)A.association B.extends C.uses D.inheritance 50、在一个采用(A)数据库体系结构的网络数据库应用系统中,计算机C上运行着DBMS软件和应用程序,并存有所有用户数据,其余各节点作为终端通过通信线路向计算机C发出数据库应用请求。 A.集中式B.主从式C.客户机/服务器D.分布式 51、在业务领域分析过程中,通过建立实体关系图,把与业务相关的数据模型化;通过建立(B)来表示业务活动的分解过程;两个业务过程之间的相互依赖关系应记录在过程依赖图中;通过建立(C)来详细说明整个业务过程的逻辑。 (1)A.数据流图(DFD)B.过程层次图(PHD) C.过程活动图(PAD)D.过程关系图(PRD) (2)A.数据流图(DFD)B.过程层次图(PHD) C.过程活动图(PAD)D.甘特图(Ganntte) 52、在将E-R模型向关系模型转换的过程中,若将三个实体之间的多对多联系m:n:转 换为关系模式,则该关系模式的关键字为(C)。 A.任意两个实体的关键字的组合B.任意一个实体的关键字 C.各实体的关键字的组合D.某实体的其它属性 53、在以下选项中,主要联系高层管理人员的信息系统是(C) A.MIS(管理信息系统) B.DSS(决策支持系统) C.EDPS(电子数据处理系统)D.TPS(事务处理系统) 54、内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求(B)。 A.高内聚,高耦合B.高内聚,低耦合 C.低内聚,高耦合D.低内聚,低耦合 55、在下面的用例图(use-case Diagram)中,X1、X2和X3表示(B),已知UC3是 抽象用例,那么X1可通过(B)用例与系统进行交互。并且,用例(B)是UC4的可选部分,用例(D)是UC4的必须部分。 因篇幅问题不能全部显示,请点此查看更多更全内容