面试题(摘)

1.面向对象的思想主要包括什么?

封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。 

继承:子类拥有父类的所有数据和操作。 

多态:一个程序中同名的不同方法共存的情况。 

有两种形式的多态– 重载与重写。

2.什么是asp.net中的用户控件

除在 asp.net 网页中使用 web 服务器控件外,您还可以使用用于创建 asp.net 网页的相同技术创建可重复使用的自定义控件。这些控件称作用户控件。

用户控件是一种复合控件,工作原理非常类似于 asp.net 网页 - 您可以向用户控件添加现有的 web 服务器控件和标记,并定义控件的属性和方法。然后可以将控件嵌入 asp.net 网页中充当一个单元。 

3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?cts、cls和clr分别作何解释?

应用程序域提供了一个更安全、用途更广的处理单元,公共语言运行库可使用该单元提供应用程序之间的隔离。

装箱和取消装箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到 object 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。取消装箱将从对象中提取值类型。

重载就是指一个方法名同,参数的个数或者类型不同,返回值可以相同的方法

4.列举一下你所了解的xml技术及其应用

可以用来做网页(xslt)

可以当作数据库

可以用来保存对象的系列化

可以建立公用通讯,webservice等

5.值类型和引用类型的区别?写出c#的样例代码。

值类型 int i = 0;

引用类型 用 ref 定义

public void test (ref in ,refout)

{

    in = 0;

   out =1;

}


6.ado.net中常用的对象有哪些?分别描述一下。

dataset:表示内存中数据的缓存,可以把它想像成一个临时的数据库,它里可以存多个表(datatable),而且是断开式的,不用每进行一次操作就对数据库进行更新,从而提高了效率。 
datareader:它与dataset最大的不同是有连接式的,每次对数据库进行存取都会影响到数据库。 
connection:用于连接数据库的对象,表示到数据源的一个唯一的连接。 
command:表示要对数据库执行的一个sql语句或一个存储过程。 
dataadapter:该对象是与dataset配合使用的对象,用于把表填充到dataset,和更新dataset等。

7.如何理解委托?

是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。

8.c#中的接口和类有什么异同。

接口可以多继承,类只能单继承。

接口描述可属于任何类或结构的一组相关行为。接口可由方法、属性、事件、索引器或这四种成员类型的任何组合构成。接口不能包含字段。接口成员一定是公共的。

类 只支持单继承:类只能从一个基类继承实现。一个类可以实现多个接口。

9.。net中读写数据库需要用到哪些类?他们的作用

1、sqlconnection 用来创建一个到数据库的连接 
2、sqlcommand 用来执行sql语句

3、dataset 用来无连接的储存多个表的数据,并包含表与表之间的关联关系 
4、datatable 用来存储一个表的数据 

5、sqldatareader 用来顺序读取数据 
6、sqldataadapter 用来将数据填充到dataset或datatable

10.udp连接和tcp连接的异同。

tcp是传输控制协议,提供的是面向连接的,是可靠的,字节流服务,当用户和服务器彼此进行数据交互的时候,必须在他们数据交互前要进行tcp连接之后才能传输数据。tcp提供超时重拨,检验数据功能。udp是用户数据报协议,是一个简单的面向数据报的传输协议,是不可靠的连接。

11.asp.net的身份验证方式有哪些?分别是什么原理?

asp.net的身份验证有有三种,分别是"windows | forms | passport",其中又以forms验证用的最多,也最灵活。
forms 验证方式对基于用户的验证授权提供了很好的支持,可以通过一个登录页面验证用户的身份,将此用户的身份发回到客户端的cookie,之后此用户再访问这个web应用就会连同这个身份cookie一起发送到服务端。服务端上的授权设置就可以根据不同目录对不同用户的访问授权进行控制了。

12.进程和线程分别怎么理解?

进程是比线程大的程序运行单元,都是由操作系统所体会的系统运行单元,一个程序中至少要有一个进程,有一个进程中,至少要有一个线程,线程的划分尺度要比进程要小,进程拥有独立的内存单元,线程是共享内存,从而极大的提高了程序的运行效率同一个进程中的多个线程可以并发执行。

13.什么是code-behind技术。

14.活动目录的作用。

15..net中读写xml的类都归属于哪些命名空间?

16.解释一下uddi、wsdl的意义及其作用。

17.什么是soap,有哪些应用。

18.如何部署一个asp.net页面。

19.如何理解.net中的垃圾回收机制。

20.常用的调用webservice方法有哪些?

21.(Int32)cmd.ExecuteScalar()赋给Int32变量时提示转换无效?

 因为cmd.ExecuteScalar()返回的是对象o,可以看作(Int32) o,关键是看o里面的内容是什么,如果o是一个字符串,肯定是运行时出错,但如果o的内容就是一个数,那实际上并不会出错.

object o = 5;
Console.Write((int)o);
Console.Read(); //没有出错


object o = "5";

Console.Write((int)o);

Console.Read(); //编译不出错,可是运行时出错.

http://www.cnblogs.com/VisualStudio/archive/2008/10/21/1316083.html


 

http://wangying110166.blog.163.com/blog/static/31501468200852725249179/ 

posted @ 2008-10-24 15:36  做你所想  阅读(170)  评论(0)    收藏  举报