搜索
您的当前位置:首页正文

软件工程教师招聘题目

来源:知库网


软件工程教师招聘试讲题目

一题: 软件工程基础知识

试讲知识点(在规定时间内根据知识点将所涉及知识讲清楚):

(1)软件工程的基本原理

(2)软件生存周期的的概念和基本任务

(3)软件过程概念

(4)软件过程模型(每一种模型的特点介绍清楚)

(5)范型的概念

(6)流行的范型

软件工程教师招聘面试题目

1、 软件测试人员在软件开发过程中的任务是什么?(初级)

答:1、寻找Bug;

1

2、避免软件开发过程中的缺陷;

3、衡量软件的品质;

4、关注用户的需求。

总的目标是:确保软件的质量。

2、 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(高级)

答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。

3、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点?(中级)

答:黑盒测试的优点有:

1)比较简单,不需要了解程序内部的代码及实现;

2)与软件的内部实现无关;

2

3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;

4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;

5)在做软件自动化测试时较为方便。

黑盒测试的缺点有:

1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;

2)自动化测试的复用性较低。

白盒测试的优点有:

帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。

白盒测试的缺点有:

1)程序运行会有很多不同的路径,不可能测试所有的运行路径;

2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;

3)系统庞大时,测试开销会非常大。

3

4、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)

答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。软件测试一般分为单元测试、集成测试和系统测试。

5、 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?(中级)

答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。

6、什么是软件质量保证?软件质量保证人员与开发人员的关系如何?(中级)

答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题

7、常见面向对象语言必须要学习的内容有哪些?JAVA语言的三种平台体系的英文缩写是什么?(中级)

4

语言的开发环境、数据类型、运算符与表达式、流程控制、方法、数组与字符串、类与对象、构造方法、重载、继承、接口、异常处理、输入输出、多线程、界面设计、数据库处理、网络联接等。

JAVA语言的三种平台体系:J2SE J2ME J2EE

8、类的核心特性有哪些?类与对象有什么区别?(中级)

类具有封装性、继承性和多态性。

封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。

继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部成员。

多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

类与对象有什么区别:

类:类就是某一种事物的一般性的集合体,是相同或相似的各个事物共同特性的一种抽象。

5

对象:在面向对象概念中,对象(Object)是类的实例(instance)。对象与类的关系就像变量与数据类型的关系一样。

9、你对MVC的理解?软件中的中间件是什么?(高级)

答:MVC设计模式(应用观察者模式的框架模式)

M: Model(Business process layer),模型,操作数据的业务处理层,并独立于表现层(Independent of presentation)。

V: View(Presentation layer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。

C: Controller(Control layer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图

中间件:

就是程序中可织入的,可重用的,与业务逻辑无关的各种组件。

中间件(middleware)是基础软件的一大类,属于可复用软件的范畴。顾名思义,中间件处于操作系统软件与用户的应用软件的中间。中间件在操作系统、网络和数据库之上,应用软件的下层,总的作用是为处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。

6

在众多关于中间件的定义中,比较普遍被接受的是IDC表述的:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。

分类:数据访问中间件,远程调用中间件,消息中间件,交易中间件,对象中间件。

举例:

(1),RMI(Remote Method Invocations, 远程调用)

(2),Load Balancing(负载均衡,将访问负荷分散到各个服务器中)

(3),Transparent Fail-over(透明的故障切换)

(4),Clustering(集群,用多个小的服务器代替大型机)

(5),Back-end-Integration(后端集成,用现有的、新开发的系统如何去集成遗留的系统)

(6),Transaction事务(全局/局部)全局事务(分布式事务)局部事务(在同一数据库联接内的事务)

(7),Dynamic Redeployment(动态重新部署,在不停止原系统的情况下,部署新的系统)

7

(8),System Management(系统管理)

(9),Threading(多线程处理)

(10),Message-oriented Middleware面向消息的中间件(异步的调用编程)

(11),Component Life Cycle(组件的生命周期管理)

(12),Resource pooling(资源池)

(13),Security(安全)

(14),Caching(缓存)

10、操作系统中堆和栈的区别(内存分配)(中级)

程序占用的内存分为以下几个部分

(1)、栈区(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

(2)、堆区(heap): 一般由程序分配释放, 若程序不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。

8

(3)、全局区(static): 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。

11、进程和线程的概念及差别。(中级)

进程是操作系统结构的基础;是一个正在执行的程序;计算机中正在运行的程序实例;可以分配给处理器并由处理器执行的一个实体;由单一顺序的执行显示,一个当前状态和一组相关的系统资源所描述的活动单元。

线程是指进程内的一个执行单元,也是进程内的可调度实体。

区别:

(1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位

(2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行

(3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于 进程的资源.

(4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。

9

12、什么是计算机网络,网络按地域范围分类分成哪几种,说出计算机网络OSI参考模型的分层情况。(中级)

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

局域网、城域网、广域网

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。 10

因篇幅问题不能全部显示,请点此查看更多更全内容

Top