一、 软件工程的一般知识
(1) 说说您所知道的软件开发的有关国家标准或国际标准。
(2) 一般软件项目要做哪些文档?
(3) 在您从事过的项目里,团队是如何组成的?有哪些主要开发阶段?这些开发阶段一般各占用整个开发周期的百分比是多少?
(4) 什么是基线BASELINE?

解:1.代表多个源代码文件的一组版本。 2.代表文档的一个稳定状态。3)合同基线。4.发行基线。5.产品基线。
(5) 什么是数据库的E-R图?
(6) 您做系统设计用何种工具?
(7) 谈谈您对软件工程的理解。
(8) 有时要求软件开发人员做一些客户服务工作,谈谈您对这件事的看法。
(9) 您认为一个好的软件开发人员应具有的最重要的三种素质?与性格有关吗?
(10) 如果您的项目经理安排你去做你不愿做的事,您如何处理?
(11) 如果您在一个公司工作了一段时间后,认为公司该给您加薪了,而公司却没这样做,您怎么办?
二、 UML(统一建模语言)
(1) 说说UML用哪五类图(共9种图形)来定义?

1用例图 ,2静态图 (Static diagram),3行为图(Behavior diagram),4交互图(Interactive diagram),5实现( Implementation diagram )。
(2) 什么是用例图?有何用途?

解:用例图主要的作用有三个:(1)获取需求;(2)指导测试;(3)还可在整个过程中的其它工作流起到指导作用。
(3) 序列图和协作图的主要区别在哪里?
协作图和序列图非常相似。实际上,序列图和协作图可以有效地交替使用,并可以简便的相互转换。其区别在于用户阅读和理解的方式不同。序列图具有很好的层次性,并且围绕时间构造。协作图则主要是围绕对象结构构造。通过在图中对消息进行编号可以表示消息的顺序。采用这种方式时,即使图的结构不是基于时间的,也将保持定时关系。
(4) 用UML做设计有何益处?

解:1.在语言定义方面精确程度有了相当的提高;
2.重点改进大规模的软件系统模型性能;
3.对特定领域的改进的支持;
4.全面的合并,合理化,清晰化各种不同的模型概念。
三、 VB、VC++、DELPHI
(1) 何为ACTIVEX控件?ACTIVEX文档?ACTIVEX代码部件?

解:   ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,其中主要的技术是组件对象模型(COM)。在有目录和其它支持的网络中,COM变成了分布式COM(DCOM)。在创建包括ActiveX程序时,主要的工作就是组件,一个可以自足的在ActiveX网络(现在的网络主要包括Windows和Mac)中任意运行的程序。这个组件就是ActiveX近控件。ActiveX是Microsoft为抗衡Sun Microsystems的JAVA技术而提出的,此控件的功能和JAVA applet功能类似。
如果您使用的是Windows操作系统,您或许会注意到一些以OCX结尾的文件。OCX代表“对象链接与嵌入控件”(OLE),这个技术是Microsoft提出的程序技术,用于处理桌面文件的混合使用。现在COM的概念已经取代OLE的一部分,Microsoft也使用ActiveX控件代表组件对象。
组件的一大优点就是可以被大多数应用程序再使用(这些应用程序称为组件容器)。一个COM组件(ActiveX控件)可由不同语言的开发工具开发,包括C++和Visual Basic或PowerBuilder,甚至一些技术性语言如VBScript。
目前,ActiveX控件在Windows 95/NT和Macintosh中运行,Microsoft还准备支持UNIX的ActiveX控件。
ActiveX组件包括如下几类:
1.自动化服务器:可以由其他应用程序编程驱动的组件。自动化服务器至少包括一
个,也许是多个供其他应用程序生成和连接的基于IDispatch的接口。自动化服务器
可以含有也可以没有用户界面(UI),这取决于服务器的特性和功能。
2.自动化控制器:那些使用和操纵自动化服务器的应用程序。
3.控件:ActiveX控件等价于以前的OLE控件或OCX。一个典型的控件包括设计时和运
行时的用户界面,唯一的IDispatch接口定义控件的方法和属性,唯一的
IConnectionPoint接口用于控件可引发的事件。
4.文档:ActiveX文档,即以前所说的DocObect,表示一种不仅仅是简单控件或自动
化服务器的对象。ActiveX文档在结构上是对OLE链接和模型的扩展,并对其所在的
容器具有更多控制权。一个最显著的变化是菜单的显示方式。一个典型的OLE文档的
菜单会与容器菜单合并成一个新的集合,而ActiveX文档将替换整个菜单系统,只表
现出文档的特性而不是文档与容器共同的特性。
5.容器:ActiveX容器是一个可以作为自动化服务器、控件和文档宿主的应用程序
(2) 你用过哪种有关INTERNET的控件或类?简单描述一下它能做何事?
(3) DLL是什么?

解:DLL 是一个包含可由多个程序同时使用的代码和数据的库。
通过使用 DLL,程序可实现模块化,由相对独立的组件组成。
此外,可以更为容易地将新应用于各个模块,而不会影响该程序的其他部分。
(4) 进程和线程是什么?

解:简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。

另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
线程在执行过程中与进程还是有区别的。每个独立的进程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位.
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.
一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.
(5) VB(或VC++、DELPHI如何挂接数据库)?
(6) VB和DELPHI是面向对象的还是基于对象的语言?为什么?

解:VB写出来的EXE不是真正编译的,而delphi的EXE不是真正编译的。VB。NET我没用过。
delphi有很多的第三方控件,强大的数据库功能,除了自有的数据库功能外,还有第三方的数据库控件:
如果拿.Net以前的版本和DELPHI相比,VB肯定不如DELPHI。首先它不是真正的面向对象,
不支持多线程等等,有很多方面不及DELPHI。
VB.NET我没用过,据说还是可以的,与DELPHI可以有一拼。  
(7) 什么是类的单一继承和多重继承?

解:多重继承指的是一个类别可以同时从多于一个父类继承行为与特征的功能。与单一继承相对,单一继承指一个类别只可以继承自一个父类。
(8) 什么是类的构造函数?什么是析构函数?
(9) 设计一个类时?如何实现类的属性和方法?
(10) 什么是函数重载?如何实现的?
(11) 说说您对C++指针的理解。
(12) 说说您对面向对象程序设计的理解。

四、 XML
(1) DTD(Documnet Type Definition文档类型定义) 是什么?

解:DTD 是一套关于标记符的语法规则。它是XML1.0版规格得一部分,是XML文件的验证机制,属于XML文件组成的一部分。
DTD 是一种保证XML文档格式正确的有效方法可以通过比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或符号规则。
XML文件提供应用程序一个数据交换的格式,DTD正是让XML文件能够成为数据交换的标准,因为不同的公司只需定义好标准的DTD,各公司都能够依照DTD建立XML文件,并且进行验证,如此就可以轻易的建立标准和交换数据,这样满足了网络共享和数据交互。
DTD文件是一个ASCII的文本文件,后缀名为.dtd。
(2) 数据岛是什么?

解:数据岛是指存在于HTML页面中的XML代码。数据岛允许你在HTML页面中集成XML,对XML编 写脚本,而不需要通过脚本或<OBJECT>标签读取XML。几乎所有能够存在于一个结构完整 的XML文档中的东西都能存在于一个数据岛中。包括处理指示、DOCTYPE声明和内部子集 。(注意,编码串不能放在数据岛中。)
<XML>元素标记数据岛的开始,它的ID属性提供了一个可以用来引用数据岛的名称。
数据岛的XML可以是内嵌的:

<XML ID="XMLID"> 
<customer> 
<name>Herbert Hanley</name> 
<custID>81422</custID> 
</customer> 
</XML> 
或者在XML标签中通过SRC属性引用: 
<XML ID="XMLID" SRC="customer.xml"></XML> 
也可以使用<SCRIPT>标签来创建一个数据岛: 
<SCRIPT LANGUAGE="xml" ID="XMLID"> 
<customer> 
<name>Mark Hanson</name> 
<custID>81422</custID> 
</customer> 
</SCRIPT>



五、 ASP
(1) 在ASP网页里一个客户端变量如何取一个服务器端变量的值?一个服务器端变量如何取一个客户端变量的值?
(2) 说说COOKIES的作用。

解:Cookies亦称Cookie
Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,
或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,
由Web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户ID、
密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。
从本质上讲,它可以看作是你的身份证。但Cookies不能作为代码执行,
也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的Cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。

(3) ASP调用数据库的方法?
(4) 在ASP中如何下载并使用ACTIVEX控件?如果控件没有数字签名该怎么办?
(5) 何为服务器端包含?

六、 测试及其它
(1) 什么是黑箱测试?什么是白箱测试?
(2) 什么是自动化测试?
(3) 什么是测试用例?
(4) 您认为测试工程师首要的素质是什么?
(5) 您制作过帮助文件吗?用什么工具?
(6) 您制做过安装程序包吗?用什么工具?
(7) 您用过何种源代码控制软件?CHECK IN,CHECK OUT,GET是何种操作