软件开发笔试题合集

软件开发笔试题合集
软件开发笔试题合集

.net软件开发笔试题

选择题

1:Which of the following operations can you NOT perform on a n https://www.360docs.net/doc/ca8087086.html, DataSet?

A.A DataSet can be synchronised with a RecordSet.

B.A DataSet can be synchronised with the database.

C.A DataSet can be converted to XML.

D.You can infer the schema from a DataSet

2:如果设treeView1=new TreeView(),TreeNode node=new TreeNode ("根结点" ),则treeView1.Nodes.Add(node)返回的是一个 ()类型的值。

A.TreeNode

B.int

C.string

D.TreeView

3:public static void Main(string[] args)

{

int i = 2000;

object o = i;

i = 2001;

int j =(int) o;

Console.WriteLine("i={0},o={1}, j={2}",i,o,j);

}

A.i=2001,o=2000,j=2000

B.i=2001,o=2001,,j=2001

C.i=2000,o=2001,,j=2000

D.i=2001,o=2000,j=2001

4:假定a和b为int型变量,则执行下述语句组后,b的值为

a=1;

b=10;

do

{

b-=a;

a++;

} while (b--<0);

A.9

B.-2

C.-1

D.8

5:声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是

A.void myCallBack(int x)

B.int receive(int num)

C.string receive(int x)

D.不确定的

6:在C#中利用Socket进行网络通信编程的一般步骤是:建立Socket 侦听、( )、利用Socket接收和发送数据。

A.建立Socket连接

B.获得端口号

C.获得IP地址

D.获得主机名

7:设有变量说明语句int a=1,b=0;

则执行以下程序段的输出结果为( )。

switch (a)

{

case 1:

switch (b)

{

case 0:printf("**0**");break;

case 1:printf("**1**");break;

}

case 2:printf("**2**");break;

}

printf(" ");

A.**0**

B.**0****2**

C.**0****1****2**

D.有语法错误

8:以下的C程序代码片段运行后C和d的值分别是多少

Int a =1,b =2;

Int c,d;

c =(a&b)&&a;

d =(a&&b)&a;

A.0,0

B.0,1

C.1,0

D.1,1

9:In Object Oriented Programming, how would you describe enc apsulation?

A.The conversion of one type of object to another.

B.The runtime resolution of method calls.

C.The exposition of data.

D.The separation of interface and implementation.

10:如下程序的运行结果是:

public abstract class A

{

public A()

{

Console.WriteLine(''A'');

}

public virtual void Fun()

{

Console.WriteLine("A.Fun()");

}

}

public class B: A

{

public B()

{

Console.WriteLine(''B'');

}

public new void Fun()

{

Console.WriteLine("B.Fun()");

}

public static void Main()

{

A a = new B();

a.Fun();

}

}

A.A B A.Fun()

B.A B B.Fun()

C.B A A.Fun()

D.B A B.Fun()

11:Which of these string definitions will prevent escaping o n backslashes in C#?

A.string s = #”n Test string”;

B.string s = “’n Test string”;

C.string s = @”n Test string”;

D.string s = “n Test string”;

12:关于https://www.360docs.net/doc/ca8087086.html,中的代码隐藏文件的描述正确的是:

A.Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件

B.项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件

C.项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件

D.以上都不正确

13:class Class1

{

public static int Count = 0;

static Class1()

{

Count++;

}

public Class1()

{

Count++;

}

}

Class1 o1 = new Class1();

Class1 o2 = new Class1();

请问,Class1.Count的值是多少?

A.1

B.2

C.3

D.4

14:以下描述错误的是:

A.在C++中支持抽象类而在C#中不支持抽象类。

B.C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。

C.在C#中可使用 new 修饰符显式隐藏从基类继承的成员。

D.在C#中要在派生类中重新定义基类的虚函数必须在前面加Overrid e。

简答题

15:.NET里的哪一项技术能够实现out-of-proc通讯?

16:什么是ViewState? 它是否被编码过? 是否被加密过?谁会使用Vie wState?

17:下面的代码有什么问题?

char *_strdup( const char *strSource )

{

static char str[MAX_STR_LEN];

strcpy(str, strSource);

return str;

}

18:解释virtual、sealed、override和abstract的区别

19:设有一个顺序表A,包含n个元素,要求写出一个将该表逆置的算法,并只允许在原表的存储空间少再加一个附加的工作单元。

20:公元4046年,人类科学高度发达,绝大部分人都已经移居至浩瀚的宇宙,在上千颗可居住的星球上留下了人类的印记。然而,此时人类却分裂成了两个联盟:正义联盟和邪恶联盟。两个联盟之间仇恨难解,时有战争。

现在,邪恶联盟通过不正当贸易积聚了大量宇宙财富。因此,正义联盟计划要破坏邪恶联盟的非法贸易网络,从而影响邪恶联盟的经济状况,为下一次战争作好准备。邪恶联盟由数百颗星球组成,贸易通过星球间的运输航道来完成。一条运输航道是双向的且仅连接两个星球,但两个星球之间可以有多条航道,也可能没有。两个星球之间只要有运输航道直接或间接的相连就可以进行贸易。正义联盟计划破坏邪恶联盟中的一些运输航道,使得邪恶联盟的星球分成两部分,任一部分的星球都不能与另一部分的星球进行贸易。但是为了节省破坏行动所需的开支,正义联盟希望破坏尽量少的运输航道来达成目标。请问正义联盟最少需要破坏多少条运输航道呢?

21:设计一函数,求整数区间[a,b]和[c,d]的交集。

22:在一个正整数序列中求和最大的非相邻子序列(序列任两元素在原序列里都不相邻)

23:书写用户控件TestCtl,要求有属性A和事件void B()

24:用 100 元钱买 100 支笔,其中钢笔 3 元 / 支,圆珠笔 2 元 / 支,铅笔 0.5 元 / 支,问钢笔、圆珠笔和铅笔可以各买多少支 ?

25:求出 10 到 100 之间的素数(只能被 1 和自身整除的数)并以每行一个素数的格式顺序写入文件 su.dat 。

1、试分析下面的SQL语句的优劣,并用另外的方法实现。

(1) Select * from empe where e.No in (select a. No from amp a )

Select * from empe e where NOT EXISTS (Select a.No from amp a where e.NO=a.No)

(2) select * from emp e, anp a where e. No=a. No

2、用Decoole 重写下面的socl 语句

SELECT COUNT(*),SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 AND ENAME LIKE…SMITH%?; select count(*),sum(sal) from emp where dept_no = 0030 and ename like…smith%?;

select count(decode(dept_no,0020,?x',null)) d0020_count,

count(decode(dept_no,0030,?x',null)) d0030_count,

sum(decode(dept_no,0020,sal,0)) d0020_sal,

sum(decode(dept_no,0030,sal,0)) d0030_sal

from emp where ename like …smith%?;

3、下面哪几种SQL不好。2,4,5

(1) update 语句(2)in语句(3)子查询(4)多查等值查询(5)笛卡尔乘积

4、请造出下列哪3种命名正确A,B,D

A、ASD

B、$abc

C、const

D、_asd

E、3_asd

5、texarea java (1)写出文件名(2)补充代码

6、型转换

example:

public String getValue(Object a,Object b){}

当下列方法调用时将出现何种异常,如何修正

String c=new String(“aaa”);

int d =123;

my.getValue(c,d);

(1) Integer d=new Integer(123);

(2) My.getValue(c,(String)d);

7、在JSP上显示Araylist中的元素

姓名

序号

8、解释

beam:远程接口的具体实现

Home:管理和创建远程对象

Romate:提供给用户的远程接口

9、解释Javabean与EJB的区别

10、SeSS?on bean与Entitybean区别

11、解释Commend、DAO模式,试举例说明。

Command定义

不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作,将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是Command模式,换句话说,本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用Command模式,就是在这两者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,基本没有关系了.

显然这样做的好处是符合封装的特性,降低耦合度,Command是将对行为进行封装的典型模式,Factory是将创建进行封装的模式,

从Command模式,我也发现设计模式一个”通病”:好象喜欢将简单的问题复杂化,

喜欢在不同类中增加第三者,当然这样做有利于代码的健壮性可维护性还有复用性.

如何使用

具体的Command模式代码各式各样,因为如何封装命令,不同系统,有不同的做法.下面事例是将命令封装在一个Collection的List中,任何对象一旦加入List中,实际上装入了一个封闭的黑盒中,对象的特性消失了,只有取出时,才有可能模糊的分辨出:

典型的Command模式需要有一个接口.接口中有一个统一的方法,这就是”将命令/请求封装为对象”:

程序代码:

public interface Command {public abstract void execute ( );}

//具体不同命令/请求代码是实现接口Command,下面有三个具体命令

程序代码:

public class Engineer implements Command {

public void execute( ) {//do Engineer?s command}

}

public class Programmer implements Command {

public void execute( ) {//do programmer?s command}

}

public class Politician implements Command {

public void execute( ) {//do Politician?s command}

}

按照通常做法,我们就可以直接调用这三个Command,但是使用Command模式,我们要将他们封装起来,扔到黑盒子List里去:

程序代码:

public class producer{

public static List produceRequests() {

List queue = new ArrayList();

queue.add( new DomesticEngineer() );

queue.add( new Politician() );

queue.add( new Programmer() );

return queue; }

}

这三个命令进入List中后,已经失去了其外表特征,以后再取出,也可能无法分辨出谁是Engineer

谁是Programmer了,看下面如何调用Command模式:

程序代码:

public class TestCommand {

public static void main(String[] args) {

List queue = Producer.produceRequests();

for (Iterator it = queue.iterator(); it.hasNext(); )

//取出List中东东,其他特征都不能确定,只能保证一个特征是100%正确,// 他们至少是接口Command的”儿子”.所以强制转换类型为接口

Command((Command)it.next()).execute();

}

}

DAO:

由此可见,调用者基本只和接口打交道,不合具体实现交互,这也体现了一个原则,面向接口编程,这样,以后增

加第四个具体命令时,就不必修改调用者TestCommand中的代码了.

12、谈一下对“保障软件质量”的理解。

有效的软件质量管理

一、引言

随着社会信息化水平的不断提高,信息行业急速膨胀,信息企业快速成长,随之带来的信息市场竞争激烈,企业为了求生存,满足客户要求则成为各行各业的首要责任。依赖于质量、成本和进度的客户满意度,质量则是重点支撑之一,这样要求我们对质量管理需要加强认识。我们都知道pmbok把项目管理划分为9个知识领域,即范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。质量管理作为9大知识领域之一,可见其重要性。

质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。

二质量管理责任分配

我们公司在开发项目上按照规范化软件的生产方式进行生产,在生产流程上采用ISO9000的标准进行。每个项目除配备了项目开发所需角色外,还专门配备了配置管理小组、测试小组和质量保证小组确保质量管理的实施,下面针对这三种角色进行说明:

1、配置管理小组职责

配置管理小组是保证项目开发完毕的同时,内部文档和外部文档都同时完成。内部文档的及时产生和规范,是保证项目开发各小组能够更好的接口和沟通的重要前提,从另一个方面讲,也是保证工程不被某个关键路径所阻塞而延滞的前提。如上所述,配置管理小组还是保证质量保证小组得以发挥作用的基础。配置管理小组的主要职责包括:完善各个部门发送需要存档和进行版本控制的代码、文档(包括外来文件)和阶段性成果;对代码、文档等进行单向出入的控制;对所有存档的文档进行版本控制;提供文档规范,并传达到开发组中。

2、测试小组职责

测试小组作为质量控制的主要手段,负责软件的测试设计和执行工作。如同软件开发一样,测试在执行之前,同样需要进行测试计划和测试策略的设计,通常情况下测试可以分为如下几种类型,如:正确性测试、功能性测试、性能测试、安全测试和系统测试等。而这些测试均需要在测试计划和测试策略中进行描述用以指导测试小组成员进行测试用例编写和测试执行。程序员在交给测试人员之前是进行过一定的单元测试,确保程序编译、运行正确。

测试人员根据详细设计的文档对软件要实现的功能进行一一测试,保证软件的执行正确的实现设计要求,在此也只证明了软件正确的反映了设计思想,但是否真正反映了用户的需求仍需要进一步的功能性测试。

测试人员只有根据软件需求规格说明书所提及的功能进行检测,才能确保项目组开发的软件产品满足用户需求。在正确性测试完成之后,需要测试的是软件的性能,软件的性能在本项目中占有重要的地位,性能要求有可能改变软件的设计,为避免造成软件的后期返工,测试在性能上需要较大的侧重。如果有必要的话,测试小组还需要做安全测试,以确保系统使用安全可靠。

3、质量保证小组职责

质量保证小组作为质量保证的实施小组,主要职责是保证软件透明开发的主要环节。在项目开发的过程中几乎所有的部门都与质量保证小组有关。质量保证小组对项目经理提供项目进度与项目真正开发时的差异报告,提出差异原因和改进方法。

在项目进度被延滞或质量保证小组认为某阶段开发质量有问题时,提请项目经理、项目负责人等必要的相关人员举行质量会议。解决当前存在的和潜在的问题。质量保证是建立在文档的复审基础之上,因而文档版本的控制,特别是软件配置管理,直接影响软件质量保证的影响力和力度。质量保证小组的检测范围包括:系统分析人员是否正确的反映了用户的需求;软件执行体是否正确的实现了分析人员的设计思想;测试人员是否进行了较为彻底的和全面的测试;配置管理员是否对文档的规范化进行的比较彻底,版本控制是否有效。

三质量管理实施

有了良好的资源配备,又如何在项目全生命周期内实施质量保证,让我们从以下几个方面来看质量保证的实施过程:

1、项目进度的质量保证

项目进度是项目进行是否顺利的最直观表现。显然在项目开始之前,项目开发计划是必须的。如果项目开发计划的制定的是完全合理的,那项目进度也就真正表达了项目与最终的交付使用之间的距离,然而要制定完全合理的项目开发计划几乎不太可能。可见要保证项目进度,首先要保证项目开发计划尽可能合理。项目计划的合理程度与项目计划制定者从事类似规模和类似业务的项目的经验有直接关系,通过经验往往能够预见潜在的阻碍,这样要求项目计划制定者需要集众人之力来完善计划。

当项目计划制定初期,由质量保证小组组织召开的项目计划评审会,邀请公司技术专家、用户以及项目组小组成员一起讨论项目计划的可行性,会议通常采用头脑风暴法,各抒己见,会后由指定的记录员形成质量记录,发送给相关人员,对其计划中不合理的地方进行修改完善,并由质量保证人员对其结果跟踪,以确保项目计划完整性、可行性,完善后的计划交由配置管理人员进行版本控制。

然而在计划实施过程中,计划不是“固定化”。常有人道,“计划赶不上变化”,但“要跟上变化”。项目计划以里程碑为界限,将整个开发周期划分为若干阶段。根据里程碑的完成情况,适当的调整每一个较小的阶段的任务量和完成的任务时间,这种方式非常有利于整个项目计划的动态调整。也利于项目质量保证的实施。实际运作中,当质保小组发现计划实施的差异后,报告项目经理,由项目经理组织负责对计划进行周期性维护,对于已经变动的计划由质保小组协助配置管理小组完成版本控制。本公司已经开发湖南移动的集中客服系统,开发中的子项目多达六个,历时十个月,目前多数项目已经开发完毕,系统正在试运行阶段,项目金额数千万元。在这样的项目中,从管理者到开发人员到测试人员都积累了较为丰富的经验,特别是项目开发计划的制定,和项目进度的控制。

2、项目开发各阶段的质量保证

a、需求分析

需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。

解决系统分析错误的方法我们公司通常采用邀请用户参与进行需求评定,然后对其用户的意见由质保成员跟踪检测是否纳入需求规格说明书,同时与用户签字确认形成需求基线,交由配置管理员放入配置管理库。虽然尽早的邀请用户参与,仍然避免不了项目进行中用户的需求变更请求。对于开发过程存在的需求变动,我们要求用户填写变更申请单发送给项目配置管理员,在通过配置配置员转交质保小组,负责组织专家小组和项目组成员一起讨论实施变更的可行性及实施后所带来的影响,小的变更则直接记录入变更记录原因分析项和风险项栏,大的变更则需要形成正式的变更报告,无论那种变更都需要对相应的文档实施同步变更(包括需求规格说明书、详细设计文、安装手册、操作手册等)。但是对于无法实现或是变更会带来巨大的影响而将导致进度的延期,这时,我们将变更报告提交给用户或邀请用户进行协调会议,讨论变更取舍问题或是项目进度变更问题。

决定变更之后,由项目经理组织实施变更,测试人员检测变更结果,而质保小组成员监督变更实施过程并协助配置管理员对变更后的成果物进行版本控制。变更实施完后,上线前还需要指定人员协助用户一同测试并由用户签字后同意方可上线。

b、系统设计

优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法,自然设计选型成为了系统设计首要的工作,究竟是采用哪种设计方法好呢?

对于设计选型不能一概而论,需要针对项目的结构、项目的特征和用户的需求来分析,同样也要考虑到参与项目小组成员的素质,如果其中大部分都没有从事过面向对象的设计且项目进对紧迫,这样没有多余的时间来培训小组成员来掌握面向对象的设计方法,尽管众所周知面向对象设计方法的优势,我们还是不如采用面向过程的方式(除用户指定开发设计方式外)可以减少项目承担的技术风险。

我们公司有过一个项目,用户指定需要采用面向对象分析、设计和开发,且开发周期短,在无赖的情况下,项目小组只能选用面向对象的软件开发过程,由于项目小组很少从事过面向对象的开发,经验缺乏,导致项目上马后项目进度延误,项目没有达到预期的效果。

针对此次开发,我们分析其原因,发现小组成员在开发过程中对于新技术互相交流少,各自有各自的理解和想法,造成理解上的不一致性,导致工作重复性高,滞后项目进度。建议解决方法是项目组成员采用集中办公,分块学习,学习的成果马上向项目相关人员发布,再由配置管理员对其发布的文档进行整理、规类放入配置库以供大家共享。这样方便大家的互相学习,减少重复的工作。在这次开发中我们公司从管理人员、设计人员到开发人员都汲取了很多教训,同时经过此次项目的开发,小组成员也积累了丰富的面向对象的开发经验。

除设计选型,还有一个容易被忽视的问题,就是公共类开发。公共类开发可以减少工作中的重复工作,降低开发成本。这要求我们再设计阶段通过对用户需求的仔细研究,尽可能的识别出公共类,并进行定义指定专人负责设计通知其它设计人员,以减少重复工作。对于项目组提供的设计文档,由质保小组组织技术专家、项目组设计人员、开发人员和测试人员对其设计文档的评审,检测设计文档对其下一阶段工作的可行性,及时发现设计中可能存在的错误,降低项目开发风险,同时确保设计文档能为开发人员、测试人员提供切实的指导。对于可复用的设计进行提取作为公共库设计和开发,提供项目组或整个公司重用。最后交由配置管理员进行设计文档的版本控制。

c、实现

实现也就是代码的生产过程。这里不仅包括代码的产生,同时也包括测试用例的产生。针对上一阶段提供详细设计,程序员开始编码并且调试程序,测试人员则根据设计进行测试用例的设计,设计出来的用例需要得到项目组成员认可由项目经理审核通过才能进入配置库。同时程序员调试完程序提交测试人员进行程序正确性检测。

d、文档管理

文档维护主要是配置管理小组的工作。文档从用途上分主要分为内部文档和外部文档。

内部文档包括:项目开发计划;需求分析;体系结构设计说明;详细设计说明;构件索引;构件成分说明;构件接口及调用说明;组件索引;组件接口及调用说明;类索引;类属性及方法说明;测试报告;测试统计报告;质量监督报告;源代码;文档分类版本索引;软件安装打包文件。

外部文档主要包括:软件安装手册;软件操作手册;在线帮助;系统性能指标报告;系统操作索引。如何保证文档的全面性,使其真正为项目的进度提供保证,又不因为文档的写作而耽误项目的进度,这仍然是一个比较难解决的问题。解决此问题,其核心仍然是个”度”的问题。在本项目的开发中,配置管理小组的一个非常重要的任务还是书写文档规范和文档模板。当有文档模板后需要书写文档的人员只剩下”填空”的工作,从某种意义上讲,书写文档的速度会加快。如果书写文档的人员认为文档的更细致的部分可以由他人帮助完成,则该文档即交由他人完成,但此时文档并不算被正式提交,当他人书写完毕之后,必须由文档的初写者进行复审,复审通过后方可以正式提交,进入软件配置管理的循环中。

配置管理小组真正核心的工作是对文档的组织管理。根据文档的不同,文档的来源也不同,有些是通过质量保证小组经过复审之后转交给配置管理小组,有些则会直接从文档的出处到达配置管理小组。文档的管理是一个非常烦琐的工作,但是长远来看它不仅使项目的开发对单个主要人员的依赖减少,从而减少人员流动给项目的带来的风险,更重要的是在项目进行到后百分之十的时候起到拉动项目的作用。

从以往做大项目的经验来看,写作文档在项目开发的早期可能会使项目的进度比起不写文档要稍慢,但随着项目的进展,各个部门需要配合越来越多,开发者越来越需要知道其他人员的开发思路和开发过程,才能使自己的开发向前推进。一个明显的例子就是系统整合,或者某些环节是建立在其他环节完成的基础之上时,就更显现出文档交流的准确性和高效性。

3、系统维护质量保证

在我们公司,维护小组的任务一方面是保证对项目客户的跟踪服务,另一方面是确保该项目其它的开发人员从项目中尽快的解脱出来以便投入到下一个项目的开发中。所以通常项目维护小组成员主要由项目组的少部分开发人员承担完成。他们不仅了解软件的核心内容,而且与客户也不陌生,以便能够以最快的速度修正错误。对于一般性的错误,如操作不当等引起的问题,全部由维护小组执行完成,但需要用户测试确认上线。如果较大的修改则需要走变更控制流程,用户或者维护人员填写变更申请,经专家会议讨论分析可行方案在由维护小组实施,通过测试后方可提交用户。

维护小组的人员基本上是按项目跟进的。当一个项目刚刚交付用户时,在维护小组有较多的人员进行跟进,随软件的稳定,跟进的人逐步减少,并转移到其它项目中去。

13 3.给出一个MVC结果图,请简单用文字对他进行一次前后台交互的描述。(这个图你去找啦)

14 PowerDesigner

15 项目经验

16 三层结构的理解

一、数学能力(1)

1.元帅领兵

元帅统领八员将,每将各分八个营,每营里面摆八阵,每阵配置八先锋,每个先锋八旗头,每个旗头有八队,每队分设八个组,每组带领八个兵。请你掐指算一算,元师共有多少兵?

2.运算符号的妙用

在1、2、3、4、5、6、7、8、9这一串数字中间,加入运算符号“+”或“-”,使其代数和等于99,按(1 ……

9)可以有17种解,倒过来的后者(9 …… 1)可以有11种解。有兴趣的读者,不妨一试。

3.两龟赛跑

有两只乌龟一起赛跑。甲龟到达10米终点线时,乙龟才跑到9米。现在如果让甲龟的起跑线退后1米,这时两龟再同时起跑比赛,问甲、乙两龟是否同时到达终点?

4.电视机的价格

麦克因工作繁忙,决定临时请尼克来协助他工作。规定以一年为期限,一年的报酬为600美元与一台电视机。

可是尼克做了7个月后,因急事必须离开麦克,并要求麦克付给他应得的钱和电视机。由于电视机不能拆散付给他,结果尼克得到了150美元和一台电视机。

现在请你想一想:这台电视机值多少钱?

5.这块石头究竟有多重

有4个小孩看见一块石头正沿着山坡滚下来,便议论开了。

“我看这块石头有17公斤重,”第一个孩子说。

“我说它有26公斤,”第二个孩子不同意地说。

“我看它重21公斤”,第三个孩子说。

“你们都说得不对,我看它的正确重量是20公斤,”第四个孩子争着说。

他们四人争得面红耳赤,谁也不服谁。最后他们把石头拿去称了一下,结果谁也没猜准。其中一个人所猜的重量与石头的正确重量相差2公斤,另外两个人所猜的重量与石

头的正确重量之差相同。当然,这里所指的差,不考虑正负号,取绝对值。请问这块石

头究竟有多重?

6.三只砝码称东西

现在有三种不同重量的标准砝码1克、3克、9克。请问可以称出多少不同物品的重量

?在进行称量时,要称的东西与已知的标准砝码可以任意地放在天平的两盘之一。另外

,每种砝码都只有一只,而且不准复制。

7.称米

现有米9公斤以及50克和200克的砝码各一个。问怎样在天平上只称量三次而称出2公斤米?

8.比萨饼交易

在我最喜欢的那家比萨饼店中,10寸的比萨卖4.99美元。店主说,他们有一笔12寸

比萨饼的交易,定价为每份5.39美元。请问:该店在这笔比萨饼交易中给予了买方多少

折扣?

平安银行软件开发笔试题

平安银行软件开发笔试题

1、做过的项目中,你认为有哪里亮点?举例说明。 2、项目中遇到冲突问题,你是怎么处理的? 3、举例说明。 4、String和StringBuffer的区别? String是final类,不能被继承,一旦创立,不能修改它的值。 StringBuffer是可变类,对字符串的操作效率比String高。 5、线程安全是怎么回事?java是怎么解决线程安全 的? 线程安全是为了解决资源冲突,防止死锁的发生,java中用synchronized解决,具体有:同步对象、同步代码块、同步方法。 6、Java中异常处理机制的关键字? Throws、throw、try、catch、finally。 7、java中有哪里基础数据类型?String是不是java基础数据类型? byte、short、int、long、float、double、char、boolean。不是。 8、javascript怎么获取一个对象的值,这个对象是个 数组,也就是有多个同名的对象。例:

Var ids=document.getElementsByName(‘report_id’); 9、sql中select语句中group by在order by之前还是 之后? 之前 10、sql中查询用了group by,对分组后的条件进行过 滤,用哪个关键字? Having 11、索引的作用?创立索引有哪些注意事项? 提高查询效率。 创立索引时应该考虑该字段修改,删除的是否频繁、不要建立重复索引等。 12、如何优化SQL? 如:SQL索引优化、调整表的使用顺序,调整查询条件的先后顺序等。 13、写一个sql语句,查询二月份工资最高的人。如:表结构: T1(id,name),T2(id,salary,month)

软件测试工程师笔试题及答案

测试工程师笔试题 一、计算机知识(30分) 1、在Linux系统中,一个文件的访问权限是755,其含义是什么 参考答案: 755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。 2、Linux中,如何从root用户切换到普通用户 参考答案:su su user1 切换到user1,但切换后的当前目录还是root访问的目录 su – user1 切换到user1,并且当前目录切换到user1的根目录下(/home/user1/) 3、简述一下C/S模式和B/S模式的区别 参考答案: c/s 是客户端/服务器架构 b/s 是浏览器/服务器架构 C/S模式有以下特点: S模式将应用与服务分离,系统具有稳定性和灵活性 S模式配备的是点对点的结构模式,适用于局域网,有可靠的安全性 3.由于客户端实现与服务器端的直接连接,没有中间环节,因此响应速度快 4.在C/S模式中,作为客户机的计算机都要安装客户机程序,一旦软件系统升级,每台客户机都要安装客户机程序,系统升级和维护较为复杂 B/S模式有以下特点: 1.系统开发、维护、升级方便 每当服务器应用程序升级时,只要在服务器上升级服务应用程序即可,用户计算机上的浏览器软件不需要修改,系统开发和升级维护方便 S模式具有很强的开放性 在B/S模式下,用户通过通用的浏览器进行访问,系统开放性好 S模式的结构易于扩展 由于Web的平台无关性,B/S模式的结构可以任意扩展,可以从包含一台服务器和几个用户的小型系统扩展成为拥有成千上万个用户的大型系统 4.用户使用方便 B/S模式的应用软件都是基于Web浏览器的,而Web浏览器的界面是类似的。对于无用户交换功能的页面。用户接触的界面都是一致的,用户使用方便 4、Windows操作系统中PATH环境变量的作用是什么 参考答案: PATH是Windows操作系统环境变量,PATH作用是用户在命令行窗口执行一个命令,则在PATH变量设置的目录下依次寻找该命令或对应的执行文件,若找到,则执行,若没有找到,则命令行窗口返回无效命令。 5、TCP和UDP有什么区别 参考答案: TCP-有连接,所以握手过程会消耗资源,过程为可靠连接,不会丢失数据,适合大数据量交换UDP-非可靠连接,会丢包,没有校验,速度快,无须握手过程

程序员笔试题浪潮软件研发B卷

程序员笔试题浪潮软件 研发B卷 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

浪潮软件研发B卷(60分钟)注:对于有C和JAVA选择的试题,考生可以选择其中一种解答,请在答题卡中标明。即选择C语言试题解答,则解答的JAVA试题不计分;选择JAVA语言,解答的C语言试题不计分。 一、填空题,共52分,每空2分 1.在计算机中,最适合进行数字加减运算的数字编码是____,最适合表示浮点数阶码的数字编码是______。 2.如果主存容量为16M字节,且按字节编址,表示该主存地址至少应需要__位。 3.中断响应时间是指_______从发出中断请求到进入中断处理所用的时间 4.表达式a*(b+c)-d的后缀表达形式为_________。 5.若二叉树的先序遍历序列为ABDECF,中序遍历序列DBEAFC,则其后序遍历序列为____________。 6.以比较为基础的排序算法在最坏情况下的计算时间下界为________。 7.若广义表L=((1,2,3)),则L的深度为______。 8.某双向链表中的结点如下图所示,删除t所指结点的操作为 ________。 t prior data ……

next 9.在_____存储结构中,数据结构中元素的存储地址与其关键字之间存在某种映射关系。 10.在TCP/IP网络中,为各种公共服务保留的端口号范围是_____。 11.OSI传统7层指的是:物理层、数据链路层、_____、传输层、话路层、_____和应用层。 12.关系模式R(U,F),其中U=(W,X,Y,Z),F={WX→Y,W→X,X→Z,yVw}。关系模式R的候选码是_______,_____是无损连接并保持函数依赖的分解。 13.软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定_____。 14.常见的软件开发模型有瀑布模型、演化模型、螺旋模型、喷泉模型等。其中______模型适用于需求明确或很少变更的项目,______模型主要用来描述面向对象的软件开发过程。 15.在UML提供的图中,______用于描述系统与外部系统及用户之间的交互;______用于按时间顺序描述对象间的交互。 【C语言】: 16.设有定义语句int(*f)(int);则f是____________。 17.函数调用语句:func(f2(v1,v2),(v3,v4,v5),(v6,max (v7,v8)))中func函数的实参个数是____________。 19.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为____________。

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

Java软件开发工程师笔试题(答案)

Java软件开发工程师笔试题(答案) Java工程师笔试题 1,填空(此大题10项,每空1分,共20分) 1。Java语言的三个特性是继承性、封装性和多态性2.在Java中,char 使用_ _ _ _ Unicode _ _ _ _ _ _编码方案,因此中文字符和英文字符都占用__2__字节的内存空间 3。当方法由_ _定义时,形参指的是参数行,当方法由_ _调用时,实际参数是传入的变量或值。 4。JSP内置对象,应用程序对象代表应用程序上下文,它允许JSP 页面与包含在同一应用程序中的任何网络组件共享信息,而会话对象是特定于每个客户的 5。如果你想把一个对象写到一个流中,这个类必须实现Seralizable 接口 6。在程序中实现多线程有两种方法:继承线程类和实现_ _ Runable _ interface 7。在多线程中,线程的相对优先级可以通过调用相应的setPriority()方法来修改 8。面向对象编程的五个设计原则是单一责任、开放和封闭、里氏尺度替换、依赖倒置、接口分离。通过Ajax,客户端获取的数据主要有两种类型:文本类型和xml 10。Socket通常也叫socket,用来描述__ ip和_ _ interface 2,多项选择题(这个大题20项,每项2分,共40分)

1。在JA V A中,如果父类中的一些方法不包含任何逻辑并且需要被子类重写,那么父类的这些方法应该使用()关键字来声明:a)final b)static c)abstract d)void 2。在JA V A中,已经定义了两个接口b和c。要定义实现这两个接口的类,下面的语句是正确的() a)接口aextend b,c b)接口a implements b,c c)类a mplements b,c d)类a mplements b,实现c 3。可以在JA V A接口()中定义 A)静态方法b)常量c)构造函数d)抽象方法 4。假设A有构造函数A (int a),那么在A类的其他构造函数中调用的构造函数和语句格式应该是() a)a(x)b)this . a(x)c)this(x)d)super(x) 5。如果x = 1,y = 2,z = 3,表达式y+= z-/++x的值为()a)3b)3.5°c)4d)5 6。下列关于继承的陈述中哪一个是正确的?( )a)子类只继承父类的公共方法和属性:b)子类继承父类的非私有属性和方法: C)子类继承父类的方法,但不继承父类的属性:d)子类继承所有的属性和方法。 7。在爪哇。使用JDBC时对于对同一个SQL语句的多次调用,使用()通常会提高效率 a)语句b)可调用语句c)准备语句d)prarmeters语句8。以下方法无法控制Servlet的生命周期:a)服务b)销毁c) dopost d) init9。可以分配给字节变量的值的范围是()0 ~ 65535 b) (-128) ~ 127 c) (-32,768) ~ 32,

(完整版)软件开发人员招聘笔试试题

2002年度软件开发人员招聘笔试试题应聘者资料: 试题一:基础知识

1、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。 假设某计算机具有1M 字节的内存(目前使用的计算机往往具有64M字节以上的内存),并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制_A_位。为使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,一个字的地址码应_B_。若存储周期为200NS,且每个周期可访问4个字节,则该存储器带宽为_C_BIT/S。假如程序员可用的存储空间为4M字节,则程序员所用的地址为_D_,而真正访问内存的地址称为_E_。 供选择的答案: A:①10 ②16 ③20 ④32 B:①最低两位为00 ②最低两位为10 ③最高两位为00 ④最高两位为10 C:①20M ②40M ③80M ④160M D:①有效地址②程序地址③逻辑地址④物理地址 E:①指令②物理地址③内存地址④数据地址 2、从供选择的答案中。选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。 给定结点的关键字序列(F、B、J、G、E、A、I、D、C、H),对它按字母的字典顺序进行排列,采用不同方法,其最终结果相同。但中间结果是不同的。 Shell排序的第一趟扫描(步长为5)结果应为_A_。 冒泡排序(大数下沉)的第一趟起泡的效果是_B_3. 快速排序的第一趟结果是_C_。 二路归并排序的第一趟结局是_D_。 供选择的答案 A:①(B、F、G、J、A、D、I、E、H、C) ②(B、F、G、J、A、E、D、I、C、H) ③(A、B、D、C、E、F、I、J、G、H) ④(C、B、D、A、E、F、I、G、J、H) B:①(A、B、D、C、F、E、I、J、H、G) ②(A、B、D、C、E、F、I、H、G、J) ③(B、F、G、E、A、I、D、C、H、J) ④(B、F、G、J、A、E、D、I、C、H) C:①(C、B、D、A、F、E、I、J、G、H) ②(C、B、D、A、E、F、I、G、J、H) ③(B、A、D、E、F、G、I、J、H、C) ④(B、C、D、A、E、F、I、J、G、H) D:①(B、F、G、J、A、E、D、I、G、H) ②(B、A、D、E、F、G、I、J、H、C) ③(A、B、D、C、E、F、I、J、G、H) ④(A、B、D、C、F、E、J、I、H、C) 3、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答.把相应编号写在答卷的对应栏内。 进程是操作系统中的一个重要概念。进程是一个具有一定独立功能的程序在某个数据集合上

软件工程师笔试题及答案

吉运集团 北京信息科技开发公司软件工程师笔记题 ___________________________________________ __________ 姓名:________________ 联系电话:_____________ 期望工资________________ 分)第一部分:选择题(每题5 ) 多选都正确一、以下程序中VB和C#书写的是:( A:Public strName As String 和string strName = new string() B:Public strName As String()和string strName = new string() C:Public strName(10)As String和string[] strName = new string[100]; D:以上答案都正确; 二、以下C#程序中,写法不正确的是( )多选.B :C:\\Windows\\System32 A:C://Windows//System32 D:@C:/Windows/System32 C:@C:\Windows\System32 三、下列选项中,是引用类型的是( ) A. enum类型 B. struct类型 D. int 类型类型C. string ) 四、软件开发过程一般有以下几个阶段,正确的说法是( A:需求分析,概要设计,详细设计,软件编码,软件测试 B:概要设计,需求分析,详细设计,软件编码,软件测试 C:需求分析,详细设计,软件开发,系统上线 D:系统调研,需求讨论,整体设计,系统上线,系统售后 ) 五、以下关于CLR语言描述,不正确的是( 中调用;https://www.360docs.net/doc/ca8087086.html,写类,在C#翻译语言,用户可以用.NET是CLR:A. B:有了CRL 在.NET,保证了一种语言具有的功能其它语言也有; C:CLR是在.NET 中间语言,是CPU能看懂的语言; D :以上说法都正确; ( )

腾讯2014软件开发笔试题

腾讯2014校园招聘软件开发类笔试试题 考试时长:120分钟 一不定项选择题(共25题,每题4分,共100分,少选、错选、多选均不得分) 1 已知一棵二叉树,如果先序遍历的节点顺序是:ADCEFGHB,中序遍历是:CDFEGHAB,则后序遍历结果为:(D) A.CFHGEBDA B.CDFEGHBA C.FGHCDEBA D.CFHGEDBA 2 下列哪两个数据结构,同时具有较高的查找和删除性能?(CD) A.有序数组 B.有序链表 C.AVL树 D.Hash表 3 下列排序算法中,哪些时间复杂度不会超过nlogn?(BC) A.快速排序 B.堆排序 C.归并排序 D.冒泡排序 4 初始序列为1 8 6 2 5 4 7 3一组数采用堆排序,当建堆(小根堆)完毕时,堆所对应的二叉树中序遍历序列为:(A) A.8 3 2 5 1 6 4 7 B.3 2 8 5 1 4 6 7 C.3 8 2 5 1 6 7 4 D.8 2 3 5 1 4 7 6 5 当n=5时,下列函数的返回值是:(A) int foo(int n) { if(n<2)return n; return foo(n-1)+foo(n-2);

A.5 B.7 C.8 D.10 6 S市A,B共有两个区,人口比例为3:5,据历史统计A的犯罪率为0.01%,B区为0.015%,现有一起新案件发生在S市,那么案件发生在A区的可能性有多大?(C) A.37.5% B.32.5% C.28.6% D.26.1% 7 Unix系统中,哪些可以用于进程间的通信?(BCD) A.Socket B.共享内存 C.消息队列 D.信号量 8 静态变量通常存储在进程哪个区?(C) A.栈区 B.堆区 C.全局区 D.代码区 9 查询性能(B) A.在Name字段上添加主键 B.在Name字段上添加索引 C.在Age字段上添加主键 D.在Age字段上添加索引 10 IP地址131.153.12.71是一个(B)类IP地址。 A.A B.B C.C D.D 11 下推自动识别机的语言是:(C) A. 0型语言 B.1型语言 C.2型语言 D.3型语言 12 下列程序的输出是:(D) #define add(a+b) a+b int main()

软件开发工程师(JAVA)笔试题

软件开发工程师(JAVA)笔试题 请在90分钟以内做答答案请写在答题纸上 一、选择题 1、下面哪项是不合法的标识符:() A. $persons B. TwoUsers C. *point D. _endline E. final 2、下列运算符合法的是() A.&& B.<> C.if D.:= 3、下面描述中哪两项相等:()[选择两项] A.<%= YoshiBean.size%> B.<%= YoshiBean.getSize()%> C.<%= YoshiBean.getProperty(“size”)%> D. E. F. G. 4、设float x = 1,y = 2,z = 3,则表达式 y+=z--/++x的值是:() A. 3.5 B. 3 C. 4 D. 5 5、下面的哪些叙述为真:() A.equals()方法判定引用值是否指向同一对象 B.==操作符判定两个不同的对象的内容和类型是否一致 C.equal()方法只有在两个对象的内容一致时返回true D.类File重写方法equals()在两个不同的对象的内容和类型一致时返回true 6、如果一个对象仅仅声明实现了cloneable接口,但是不声明clone方法,外部能够调用其clone方法吗?() A. 能 B. 不能 C. 不确定 7、下列说法错误的有() A.能被java.exe成功运行的java class文件必须有main()方法 B. J2SDK就是Java API C. Appletviewer.exe可利用jar选项运行.jar文件 D.能被Appletviewer成功运行的java class文件必须有main()方法 8、下列正确的有() A. call by value不会改变实际参数的数值 B. call by reference能改变实际参数的参考地址 C. call by reference不能改变实际参数的参考地址 D. call by reference能改变实际参数的内容 9、下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C. int number=[]={31,23,33,43,35,63}

软件开发笔试题

2002年度软件开发人员招聘笔试试题 试题一:基础知识 1、从供选择的答案中,选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。 假设某计算机具有1M 字节的内存(目前使用的计算机往往具有64M字节以上的内存),并按字节编址,为了能存取该内存各地址的内容,其地址寄存器至少需要二进制_A_位。为使4字节组成的字能从存储器中一次读出,要求存放在存储器中的字边界对齐,一个字的地址码应_B_。若存储周期为200NS,且每个周期可访问4个字节,则该存储器带宽为_C_BIT/S。假如程序员可用的存储空间为4M字节,则程序员所用的地址为_D_,而真正访问内存的地址称为_E_。 供选择的答案: A:①10 ②16 ③20 ④32 B:①最低两位为00 ②最低两位为10 ③最高两位为00 ④最高两位为10 C:①20M ②40M ③80M ④160M D:①有效地址②程序地址③逻辑地址④物理地址 E:①指令②物理地址③内存地址④数据地址 2、从供选择的答案中。选出应填入下面叙述中_?_内的最确切的解答,把相应编号写在答卷的对应栏内。 给定结点的关键字序列(F、B、J、G、E、A、I、D、C、H),对它按字母的字典顺序进行排列,采用不同方法,其最终结果相同。但中间结果是不同的。 Shell排序的第一趟扫描(步长为5)结果应为_A_。 冒泡排序(大数下沉)的第一趟起泡的效果是_B_3. 快速排序的第一趟结果是_C_。 二路归并排序的第一趟结局是_D_。 供选择的答案 A:①(B、F、G、J、A、D、I、E、H、C) ②(B、F、G、J、A、E、D、I、C、H) ③(A、B、D、C、E、F、I、J、G、H) ④(C、B、D、A、E、F、I、G、J、H) B:①(A、B、D、C、F、E、I、J、H、G) ②(A、B、D、C、E、F、I、H、G、J) ③(B、F、G、E、A、I、D、C、H、J) ④(B、F、G、J、A、E、D、I、C、H) C:①(C、B、D、A、F、E、I、J、G、H) ②(C、B、D、A、E、F、I、G、J、H) ③(B、A、D、E、F、G、I、J、H、C) ④(B、C、D、A、E、F、I、J、G、H) D:①(B、F、G、J、A、E、D、I、G、H) ②(B、A、D、E、F、G、I、J、H、C) ③(A、B、D、C、E、F、I、J、G、H) ④(A、B、D、C、F、E、J、I、H、C)

软件工程师面试题含答案

一、你对MVC的理解,MVC有什么优缺点?结合Struts,说明在一个Web应用如何去使用? 答: MVC设计模式(应用观察者模式的框架模式) M:Model(Businessprocesslayer),模型,操作数据的业务处理层,并独立于表现层(Independentofpresentation)。 V:View(Presentationlayer),视图,通过客户端数据类型显示数据,并回显模型层的执行结果。C:Controller(Controllayer),控制器,也就是视图层和模型层桥梁,控制数据的流向,接受视图层发出的事件,并重绘视图 MVC框架的一种实现模型 模型二(Servlet-centric): JSP+Servlet+JavaBean,以控制为核心,JSP只负责显示和收集数据,Sevlet,连接视图和模型,将视图层数据,发送给模型层,JavaBean,分为业务类和数据实体,业务类处理业务数据,数据实体,承载数据,基本上大多数的项目都是使用这种MVC的实现模式。 StrutsMVC框架(Webapplicationframeworks) Struts是使用MVC的实现模式二来实现的,也就是以控制器为核心。 Struts提供了一些组件使用MVC开发应用程序: Model:Struts没有提供model类。这个商业逻辑必须由Web应用程序的开发者以JavaBean或EJB 的形式提供 View:Struts提供了actionform创建formbean,用于在controller和view间传输数据。此外,Struts提供了自定义JSP标签库,辅助开发者用JSP创建交互式的以表单为基础的应用程序,应用程序资源文件保留了一些文本常量和错误消息,可转变为其它语言,可用于JSP中。 Controller:Struts提供了一个核心的控制器ActionServlet,通过这个核心的控制器来调用其他用户注册了的自定义的控制器Action,自定义Action需要符合Struts的自定义Action规范,还需要在的特定配置文件中进行配置,接收JSP输入字段形成Actionform,然后调用一个Action控制器。Action控制器中提供了model的逻辑接口。 二、什么是WebService? 答: WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。 WebService实现不同语言间的调用,是依托于一个标准,webservice是需要遵守WSDL(web 服务定义语言)/SOAP(简单请求协议)规范的。 WebService=WSDL+SOAP+UDDI(webservice的注册) Soap是由Soap的part和0个或多个附件组成,一般只有part,在part中有Envelope和Body。WebService是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA架构。 WebService的优点 (1)可以让异构的程序相互访问(跨平台) (2)松耦合 (3)基于标准协议(通用语言,允许其他程序访问) WebService的基本原理 (1)ServiceProvider采用WSDL描述服务 (2)ServiceProvider采用UDDI将服务的描述文件发布到UDDI服务器(Registerserver) (3)ServiceRequestor在UDDI服务器上查询并获取WSDL文件 (4)Servicerequestor将请求绑定到SOAP,并访问相应的服务。

招聘笔试指南软件工程师笔试题目

招聘笔试指南软件工程师笔试题目 技术类招聘笔试试题 1、请问C++的类和C里面的struct有什么区别? 2、int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少? 3、软件开发五个主要step是什么?在开发软件的时候,这5个step分别占用的时间百分比是多少? 4、面向连接与面向非连接各有何利弊? 5、What will be the output of the following C code? (下面的C语言代码的输出是什么?) main() { int k, num= 30; k =(num > 5 ? (num <=10 ? 100:200): 500); printf(“%d”, k); } 6、In your opinion ,what do you think are the advantages or benefits of using an object-oriented approach to software development? how do you think those benefits can be achieved or realized? (你认为用面向对象的方法进行软件开发有哪些优势或好处?你认为这些好处是如何实现的呢?) 7、Queue is a useful structure (队列是一种有用的结构) (1)What is a queue? (什么是队列?) (2)Write 5 operations or functions, without details, that can be done on a queue. (写出5个能被用于队列的操作或函数,不要求写出细节。) 8、用任意一种编程语言编写n!的算法。 9、如图: 7 8 9 10 6 1 2 11 5 4 3 12 16 15 14 13 设“1”的坐标为(0,0)“7”的坐标为(-1,-1)编写一个小程序,使程序做到输入坐标(X,Y)之后显示出相应的数字。

一套软件开发工程师笔试题

、试分析下面的语句的优劣,并用另外的方法实现。1 SQL (1) Select * from empe where e.No in (select a. No from amp a ) Select * from empe e where NOT EXISTS (Select a.No from amp a where e.NO=a.No) (2) select * from emp e, anp a where e. No=a. No 、用重写下面的语句socl Decoole 2,‘'; SUM(SAL) FROM EMP WHERE DEPT_NO = 0020 ANDENAME LIKESELECT COUNT(*)SMITH% '‘; select count(*),sum(sal) from emp where dept_no = 0030 and ename likesmith% 'x',null)) d0020_count, select count(decode(dept_no,0020,'x',null)) d0030_count, count(decode(dept_no,0030,sum(decode(dept_no,0020,sal,0)) d0020_sal, sum(decode(dept_no,0030,sal,0)) d0030_sal '‘; from emp where ename like smith%不好。、下面哪几种2,4,5 3 SQL 笛卡尔乘积子查询语句语句多查等值查询(4)(1) update (5) (2)in(3) 种命名正确、请造出下列哪A,B,D 34、、、、、3_asd const D$abc CA_asd EASD B补充代码写出文件名、 5(2)texarea java (1)、型转换6example: public String getValue(Object a,Object b){} 如何修正当下列方法调用时将出现何种异常,”“); String c=new String(aaaint d =123; my.getValue(c,d);

软件测试工程师笔试题含答案

软件测试笔试题(含答案) 1.请写出一个你工作经历中的一个功能点测试用例,例如:用户页面登陆 2.请在以下两个项目当中,选择一个,考虑如何进行用例设计:a.杯子 b.有弹簧的圆珠笔杯子: 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可靠性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用软件开发网兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 强度测试: 杯子加包装(有填充物),在多高的情况摔下不破损 有弹簧的圆珠笔: 功能测试:圆珠笔按下是否能正常写字,写字太重会不回缩回去,继续 按会不会弹回去 性能测试:圆珠心弹出弹回的快慢 负载测试:一直按,弹簧能接受多少次的升缩 兼容性测试:换其他的笔芯能不能行

强度测试:用力过度会怎样 可恢复性测试:如果弹簧压久了,是否可恢复等等 GUI测试:笔的外观,拿笔的舒适性 安全性:考虑对笔芯的保护,是否对使用者造成危害等等 3.白箱测试和黑箱测试是什么?什么是回归测试? 白箱测试是在看懂程序代码和设计方案的前提下,进行软件的测试。这种测试注重于源代码 的覆盖率,同时需要测试者具备较高的技术水平。白箱测试的优点是可以对代码有详细的审 查,能找出隐藏在代码中的错误,从而确保高质量的代码;缺点是很多时候不能看完所有的 代码,不能找出欠缺的代码,同时白箱测试和用户如何使用软件无关。 黑箱测试的优点是测试者无需熟悉软件内部结构,并且根据蓝图在早期就可以制定测试方案,并不依赖于开发者的工作进展,而且黑箱测试简单易行,对测试者的技术要求不高;但 是,黑箱测试主要是功能上的测试,只能覆盖只有一小部分的输入,不能保证程序的所有部 分都被测试到。 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码 产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。 回归测试包括两部分:函数本身的测试、其他代码的测试。 在对被修改的函数重新测试。如果函数的设计功能没有变化,直接运行函数测试就可以了。如果修改了设计功能,则要根据增减的功能点,增加或删除测试用例。另外,还要完成白

软件开发(考测验考试模拟题答案)

软件开发考试试卷(机密)

考试声明 本人已经认真阅读考试注意事项,承诺遵守考试纪律,自己不作弊、不协助他人作弊;考试后不向其他人泄漏考题内容,维护考试的机密性。 特此声明。 考生签名: 年月日 答题纸 三、改错题 1.

2. 3. 4. 5. 四.编程题 注:选择题请将答案填写在答题纸上,填写在其它位置无效。 软件开发考核试卷

考试说明: 1、本次考试类型为笔试,请考生用蓝色圆珠笔或钢笔答题,不得用铅笔,用铅笔者本试卷作废; 2、本次考试时间为60分钟,共计100分; 3、试卷表面必须保持清洁,不得在试卷上作记号,一经发现取消该考生卷面成绩; 4、请将答案写在答题纸上,填写在其他位置无效。 一.单项选择题(每题2分,共计60分) 1.软件工程研究的内容包括:()技术和软件工程管理: D A.软件测试 B.数据分析 C.动态测试 D.软件开发 2.在C语言中(以 16 位PC机为例),一个float型数据在内存中所占的字节数为 4;一个double型数据在内存中所占的字节数为:C A.32 B.6 C.8 D.16 3.下列描述正确的是:A A. C 语言程序中各函数之间既允许直接递归调用也允许间接递归调用 B. C 语言程序中不允许直接递归调用也不允许间接递归调用 C. C 语言程序中允许直接递归调用不允许间接递归调用 D. C 语言程序中不允许直接递归调用允许间接递归调用 4.下面关于完全二叉树的叙述中,错误的是:B A.除了最后一层外,每一层上的结点数均达到最大值 B.可能缺少若干个左右叶子结点 C.完全二叉树一般不是满二叉树 D.具有结点的完全二叉树的深度为[log2n]+1 5.在软件生命周期中,能准确完成程序的编码的阶段是:C A.概要设计 B.详细设计 C.软件实现 D.需求分析 6.下面程序的输出结果是:B #include

软件开发工程师招聘试题

附录一附录一【软件开发工程师招聘试题一】 考试时间:60分钟姓名:______成绩:______ 一、单选题(共9题,每题2分) 1.对象b 最早在以下哪个选项前被垃圾回收?() public class Test5 { static String f(){ String a="hello"; String b="bye"; String c=b+"!"; //lineA String d=b; b=a; //lineB d=a; //lineC return c; //lineD } public static void main(String[] args) { String msg=f(); System.out.println(msg); } } A.lineA B.lineB C.lineC D.lineD 2.2.运行下列代码,结果如何?() class Example { int milesPerGallon; int index; Example(){} Example(int mpg){ milesPerGallon=mpg;

} public static void main(String[] args) { int index; Example e = new Example(25); if(args.length>0){ if(args[index].equals("Hiway")){ https://www.360docs.net/doc/ca8087086.html,esPerGallon=2; } System.out.println("mpg:"+https://www.360docs.net/doc/ca8087086.html,esPerGallon); } } } 这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:50” ,如果输入不是”Hiway”则显示”mpg:25”; 这段代码通过编译,并且如果命令行输入”Hiway”则显示”mpg:50” ,如果输入不是”Hiway”则抛出ArrayIndexOutputBoundsException异常。 这段代码不能通过编译,因为自动变量index没有被初始化。 这段代码不能通过编译,因为milesPerGallon没有被初始化。 见例子Example.java 3.3.当编译如下代码时,会显示什么?() int i=1; switch(i){ case 0: System.out.println("zero"); case 1: System.out.println("one"); case 2: System.out.println("two"); default: System.out.println("default"); } One B. one,default C. one,two,default D.default 见例子:Test3.java 4.4.当编译运行如下代码时会发生什么现象?() public class MyClass { public static void main(String arguments[] ) { amethod(arguments); } public void amethod(String []arguments){

(完整版)开发人员笔试题库

1.在软件开发过程中,软件结构设计是描述_______。 A)数据存储结构B)软件体系结构C)软件结构测试D)软件控制过程 答案:B 评析:从工程管理角度来看,软件设计分两步完成:概要设计和详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式。 2.数据库技术的主要特点为数据的集成性、数据的高共享性和低冗余性、数据独立性和数据统一管理与控制。 3.软件测试类型按开发阶段划分是______B_。 A.需求测试、单元测试、集成测试、验证测试 B.单元测试、集成测试、确认测试、系统测试、验收测试 C.单元测试、集成测试、验证测试、确认测试、验收测试 D.调试、单元测试、集成测试、用户测试 4.对于业务流清晰的系统可以利用___D__贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用____C_选择较少的组合方式达到最佳效果。 A.等价类划分B.因果图法C.正交试验法D.场景法 A.等价类划分B.因果图法C.正交试验法D.场景法 5.超出项目经理控制的成本增加因素,除了存款利率、贷款利息和税率外,还包括()D 。 A.项目日常开支的速度和生产率 B.项目日常开支的速度和工期拖延 C.项目补贴和加班 D.原材料成本和运输成本 6.在深度为5的满二叉树中,叶子结点的个数为________。 A)32B)31C)16 D)15 答案:C 评析:所谓满二叉树是指除最后一层外,每层上的所有结点都有两个子结点。也就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的第K 层上有2K-1个结点,且深度为m的满二叉树有2m个结点。 7.已知二叉树BT的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是_______。

软件测试工程师笔试试题(大集合)

软件测试工程师笔试试题 软件测试工程师笔试试题 01. 为什么要在一个团队中开展软件测试工作? 02. 您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作? 03. 您是否了解以往所工作的企业的软件开发过程?如果了解,请试述一个完整的开发过程需要完成哪些工作?分别由哪些不同的角色来完成这些工作?(对于软件测试部分,可以简述) 04. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 06. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 07. 测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 08. 您认为做好测试计划工作的关键是什么? 09. 您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 10. 您认为做好测试用例设计工作的关键是什么? 11. 请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 12. 您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。 13. 您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 14. 您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 15. 您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 16. 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

相关文档
最新文档