软件工程面试问题


Advertisements

亲爱的读者, 这些 软件工程面试问题 的目的是为了让你熟悉的问题的性质在你可能会遇到 S在软件工程程面试时.按我的经验,良好的面试者很难规划提出任何特别的问题,在你的采访,一般的问题开始与主题的一些基本概念,后来他们继续基础上,进一步讨论和回答什么.:

Q.什么是计算机软件?

A. 计算机软件是一个完整的方案,其中包括软件程序,如何使用该软件的文档和用户手册.

Q.您能不能区分计算机软件和计算机程序?

A. 计算机程序是一段程序代码,执行一个定义良好的任务,其中软件包括程序代码并它的文档和用户指南.

Q.什么是软件工程?

A. 软件工程与软件系统开发相关工程分支.

Q.如你知道编程,什么是需要学习软件工程的概念?

A. 一个人谁知道如何建立一个墙不是善于建设一个完整的家。同样,谁可以写程序的人可能没有对软件工程的其他概念的知识。软件工程的概念,引导程序员如何评估最终用户的需求,实际的编码开始之前设计的算法,创建了编码,测试代码和文档的程序.

Q.什么是软件过程和软件开发生命周期(SDLC)?

A. 软件开发生命周期,或软件过程是软件在开发过程中,即要求收集,系统分析,设计,编码,测试,维护和文档的顺序以下各阶段的系统化发展.

Q.有几个 SDLC模型?

A. 有几个可用的SDLC的模型,如瀑布模型,迭代模型,螺旋模型,V模型和大爆炸模型等等。.

Q.什么是SDLC的各个阶段?

A. SDLC的一般阶段是:理解客户需求,系统分析与设计,编码,测试和实施。该阶段取决于我们选择的软件开发模型时.

Q.那一种SDLC模式是最好的?

A. SDLC模式采用按开发过程中的需求。它很可能软件到软件,以确保该模型是合适的.

我们可以选择最佳的SDLC模式,如果以下答案感到满意 -

  • 是否SDLC适合选择技术实现的软件 ?
  • 是否SDLC适合客户的需求和优先事项 ?
  • 是否SDLC模型适合于该软件的规模和复杂性 ?
  • 是否SDLC模式适用于项目和工程,我们做的类型 ?
  • 是否SDLC适当的地域共同定位或分散开发 ?

Q.什么是软件项目管理?

A. 软件项目管理是管理就像从事软件开发时间,成本和质量管理的所有活动的过程.

Q.谁是软件项目经理吗?

A. 软件项目经理承诺进行软件项目的责任.

Q.什么是软件项目经理角色与责任?

A. 软件项目经理是从事与软件管理的活动。他负责的项目规划,监测进展情况,利益相关者之间的沟通,风险管理和资源开发的顺利实施,并在时间,成本和质量的约束上交付项目.

Q.什么是软件的范围?

A. 软件的范围是一个明确的界限把它包含了所有完成开发和提供软件产品的活动.

该软件适用范围明确规定的所有功能和文物交付的软件的一部分。范围确定什么样的产品会做,什么也不会做,什么终端产品将包含哪些它将不包含.

Q.什么是项目估算?

A. 它是一个过程来估计,以计算在努力,时间和资源方面的开发成本的软件产品的各个方面。这种估计可以从过去的经验中得到,通过咨询专家或通过使用预先定义的公式.

Q.我们如何才能得到软件产品的规模?

A. 软件产品的大小可以用以下两种方法之一进行计算 -

  • 计数的交付的代码行
  • 计数交付功能点

Q.什么是功能点?

A. 作用点是由该软件产品提供的各种功能。它被认为是测量软件大小的单元.

Q.什么是软件项目估算技术可用?

A. 有许多估计技术.最广泛使用的是 -

  • 分解技术(计数代码行和功能点)
  • 实证方法(普特南和COCOMO)

Q什么是底线?

A. 基线是测量,定义了一个阶段的完整性。经过与特定阶段相关联的所有活动都完成,这个阶段就完成,并作为下一阶段的基准.

Q.什么是软件配置管理?

A. 软件配置管理是跟踪和控制的要求,设计,功能和产品的开发方面的变化,软件的处理。.

Q.什么是变更控制?

A. 变更控制的配置管理从而确保软件系统进行的所有更改都一致并按照组织的规章制度的作用。.

Q.你如何衡量项目的执行?

A. 们可以测量执行项目活动监视,状态报告和里程碑清单的方式.

Q.说一些项目管理工具.

A. T有作为每个软件项目和组织政策要求的各种项目管理工具。它们包括甘特图,PERT图,资源直方图,关键路径分析,状态报告,里程碑清单等.

Q.什么是软件需求?

A. 软件的要求,提出软件系统的功能描述。要求被假定为目标的系统,其功能和特征的描述。要求传送用户从系统的期望.

Q.什么是可行性研究?

A. 这是评估如何实践和有益的软件项目开发将是一个组织的一项措施。该软件分析仪进行了深入的研究,以了解该项目的经济,技术和操作可行性。.

  • 经济 - 资源运输成本的培训,更多的实用程序和工具以及成本和项目的收益整体估算成本.

  • 技术 - 是否有可能开发这个系统?评估机(S)和操作系统(S)上的软件将执行,现有的开发人员的知识和技能,培训,实用程序或工具对项目的适用性。 .

  • 操作 - 可以顺利完成的每个项目的需求变化组织调整?就是这个问题值得解决 ?

Q.你怎么能收集需求?

A. 要求从用户通过访谈,调查,任务分析,集思广益,域分析,原型收集,学习软件现有的可用版本,并观察.

Q.什么是SRS?

A. SRS系统或软件需求规格说明是需求收集过程时产生的文件。它也可以被看作炼要求和记录它们的处理.

Q.什么是功能性的要求?

A. 功能要求是预计从提出软件产品的用户功能特性和规格.

Q.什么是非功能性需求?

A. 非功能性需求是隐含的,涉及到安全性,性能,外观和感觉的用户界面,互操作性,成本等。.

Q.什么是软件方面的措施?

A. 件的措施,可以理解为量化和象征的各种属性以及软件方面的过程.

Q.什么是软件度量?

A. 软件度量提供措施,软件过程和软件产品的各个方面。它们被分成 –

  • 要求指标:长度要求,完整
  • 产品指标:代码行数,面向对象度量,设计和测试指标
  • 工艺指标:评估和跟踪预算,进度,人力资源

Q.什么是模块化?

A. 模块化是一种技术,将一个软件系统划分为多个离散的模块,预计进行的工作(S)独立。.

Q.什么是并发性以及它是如何在软件中实现的?

A. 并发是事件或动作的倾向同时发生。在软件中,当两个或多个过程同时执行的,它们被称为并发进程.

示例

当您启动打印命令,打印机开始打印,你可以打开一个新的应用程序.

并发,被分裂成软件即执行进程和线程的多个独立单位,并执行它们并行执行.

Q.什么是凝聚力?

A. 凝聚力是定义模块的元件之间的内部可靠性的程度的量度.

Q.什么是偶合?

A. 耦合是定义一个程序模块之间的相互可靠性水平的措施.

Q.提到一些软件分析和设计工具?

A. 这可能是:DFD的(数据流图),结构图,结构化英语,数据字典,黑豹(分层输入过程输出)图,ER(实体关系)图和决策表。

Q.什么是0级的DFD?

A. 最高抽象层次的DFD被称为0级DFD也称为上下文级别的DFD,它描绘了整个信息系统的一个图表隐藏所有的底层细节.

Q.什么是结构化的英语和伪码的区别?

A. 结构化英语是用编程语言的关键字来写一个程序模块的结构,然而,伪码更接近的编程语言,并使用母语的英语单词或句子来写的代码部分英语为母语.

Q.什么是数据字典?

A. 数据字典被称为元数据。这意味着,它是关于数据的数据仓库。数据字典用于组织在系统中使用诸如对象和文件以及它们的命名约定的名称和它们的引用。.

Q.什么是结构化设计?

A. 结构化设计是一个概念化的问题到解决方案的几个组织良好的元素。这是值得关注与解决方案的设计和基于“分而治之”的策略.

Q.:什么是功能导向,面向对象的设计之间的区别?

A. 功能化的设计是由被称为功能许多较小的子系统。每个功能能够在系统中执行显著任务。面向对象的设计工作解决现实世界中的对象(实体),它们的类(类)和对象(函数)的操作方法。 .

Q.定义自顶向下和自底向上的设计模型.

A. :自顶向下的模型开始系统的广义视图,将其分解为更为具体的人,而自下而上的模式开始于第一次最具体的和基本的组成部分,并保持组成成分得到的抽象水平.

Q.什么是 Halstead’s 的复杂度基础?

A. Halstead’s 的复杂度取决于上的程序的实际执行,并认为该计划作为衡量的基础上使用令牌。.

Q.提到的公式来计算圈程序的复杂性?

A. 圈复杂度采用图论的公式: V(G) = e – n + 2

Q.什么是函数式编程?

A. 功能编程的编程语言,它使用数学函数的概念风格。它提供了计算的数学函数,其产生的程序的状态,结果,不论装置.

Q.区分确认和验证?

A. 验证检查,如果该产品是由按而验证检查用户的需求,如果遵循正确的步骤来开发产品。.

验证确认正确的产品和核查确认,如果该产品是建立在一个正确的方式.

Q.什么是黑盒和白盒测试?

A. 黑盒测试检查,如果所需的输出产生有效的输入值时给出。它不验证程序的实际执行。.

白盒提供了有效的输入,而且它会检查代码是否正确实现,测试时,不仅需要的有效输出检查。.

标准 黑盒测试 白盒测试
识的软件程序,设计和结构所必需的 是的
知识软件实现至关重要 是的
谁做这个软件的测试 软件测试员工 软件开发
为测试基准参考 需求规格说明书 设计和结构的详细信息

Q.质量保证与质量控制?

A. 质量保证监督检查,如果合适的流程进行后续处理,而软件开发软件e.

质量控制涉及维护软件产品的质量.

Q.什么是各类软件的维护

A. 维修种类有:纠正,适应性,完备和预防.

  • 纠正

    删除用户识别的错误

  • 自适应

    应对变化的硬件和软件环境下,软件工程

  • 完备的维修

    在现有的或新的用户需求的变化实施

  • 预防性维护

    采取适当措施以避免未来的问题

Q.什么是软件再工程?

A. 软件再工程的过程中,以加强该软件是建立在不改变软件的功能的技术。这样做是为了保持调整与最新技术的软件实现.

Q.什么是CASE工具?

A. 消协表示计算机辅助软件工程。 CASE工具被设置的自动化软件应用程序,它被用来支持,促进和平滑的SDLC活动.

什么是下一个?

此外,你可以通过你的过去任务的主题,并确保您能够自信地在他们身上。如果你是新鲜的,然后面试官并不期望你会回答非常复杂的问题,而是你必须让你的基本概念非常强.

其次它真的没有多大意义,如果你不能回答一些问题,但它很重要,不管你回答,你必须回答有信心。所以,只是觉得在你的面试有信心。我们在howcodex祝你好运有一个好的采访者和所有最好的为你的未来努力。振作起来 :-)

Advertisements