软件工程师笔试题及答案

发布时间:2011-01-05 09:50:10

吉运集团

北京信息科技开发公司软件工程师笔记题

_____________________________________________________

姓名:________________ 联系电话:_____________ 期望工资________________

第一部分:选择题(每题5分)

一、 以下程序中VBC#书写都正确的是:( ) 多选

APublic strName As String string strName = new string()

BPublic strName As String() string strName = new string()

CPublic strName10 As String string[] strName = new string[100];

D:以上答案都正确;

二、 以下C#程序中,写法正确的是( ) 多选

A C://Windows//System32 BC:\\Windows\\System32

C@C:\Windows\System32 D@C:/Windows/System32

三、 下列选项中,是引用类型的是 ( )

A. enum类型 B. struct类型

C. string类型 D. int类型

四、 软件开发过程一般有以下几个阶段,正确的说法是 ( )

A:需求分析,概要设计,详细设计,软件编码,软件测试

B:概要设计,需求分析,详细设计,软件编码,软件测试

C:需求分析,详细设计,软件开发,系统上线

D:系统调研,需求讨论,整体设计,系统上线,系统售后

五、 以下关于CLR语言描述,不正确的是 ( )

ACLR.NET翻译语言,用户可以用C#写类,在VB.Net中调用;

B:有了CRL .NET,保证了一种语言具有的功能其它语言也有;

CCLR是在.NET中间语言,是CPU能看懂的语言;

D:以上说法都正确;

六、 以下C#程序,正确描述的是 ( )

Class  Student 

      {

         public   string  ID;

         public    string  Name;

         public    string  Sex;

      }

A:定义了一个名字为“Student”的类,类体中包括学生的学号(ID,姓名(Name,与性别(Sex);

B:定义了一个名称为“Student”的方法,ID,Name,Sex为方法中的成员;

C:定义了一个名称为“Student”的类型,ID,Name,Sex为类中的成员;

D:以上说法都不正确;

七、 下列VB语句哪一个正确(

  A Dim strName As String

  B If Year(Now) = 2009 Then Exit Sub

  C String userName = new String();

D DoEvents

八、 假定有一个用户表,表中包含字段:userid (int)username (varchar) password(varchar)、等,该表需要设置主键,以下说法正确的是 ( ) 多选

A:如果不能有同时重复的usernamepassword,那么usernamepassword可以组合在一起作为主键。

B:此表设计主键时,根据选择主键的最小性原则,最好采用userid作为主键。

C:此表设计主键时,根据选择主键的最小性原则,最好采用usernamepassword作为组合键。

D:如果采用userid作为主键,那么在userid列输入的数值,允许为空。

九、 现有订单表orders,包含用户信息userid, 产品信息 productid, 以下 ( ) 语句能够返回至少被订购过两回的productid

Aselect productid from orders where count(productid)>1

Bselect productid from orders where max(productid)>1

Cselect productid from orders where having count(productid)>1 group by productid

Dselect productid from orders group by productid having count(productid)>1

一十、 如下图,旁边四个方块中哪个方块才是小男孩手中的方块? ( )

A:第1个;

B:第2个;

C:第3个;

D:第4个;

第二部分:问答题(每题5分)

一、 SQL ServerOracle中表之间的关联方法有哪些并解释其含义?

INNER JOIN LEFT JOIN RIGHT JOIN

二、 SQL 语句中,如何锁定数据?锁定之后要读取里面的数据,用什么关键字?

SELECT * FROM TABLE WITHREADPAST

三、 简要谈谈你对AJAX 以及 抽象工厂 的认识。

四、 为了解决软件系统的安全,我们通常使用硬加密和软加密等方法,请回答以下问题:

1、 C/SB/S程序中, 使用硬加密的主要区别是什么?

C/S可以在服务器端和客户端加密,而B/S只能在服务器端加密;

2、 硬加密的设备您都知道那些?请依次写出。

软件安全锁(加密狗)、IC卡、

3、 软加密的方法您都知道那些?请依次写出。

DESMD5

第三部分:实验题

一、 请完成以下代码,5分)

1)、根据代码填空。

Dim dStartDate As Date

Dim dEndDate As Date

Dim dTempDate As Date

dStartDate = CDate("2008-12-1")

dEndDate = CDate("2008-12-15")

dTempDate = dStartDate

Debug.Print " 日期 星期"

While dTempDate < dEndDate

Debug.Print dTempDate & " " & uBoundCode(Weekday(dTempDate, vbMonday))

‘////////////////uBoundCode为自定义转换函数

dTempDate = DateAdd("D", 1,dTempDate) ‘///提示:IntervalNumberDate

Wend

2)、请用C# 完成题(1)中uBoundCode函数实现的代码。

基本思路正确就可以

二、 以下三个数据表:10分)

表名

字段

名称

说明

tbl_Sale

销售人员表

cID:销售人员编号(自动)

cSaleName:销信人员姓名

tbl_ConList

合同信息表

cConID:合同编号(自动)

cSaleID:销售人员编号

cConNumber:合同编号

cConDate:合同日期

cConMoney:合同金额

tbl_PayMoney

销售人员提成表

cID:自动编号

cConID:合同ID

PayMoney:提成金额

1):得到所有销售人员对应合同信息和提成金额;2分)

SELECT A.cConNumber,B.cSaleName,SUM(C.payMoney) FROM tbl_ConList A INNER JOIN tbl_Sale B ON (A.cSaleID=B.cID) INNER JOIN tbl_ConList C ON (A.ConID=C.cID) GROUP BY A.cConNumber,B.cSaleName 黑色区域要重点考试内容

2):得到合同日期在“2006-12-31之前,每个销售人员的合同总额和提成总额;2分)

SELECT A.cConNumber,B.cSaleName,SUM(C.payMoney) FROM tbl_ConList A INNER JOIN tbl_Sale B ON (A.cSaleID=B.cID) INNER JOIN tbl_ConList C ON (A.ConID=C.cID) WHERE A.cConDate <= ‘2006-12-31 GROUP BY A.cConNumber,B.cSaleName 黑色区域要重点考试内容

3):得到没有签过合同的销售人员信息;2分)

SELECT B.cSaleName FROM tbl_ConList A LEFT JOIN(或RIGHT JOIN tbl_Sale B ON (A.cSaleID=B.cID) WHERE B.cID IS NULL 黑色区域要重点考试内容

4):得到某年每位销售人员每季度签订的合同数量;4分)

SELECT cSaleName,COUNT(tableX .cConID) FROM tbl_Sale saleTable INNER JOIN

(SELECT A.cID,A.cSaleName,B.cConID) AS B.cConID FROM tbl_Sale A INNER JOIN tbl_ConList B ON (A.cID=B.cSaleID) WHERE (Year(cConDate)=2009 and MONTH(cConDate)=1) OR (Year(cConDate)=2009 and MONTH(cConDate)=2 ) OR (Year(cConDate)=2009 and MONTH(cConDate)=3 )) AS tableX ON (saleTable.cID=tableX.cID)

……… 改变条件 (4,5,6) (7,8,9) (10,11,12)

基本思路正确就可以,黑色区域要重点考试内容

三、 以下三张EXCEL表,是用户手工制作的,现在要求在软件系统中用一张报表体现出来,请按格式填

写。(15 分)

字段用编号表示为:(没有编号,请用汉字表求)

客户姓 公司名 来访时 交易日 资金总 交易金额

用户要求A(请按用户要求设计,报表的列用逗号隔开):

1) 所有公司,每个客户的所有字段全部体现;

请设计报表A(请按用户要求设计):

条件:

报表字段:

用户要求B(请按用户要求设计,用逗号隔开):

1) 自来访时间起,所有公司某年每月的余额(余额=5)减(6));

请设计报表B

条件字段:

报表字段:

软件工程师笔试题及答案

相关推荐