试题1.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,应该怎么处理?
答案:使用this.Server.Transfer。
试题2.请通过编程遍历页面上所有的TextBox控件,并指定其内容为空字符串。
答案:
foreach(System.Windows.Forms.Control control in this.Controls)
{
if(control is System.Windows.Forms.TextBox)
{
System.Windows.Forms.TextBox tb=(System.Windows.Forms.TextBox)control;
tb.Text=string.Empty;
}
}
试题3.在C#的索引器的实现过程中,是否只能根据数字进行索引?
答案:可以用任意类型数据进行索引。C#中的索引器通常用于索引数组,THIS就是索引器。
索引器不仅能索引数字(数组下标),还能索引HashMap的字符串。所以,通常来说,C#中类的索引器通常只有一个,就是THIS,但也可以有无数个,只要参数列表不同即可;索引器和返回值无关。
试题4.为了用.NET实现B/S结构的系统,使用几层结构来开发?每一层之间的关系是什么?为什么要这样分层?
答案:一般用3层,即数据访问层、业务层和表示层。数据访问层对数据库进行增、删、查、改操作;业务层一般分为两层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全保护等;表示层负责与用户交互,如允许用户添加表单。分层的优点是分工明确,条理清晰,易于调试,而且具有可扩展性;缺点是成本高。
试题5.CTS、CLS、CLR分别表示什么?
答案:CTS表示通用语言系统,CLS表示通用语言规范,CLR表示公共语言运行库。
试题6.什么是装箱和拆箱?
答案:装箱是从值类型转换到引用类型,拆箱是从引用类型转换到值类型。
试题7.什么是托管代码?
答案:由公共语言运行库运行的代码。
试题8.什么是强类型系统?
答案:RTTI(运行时类型识别)系统。
试题9..NET中读写数据库需要用到哪些类?它们的作用是什么?
答案:DataSet类,用于存储数据器;DataCommand类,用于运行语句;DataAdapter,用于填充DataSet类和更新数据库。
试题10.请详述在.NET中类(class)与结构体(struct)的异同。
答案:class可以实例化,属于引用类型,是分配在内存的堆上的;struct属于值类型,是分配在内存的栈上的。
试题11.SQL Server中,给定表table1中有ID、LastUpdateDate两个字段,ID表示更新的事务号,LastUpdateDate表示更新时的服务器时间,请使用一句SQL语句获得最后更新的事务号。
答案:代码如下。
Select ID FROM table1 Where LastUpdateDate = (Select MAX(LastUpdateDate) FROM table1);
试题12.根据线程安全的相关知识,分析以下代码。当调用test()方法时,如果i>10,是否会引起死锁?简要说明理由。
public void test(int i)
{ lock(this)
{ if(i>10)
{ i--;test(i);
}
}
}
答案:不会发生死锁。int类型参数是按值传递的,每次改变的都只是一个副本,因此不会出现死锁。如果把int类型参数换成一个对象,那么会发生死锁。
试题13.switch是否能作用在byte、long或String类型的参数上?
答案:switch(expr1)中,expr1是一个整数表达式,传递给switch和case语句的参数类型应该是int、short、char或者byte。因此,switch能作用在byte类型参数上,但不能作用在long、String类型参数上。
试题14.两个对象值相同(x.equals(y) == true),却可以有不同的哈希码。这句话对不对?
答案:不对,它们必须有相同的哈希码。
试题15.如何处理几十万条并发数据?
答案:用存储过程或事务,取得最大标识的同时进行更新。注意,主键不能自增,以这种方式处理大量并发数据时是不会有重复主键的。最大标识要由一个存储过程来获取。
试题16.与ASP相比,ASP.NET主要有哪些进步?
答案:ASP属于解释型,属于ASPX编译型,ASP.NET性能提高,有利于保护源码。
试题17.向服务器发送请求有几种方式?
答案:有两种方式,即GET和POST,GET一般为链接方式,POST一般为按钮方式。
试题18.DataReader与DataSet有什么区别?
答案:DataReader是只能向前的只读游标,DataSet是内存中的表。
试题19.在C#中using和new这两个关键字有什么意义?
答案:using用于引入名称空间或者指定非托管资源,new用于新建实例或者隐藏父类方法。
试题20.什么是SQL注入?
答案:SQL注入指利用SQL关键字对网站进行攻击、过滤关键字等。
试题21.什么是反射?
答案:反射即动态获取程序集信息。
试题22.什么是Web Service和UDDI?
答案:Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作。
UDDI 的目的是为电子商务建立标准。UDDI是一套基于Web的、分布式的、为Web Service提供的实现标准,同时包含一组使企业能注册自身提供的Web Service的实现标准,以使其他企业能够发现访问协议。
试题23.什么是ASP.NET中的用户控件?
答案:用户控件一般用在内容多为静态或者很少会改变的情况下,类似于ASP中的include,但是功能要强大得多。
试题24.指出XML技术的作用及其应用。
答案:XML技术用于配置和保存静态数据类型。XML常见的应用是Web Services和Config。
试题25.ADO.NET中常用的对象有哪些?分别进行描述。
答案:Connection,数据库连接对象;Command,数据库命令;DataReader,数据读取器;DataSet,数据集。
试题26.C#中 property 与 attribute的区别是什么?它们各有什么用处?
答案:property是属性,用于存取类的字段;attribute是特性,用于标识类、方法等的附加性质。
试题27.XML与HTML的主要区别是什么?
答案:(1)XML区分字母大小写,HTML不区分。
(2)在HTML中,如果上下文清楚地显示出段落或者列表在何处结束,那么可以省略</p>或者</li>之类的结束标记;在XML中,绝对不能省略结束标记。
(3)在XML中,拥有单个标记而没有匹配的结束标记的元素必须以一个“/”字符作为结尾,这样分析器就知道不用查找结束标记了。
(4)在XML中,属性值必须封装在引号中;在HTML中,引号可用可不用。
(5)在HTML中,可以定义不带值的属性名;在XML中,所有的属性都必须带有相应的值。
试题28.委托声明的关键字是什么?
答案:delegate。
试题29.用sealed修饰的类有什么特点?
答案:密封,不能继承。
试题30..NET的错误处理机制采用什么结构?
答案:.NET的错误处理机制采用try…catch…finally结构,发生错误时,层层上抛,直到找到匹配的catch块为止。
试题31.在.NET(C#或者VB.NET)中用户如何在窗体中处理自定义消息?
答案:在form中重载DefWndProc()函数来处理自定义消息。
protected override void DefWndProc(ref System.WinForms.Message m )
{ switch(m.msg)
{
case WM_Lbutton : ///string与MFC中的CString的Format()函数的使用方法有所不同
string message=string.Format("收到消息!参数为:{0},{1}",m.wParam,m.lParam);
MessageBox.Show(message);///显示一个消息框
break;
case USER: ///处理的代码
default: base.DefWndProc(ref m);///调用基类函数处理非自定义消息
break;
}
}
试题32.在.NET(C#或者VB.NET)中如何取消一个窗体的关闭?
答案:使用以下代码。
private void Form1_Closing(object sender,System.Component Model. CancelEvent Args e)
{ e.Cancel=true; }
试题33.简单描述ASP.NET服务器控件的生命周期。
答案:初始化→加载视图状态→处理回发数据→加载→发送回发更改通知→处理回发事件→预呈现→保存状态→呈现→处置→卸载。
试题34.匿名内部类(anonymous inner class)是否可以继承其他类,是否可以实现接口?
答案:不能继承其他类,可以实现接口。
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。