软件工程师面试题小练带参考答案

时间:2022-12-21 09:30:22 综合指导 我要投稿

软件工程师面试题小练带参考答案

  从小学、初中、高中到大学乃至工作,我们最不陌生的就是试题了,试题是学校或各主办方考核某种知识才能的标准。你知道什么样的试题才算得上好试题吗?以下是小编精心整理的软件工程师面试题小练带参考答案,仅供参考,欢迎大家阅读。

软件工程师面试题小练带参考答案

  142面试题小练

  一、JAVA编程基础部分 1. "=="和equals方法究竟有什么区别?

  答:==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。

  Equals()方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人的长相是否相同,它比较的两个对象是独立的。 2. 作用域(访问修饰符)public,private,protected,以及不写时的区别?

  答:如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。(C#中是internal) 访问修饰符

  public

  protected

  friendly

  private 当前类 √ √ √ √ 同一个包 √ √ √ × 子孙类 √ √ × × 其他包 √ × × ×

  3. 请简述面向对象有哪四个方面的特征?

  答:

  1).封装:即将对象封装成一个高度自治和相对封闭的个体,对象状态(属性)由这个对象自己的行为(方法)来读取和改变;

  2).抽象:抽象就是找出一些事物的相似和共性之处,然后将这些事物归为一个类,这个类只考虑这些事物的相似和共性之处

  3). 继承:继承是子类自动共享父类数据和方法的机制,这是类之间的一种关系,提高了软件的可重用性和可扩展性。

  4).多态: 多态性增强了软件的灵活性和扩展性。

  4. 请简述abstract class和interface的区别。

  答:含有abstract修饰符的class即为抽象类,接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。

  两者的语法区别:

  1).抽象类可以有构造方法,接口中不能有构造方法。

  2).抽象类中可以包含非抽象的普通方法,接口不能。

  3). 抽象类中可以包含静态方法,接口中不能

  4). 一个类可以实现多个接口,但只能继承一个抽象类。

  两者的应用上的区别:

  1).接口更多在系统框架设计方法发挥作用。

  2).抽象类在代码实现方面发挥作用,实现代码的重用。

  5.下面代码有错吗?有何错误呢?

  ①. abstract class Name {

  private String name;

  public abstract boolean isStupidName(String name) {}

  }

  答:大侠们,这有何错误?

  答案: 错。abstract method(抽象方法)必须以分号结尾,且不带花括号。(没有方法体)

  ②. abstract class Something {private abstract String doSomething (); }

  答:这好像没什么错吧?

  答案: 错。abstract的methods(方法)不能以private修饰。abstract的methods(方法)就是让子类implement(实现)具体细节的,怎么可以用private把abstract私有化呢

  ③. class Something {int i;public void doSomething() {System.out.println("i = " + i);}}

  答:有什么错呢? 看不出来啊。

  答案: 正确。输出的是"i = 0"。int i属於instant variable (实例变量,或叫成员变量)。instant variable有默认值。int的默认值是0。

  二、SQL Server部分 1. 可以用什么来确保表格里的字段只接受特定范围里的值?

  答:这个问题可以用多种方式来回答,但是只有一个答案是“好”答案:Check约束,它在数据库表格里被定义,用来限制输入该列的值。触发器也可以被用来限制数据库表格里的字段能够接受的值,但是这种办法要求触发器在表格里被定义,这可能会在某些情况下影响到性能。因此,微软建议使用Check限制而不是其他的'方式来限制域的完整性。 2.什么是主键?什么是外键?

  答:主键是表格里的(一个或多个)字段,只用来定义表格里的行;主键里的值总是唯一的。外键是一个用来建立两个表格之间关系的约束。这种关系一般都涉及一个表格里的主键字段与另外一个表格(尽管可能是同一个表格)里的一系列相连的字段。那么这些相连的字段就是外键。

  3.什么是事务?有哪四个属性(原则)?

  答:事务是作为一个逻辑单元执行的一系列操作,要么全都执行,要么全都不执行。一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务。

  附:

  原子性:事务必须是原子工作单元;对于其数据修改,

  一致性:事务在完成时,必须使所有的数据都保持一致状态。

  隔离性:由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。

  持久性:事务完成之后,它对于系统的影响是永久性的。

  4.触发器和存储过程有何区别?(讲解时回顾触发器和存储过程分别是什么)

  答:只有一个区别:存储过程,你调用的时候才会执行

  触发器就是你设定了数据库里比如删除,修改,插入时,就会自动触发执行

  拓展:计算机三级软件测试技术冲刺题

  一、判断题

  1.软件测试的目的是尽可能多的找出软件的缺陷。(Y)

  2.Beta测试是验收测试的一种。(Y)

  3.验收测试是由最终用户来实施的。(N)

  4.项目立项前测试人员不需要提交任何工件。(Y)

  5.单元测试能发现约80%的软件缺陷。(Y)

  6.代码评审是检查源代码是否达到模块设计的要求。(N)

  7.自底向上集成需要测试员编写驱动程序。(Y)

  8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N)

  9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

  10.代码评审员一般由测试员担任。(N)

  11.我们可以人为的使得软件不存在配置问题。(N)

  12.集成测试计划在需求分析阶段末提交。(N)

  13.测试是为了验证软件已正确地实现了用户的要求。(N)

  14.白盒测试仅与程序的内部结构有关,完全可以不考虑程序的功能要求。(Y)

  15.黑盒测试的测试用例是根据程序内部逻辑设计的。(N)

  16.为了快速完成集成测试,采用一次性集成方式是适宜的。(N)

  17.在软件开发过程中,若能推迟暴露其中的错误,则为修复和改正错误所花费的代价就会降低。(N)

  二、多项选择题

  1.在面向类的度量中,下列哪些度量方式是属于C&K套件的度量(ABCF).

  面向对象的软件工程P463页C&K度量套件

  A.每个类的加权方法

  B.对象类之间的耦合

  C.继承树的深度

  D.类大小

  E.特例化索引

  F.方法中内聚的缺乏

  2.以下说法正确的有(BC).

  A.等价类划分和边界值分析属于白盒测试技术.

  B.基本路径测试属于白盒测试技术.

  C.在基本路径测试中,可以通过流图来计算环路复杂性.

  D.桩模块用于接收测试数据,并把数据传递给要测试的模块,然后打印相关结果.

  E.在确认测试中,测试是由用户在开发者的场所来进行,开发者对客户进行指导,是在一个受控环境下进行.

  F.可以不进行单元测试就开始集成测试,因为集成测试会发现所有的问题.

  3.下列哪些属于集成测试的内容(AB).

  A.自顶向下集成

  B.自底向上集成

  C.回归测试

  D.压力测试

  4.以下哪些内容是面向对象分析所包含的任务(ABCD).

  A.标识类(定义属性和方法)

  B.刻画类的层次关系

  C.标识对象——对象关系

  D.表示对象行为

  5.我们可以将设计模式大致划分为以下几种类型(ABD).

  A.创建型

  B.行为型

  C.变换型

  D.结构型

  6.软件产品与其它工业产品相比具有独特的开发过程,这决定了我们需要使用软件质量保证的方法学和工具面对软件质量的各种特殊的挑战.那么,软件开发过程的独特性有(ACD).

  A.软件产品的高复杂性

  B.与其它系统有接口

  C.软件产品的不可见性

  D.检测缺陷的机会只限于产品开发阶段

  E.需要协同工作

  7.测试设计员的职责有(ABC).

  A.制定测试计划

  B.设计测试用例

  C.设计测试过程,脚本

  D.评估测试活动

  8.软件工程研究的对象包括(ABE).

  A.质量

  B.过程

  C.技术

  D.数据库

  E.工具

  9.下列说法正确的是(A).

  A.管理,分析,控制现实世界中发生的事件的程序称为实时软件

  B.软件项目开发的成功,取决于工具和硬件设备的优劣

  C.我们已经建造了软件的标准和规程,我们就能生产高质量的软件产品

  D.在项目的进度告急的时候,解决办法之一就是加派人手

  10.下列选项中,属于项目管理的对象是(ABCE).

  A.人员

  B.产品

  C.过程

  D.设备

  E.项目

  11.衡量软件项目规模的参数有(ACD).

  A.代码行数

  B.项目周期

  C.文档页数

  D.功能点数量

  12.软件度量可以获得的信息包括(ABCD).

  A.软件质量

  B.软件规模

  C.软件过程改进

  D.软件性能

  13.定义风险参数的考虑有(ABCD).

  A.软件失效发生的机率

  B.软件功能复杂性

  C.软件失效产生的影响

  D.软件周期长短

  14.软件质量保证的有效方式有(ABD).

  A.软件技术评审

  B.软件项目管理

  C.安排项目计划

  D.软件测试

  15.软件配置管理的主要工作包括(AD).软件质量管理书第4章P46页

  A.版本控制

  B.质量保证

  C.配置审计

  D.变更控制

  16.下列选项中,哪些为软件基本测试策略框架(CD).

  A.白盒测试

  B.黒盒测试

  C.大爆炸测试

  D.增量式测试

  17.软件度量的基本维度有哪些(ACDE).

  A.软件大小

  B.软件缺陷

  C.软件时间

  D.软件工作量

  E.软件质量

  18.一些缺陷会破坏同级评审的成功,它们对于审查来说发生得更为普遍,在评审中需要避免下列的哪些缺陷(ABCDE).

  A.参与评审的人不了解评审过程

  B.评审过程没有被遵循

  C.合适的人没有参加评审

  D.评审会陷入对问题的解决上

  E.评审的焦点放在文档形式而不是内容本身

  19.下列哪些是软件配置管理的功能(ACDE).

  A.版本控制

  B.过程控制

  C.工作空间管理

  D.异地开发支持E.变更请求管理

  20.典型的审查包包括下列的哪些选项(ABCDE).

  A.将被审查的初始可交付产品,其中指明了需审查的部分

  B.定义了可交付产品的规格说明的所有前期的文档

  C.用于验证初始可交付产品的测试文档

  D.相关标准或其他参考文档

  E.参与者需要的所有表格,如错误清单和个人问题日志等

  21.下面哪些项是软件质量管理和项目过程的标准与模型(ACD).

  A.CMM

  B.SEI

  C.ISO

  D.IEEE

  E.SRI

  22.下列项目中哪些是软件过程改进框架的内容(ABCE).

  A.软件过程改进架构

  B.软件过程改进规划图

  C.软件过程评估方法

  D.软件过程改进环境

  E.软件过程改进计划

  23.所有的同级评审都应该遵守几项基本的原则,从而对产品质量和团队文化产生有益的影响,下列哪些是评审的指导原则(ABDE).

  A.保持小型的评审小组

  B.检查你的自负倾向

  C.努力发现问题并且解决问题

  D.会议时间限制在两小时左右

  E.正式评审需要事先准备

  24.下面哪些是辨别过程是否规范的内容(ABCDE).

  A.过程是否文档化,成员是否都已经了解过程?

  B.过程是否经过培训和实施?

  C.过程是否具有强制性?是否有相应的机制与步骤来确保其实施?

  D.过程是否有助于员工的工作?是否有相应的机制来跟踪过程的实施状况?

  E.管理者是否以团队实施过程的能力与成果为依据进行评估与管理?

  25.功能独立性是模块化和抽象以及信息隐藏的直接产物,衡量模块独立性的两个标准是(CD).

  A.求精

  B.模块可理解性

  C.内聚

  D.耦合

  26.下列哪些是面向对象设计的原则(ABCDE).

  A.单一职责原则

  B.开放-封闭原则

  C.替换原则

  D.依赖关系倒置原则

  E.接口隔离原则

  27.以下说法正确的有(BCE).

  A.等价类划分和边界值分析属于白盒测试技术.

  B.基本路径测试属于白盒测试技术.

  C.在基本路径测试中,可以通过流图来计算环路复杂性.

  D.桩模块用于接收测试数据,并把数据传递给要测试的模块,然后打印相关结果.

  E.在UML类图中,普通关联关系一般表示为在一个类中持有另外一个类的成员变量.

  F.在确认测试中,测试是由用户在开发者的场所来进行,开发者对客户进行指导,是在一个受控环境下进行.

  28.下面哪些是辨别过程是否规范的内容(ABCDE).

  A.过程是否文档化,成员是否都已经了解过程

  B.过程是否经过培训和实施

  C.过程是否具有强制性,是否有相应的机制与步骤来确保其实施

  D.过程是否有助于员工的工作,是否有相应的机制来跟踪过程的实施状况

  E.管理者是否以团队实施过程的能力与成果为依据进行评估与管理

  29.软件验收测试的合格通过准则是(AC).

  A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求.

  B.所有测试项没有残余一级,二级和三级错误.

  C.立项审批表,需求分析文档,设计文档和编码实现一致.

  D.验收测试工件齐全.

  30.软件测试计划评审会需要哪些人员参加(ABCD).

  A.项目经理

  B.SQA负责人

  C.配置负责人

  D.测试组

【软件工程师面试题小练带参考答案】相关文章:

软件测试工程师面试题03-10

软件工程师面试题目03-14

2016软件测试工程师面试题02-22

软件测试工程师面试题及答案03-11

常见软件测试工程师面试题03-10

软件测试工程师面试题及答案分享03-13

JAVA面试题小练习题3,参考答案03-15

软件测试经典面试题02-01

软件测试面试题02-11