NTier内部测试笔试题及答案.docx
- 文档编号:23084191
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:12
- 大小:18.92KB
NTier内部测试笔试题及答案.docx
《NTier内部测试笔试题及答案.docx》由会员分享,可在线阅读,更多相关《NTier内部测试笔试题及答案.docx(12页珍藏版)》请在冰豆网上搜索。
NTier内部测试笔试题及答案
《深入.NET平台的软件系统分层开发》
内部测试-笔试试卷
一、选择题(共25题,每题4分,满分100分)
1)在分层开发中,下面()不属于三层架构。
A.接口层
B.表示层
C.业务逻辑层
D.数据访问层
2)在分层开发中,下面关于业务逻辑的功能描述正确的是()。
A.处于最底层,负责与数据库的交互
B.处于最顶层,向客户提供展示平台
C.负责业务逻辑处理,供数据访问层调用
D.表示层调用业务逻辑层,完成用户功能
3)在分层开发中,下面关于程序集描述错误的是()。
A.程序集是可执行文件(.exe)或者动态链接库(.dll)文件
B.程序集可以有多个命名空间,也有默认的命名空间
C.三层开发中,编译后的模板层不属于程序集
D.命名空间是组织C#程序的一种逻辑结构,一个命名空间可以有多个类
4)在分层开发中,关于各层添加引用描述正确的是()。
A.业务逻辑层一般不需要对模板层的引用
B.表示层只需要引用数据访问层
C.数据访问层需要添加对业务逻辑层的引用
D.模板层一般不需要添加其他三层的引用
5)在分层开发中,关于分层开发的优势,说法错误的是()。
A.分层开发有利于代码复用
B.一定程度上实现了软件开发中“高内聚低耦合”要求
C.各层开发人员需要知道相关层的接口
D.分层开发有利于程序的无损替换
6)下面关于采用DataSet在分层结构的各层之间传递数据的弊端,描述错误的是()。
A.造成数据访问层与业务逻辑层之间的高内聚
B.由于可能存在大量的拆箱装箱操作,降低程序的性能
C.DataSet的抽象度不高,不符合面向对象的思维
D.造成表示层和数据库一定程度的紧耦合
7)在分层开发中,关于实体类说法错误的是()。
A.实体层又称为模板层
B.数据库的Money类型对应实体类中float类型
C.数据库中byte类型对应实体类中的bool类型
D.造成表示层和数据库一定程度的紧耦合
8)在分层开发中,关于实体类Student使用正确的是()。
publicclassStudent
{
publicintStudentNo{get;}
publicstringLoginPwd{set;get;}
publicstringStudentName{set;}
}
A.Student.StudentNo=”wangming”;
B.stringname=Student.StudentName;
C.Student.LoginPwd=”accp”;
D.stringpwd=Student.LoginPwd;
9)关于控件CombBox绑定数据的代码,下面描述正确的是()。
this.cboGrade.DataSource=gradeService.GetGrade();
this.cboGrade.ValueMember="GradeName";
this.cboGrade.DisplayMember="GradeId";
GradeName表示班级名称,GradeId表示班级编号
A.cboGrade.Text获取当前选中内容,即班级名称
B.cboGrade.Text获取当前选中内容,即班级编号
C.CombBox显示班级编号,班级名称无法在前台显示
D.CombBox绑定正确,显示正常
10)下面关于readonly与const的描述错误的是()。
A.const能修饰类中的字段或者局部变量
B.const修饰的常量需要在声明时进行赋值
C.readonly常量必须在程序运行时赋值
D.readonly能修饰类,const不可以
11)在三层开发中,关于下面app.config文件描述错误的是()。
xmlversion="1.0"?
>
connectionString="DataSource=.;InitialCatalog=MySchool;IntegratedSecurity=true"/> A.app.config文件是实质上时一个xml文件。 B.通过ConfigurationManager.ConnectionStrings["MySchoolConnectionString"] .ToString()方法可以获取数据库连接字符串 C.app.config文件在应用程序中不是必须存在的 D.以上描述都是错误的 12)下面关于using命令描述错误的是()。 A.可以导入命名空间 B.可以释放对象占用的内存资源 C.当程序执行到using语句末尾处时,CLR立即调用对象的Dispose()方法释放相应的对象 D.所有的对象前都可以用using来释放资源 13)下面代码中错误的标号是()。 1.usingSqlConnectionconn=newSqlConnection(connString) { try { //创建Sql语句 StringBuildersb=newStringBuilder(); sb.AppendLine("INSERT[Student]"); sb.AppendLine("VALUES"); 2.sb.AppendLine("(@StudentName)"); SqlParameter[]para={ 3.newSqlParameter("StudentName",student.StudentName) }; SqlCommandcmd=newSqlCommand(sb.ToString(),conn); 4.cmd.Parameters.AddRange(para); conn.Open(); intiRet=Convert.ToInt32(cmd.ExecuteScalar()); returniRet; } catch { return-1; } finally { //关闭数据库连接 conn.Close(); } } A.1 B.2 C.3 D.4 14)下面关于存储过程sp_update_student中错误数是()。 createproceduresp_update_student ( @StudentNoint, @StudentNamenvarchar(50), ) UPDATE[Student] SET[StudentName]=@StudentName WHERE[StudentNo]=@StudentNo A.1 B.2 C.3 D.4 15)在分层开发中,数据访问层的UpdateStudentInfor()方法调用存储过程,中错误的行号是() intiRet=-1; 1.using(SqlConnectionconn=newSqlConnection(connString)) { Try { SqlCommandcmd=newSqlCommand(); cmd.Connection=conn; 2.cmd.CommandText="sp_update_student"; 3.cmd.CommandType=CommandType.Text; //添加输入参数 SqlParameter[]para={ NewSqlParameter("@StudentNo",student.StudentNo), newSqlParameter("@StudentName",student.StudentName) }; cmd.Parameters.AddRange(para); conn.Open(); 4.iRet=cmd.ExecuteNonQuery(); returniRet; } catch { returniRet; } finally { //关闭数据库连接 conn.Close(); } } A.1 B.2 C.3 D.4 16)在ADO.NET中执行存储过程,说法不正确的是()。 A.执行存储过程会调用SqlCommand对象的ExcuteNoQuery方法 B.必须设置SqlComman对象的CommandType为Text C.调用存储过程时SqlParameter参数无法得到存储过程的返回值。 D.使用存储过程一定程度上防止sql注入,提高系统的安全性 17)下面关于常见异常类型,描述不正确的是()。 A.SystemException: 在应用程序执行过程中检测到由应用程序定义的异常 B.System.SQLException: 当SQLServer返回警告或者错误时引发的异常 C.ArgumentNullException: 空值引发的异常 D.IOException: 出现I/O错误时,引发的异常 18)下面代码输出的结果是()。 intno=0; try { no=no+1; } catch { no=no+1; } finally { no=no+1; } Console.Write(no); A.0 B.1 C.2 D.3 19)以下异常处理语句正确的是()。 A.try { //.... } B.try { //.... } catch(Exceptionex) { throwex; } C.try { //.... } finally { } D.try { //.... } finally { } catch { } 20)关于单元测试说法正确的是()。 A.对于具有多个分支的方法,可以在一个测试方法中编写测试程序 B.Assert.IsTrue()表示测试指定的条件是否为True,如果为True,测试通过 C.如果要测试的方法返回值为bool类型,那么测试方法的期望值必定是true D.单元测试一般由开发人员完成 21)在一个财务系统中,实现工龄满5年的员工薪水在原有基础上提高15%的方法放在()。 A.数据访问层 B.业务逻辑层 C.表示层 D.模板层 22)关于.NET事务处理的说法错误的是( )。 A.可以用SqlConnection对象的BeginTransaction方法创建一个SqlTransaction对象 B.如果调用存储过程执行事务,就不必再使用SqlTransaction对象 C.SqlTransaction对象的Commit()方法可以回滚一个事务 D.在调用BeginTransaction()方法开始事务前,要打开数据库连接 23)关于Combobox绑定说法错误的是( )。 //将科目信息绑定到combobox上 publicvoidSubjectDataBind() { List subjectList.Insert(0,newSubject(){SubjectNo=-1, SubjectName="--全部--"}); this.cboSubject.ValueMember="SubjectNo"; this.cboSubject.DisplayMember="SubjectName"; this.cboSubject.DataSource=subjectList; } A.第一个位置添加"--全部--" B.最后一个位置添加"--全部--" C.subjectList.Insert()方法改为subjectList.Add()方法,显示效果相同 D.编译错误 24)假如有一个List A.myList.Add(“world”) B.myList.Insert(2,“world”) C.myList.Push(0,”world) D.myList.Insert(3,”world”) 25)关于委托和事件的说法正确的是()。 A.委托不能实例化 B.实现多播委托,只需要多次给委托赋值 C.事件是本质上用委托来实现的 D.使用多播委托的情况下,委托的签名必须返回void 《深入.NET平台的软件系统分层开发》内部测试-笔试答案 一、选择题(25*4=100分) 1.A2.D3.C4.D5.C 6.A7.B8.CD9.BC10.C 11.D12.D13.AC14.B15.C 16.BC17.A18.C19.BC20.BD 21.B22.C23.A24.AB25.CD 考试时间50分钟
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NTier 内部 测试 笔试 答案