软件工程常考笔试面试题

1.软件指的是计算机系统中与硬件相互依赖的另 —部分,包括程序、数据和有关的文档,

2.面向对象程序语言的三大特征分别是:1.封装,2.继承,3.多态
第一个特征:封装:简单地说就是把数据和方法放在一个类里面包装起来。
第二个特征:继承:当一个类继承了另一个类,通过关键字extends实现继承,被继承的叫父类,继承的类叫子类。
在子类生成对象时,先调用父类不带参数的构造方法,在调用子类不带参数的构造方法。
第三个特征: 多态:简单的说就是父类型的引用指向子类型的对象。

3.代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。

4.面向过程的系统,比如C语言设计的系统,有两种集成策略:自顶向下,也就是先整体再局部;自底向上,也就是先局部再整体

5.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用(工厂)模式。

6.需求分析是软件生命周期的一个重要阶段,它的基本任务是准确地回答“系统必须做什么”这个问题,
它的主要工作分为4个方面,分别是需求获取、需求分析、编写需求规格说明书及需求评审。

7.内聚性和耦合性是度量软件模块独立性的重要准则,软件设计时应力求高内聚,低耦合

8.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定模块间的组成关系

9.软件开中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是结构化开发方法

10.软件工程的三要素:方法(开发方法)、工具(支持方法的工具)、过程(管理过程)。

11.SAX解析xml 文件的 :
优点:不用事先调入整个文档,占用资源少。尤其在嵌入式环境,如Android,极力推荐采用SAX进行解析。
缺点:不像DOM一样将文档树长期留驻在内存,数据不是长久的。事件过后,若没保存数据,那么数据就会丢失。使用场合:机器有性能限制,尤其是在嵌入式环境。

13.(单例模式)限制了创建类的实例数量,而(适配器模式)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

14.总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

15.实现单例模式的类具有的特性:没有公有构造方法,一个公有静态工厂方法,和一个静态实例变量

16.Bridge(桥接)设计模式将抽象部分与它的实现部分相分离

17.接口的作用是:契约式设计以封装实现

18.有关DAO模式:
解决问题:根据数据源不同,数据访问也不同。根据存储的类型(关系数据库、面向对象数据库、纯文件等)和供应商实现不同,持久性存储(如数据库)的访问差别也很大。如何对存储层以外的模块屏蔽这些复杂性,以提供统一的调用存储实现。程序的分布式问题 解决方案:将数据访问逻辑抽象为特殊的资源,也就是说将系统资源的接口从其底层访问机制中隔离出来;通过将数据访问的调用打包,数据访问对象可以促进对于不同数据库类型和模式的数据访问。 本质:分层,是系统组件和数据源中间的适配器。(一层屏蔽一种变化)

19.Web 应用程序中常使用 MVC 模式:
Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
View(视图)是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

20.下列有关软件工程的标准,属于行业标准的是(IEEE)

21.可维护性的特性中,相互矛盾的是效率与可修改性.
有一些可维护特性是相互促进的,如:可理解性和可测试性,可理解性和可修改性;而另一些则是相互矛盾的,如:效率和可移植性,效率和可修改性等。

22.快速原型是利用原型辅助软件开发的一种新思想,是在研究(需求阶段 )的方法和技术中产生的。

23.下面属于模型驱动开发技术的有 过程建模 /数据建模/ 对象建模

24.为了保证该协议变更之后更好的应用到多个接口 适配器模式;
为了保证修改协议不影响到原先逻辑的代码 协议的变更指的是日后可能返回xml格式 工厂模式;
或者是根据需求统一对返回的消息进行过滤 装饰模式

25.软件维护困难的主要原因是开发方法的缺陷

26.可移植性指软件从一个运行环境下转移到另一环境下的难易程序。为提高软件的可移植性应注意哪些? 设备不依赖性

27.搜索引擎显示搜索结果的时间是搜索引擎对该词条的收录时间

28.在概念设计阶段,最常使用的数据模型是实体联系模型。
数据库概念设计阶段用实体联系模型
逻辑设计阶段需要将E-R图转换为关系模型

29.美国卡内基-梅隆大学SEI提出的CMM模型将软件过程的成熟度分为5个等级,即能力成熟度模型,共分为5个等级,初始级、可重复级、已定义级、已管理级、优化级。

30.造成软件危机的主要原因:缺乏好的开发方法和手段 软件本身特点 开发效率低

31.结构型模式中最体现扩展性的模式是装饰模式

32.值对象模式的描述:
1.值对象模式用来把一组数据封装成一个对象的模式
2.解决的问题是在远程方法的调用次数增加的时候,相关的应用程序性能将会有很大的下降
3.使用值对象的时候,可以通过仅仅一次方法调用来取得整个对象,而不是使用多次方法调用以得到对象中每个域的数值

33.面向对象的基本原则:
s( Single-Resposibility Principle ): 单一职责原则
o( Open-Closed principle ): 开放封闭原则
l( Liskov-Substituion Principle ): 里氏原则
i( Interface-Segregation Principle ): 接口隔离原则
d( Dependecy-Inversion Principle ): 依赖倒置原则

35.“优先使用对象组合,而不是继承”是面向对象设计的第二原则。
组合也叫“对象持有”,就是在类中定义另一类型的成员,继承会破坏类的独立性,增加系统的复杂性,一般系统的继承层次不超过3层。组合拥有良好的扩展性,支持动态组合,因此请优先考虑组合方法。

36.软件的互操作性是指 连接一个系统和另一个系统所需的工作量。
软件的互操作性也是指不同平台或编程语言之间交换和共享数据的能力。

37.结构化分析的常用工具有数据流图、数据字典、判定树和判定表。

38.软件设计中模块划分应遵循的准则是高内聚低耦合

39.如果我们的程序需要经常在多种算法中相互替换,我们应该选用哪种设计模式:策略模式。
策略模式定义了一系列算法,并将每个算法封装起来,策略模式让算法独立于使用它的客户而独立变化。

40.数据字典(DD)所定义的对象都包含于数据流图(Data Flow Diagram)
数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。

41.用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具,通常也称为(CASE)工具
计算机辅助软件工程英文全称:CASE(Computer Aided(or Assisted)Software Engineering)。

42.主要联系高层管理人员的信息系统是什么? DSS(决策支持系统)
信息系统一般泛指收集、存储、处理和传播各种信息,具有完整功能的集合体。它一直以来都与计算机和网络技术同步发展,历经4个主要阶段:(1)电子数据处理系统(EDPS):简单数据处理,仅用于科学计算,较少涉及管理内容,例如计算工资、统计账目等。(2)事务处理系统(TPS):对企业局部事务的管理,例如财会、销售、物资、生产管理等。(3)管理信息系统(MIS):是用系统思想建立起来,以电子计算为基本信息处理手段,以现代通信设备为基本传输工具,且能为管理决策提供信息化服务的人机系统。MIS集成了事务处理中的局部应用,形成全局性、整体性的计算机应用(4)决策支持系统(DSS):为高层决策提供支持的系统,例如ERP(集成了MIS)、SRM等。

  • 26
    点赞
  • 170
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值