Jelly's小窝

读书也象开矿一样,“沙里淘金”。——赵树理

导航

.net c# 面试题(一)

1.面向对象的思想主要包括什么?
封装、多态、继承、
2.什么是ASP.net中的用户控件
用来自定义控件,与.net提供的其他控件使用方式相同,主要为满足开发人员的个性化需要。通常保存为.ascx文件。
3.什么叫应用程序域?
一组程序集的一个逻辑容器,其目的是提供隔离性,防止了安全漏洞、数据破坏和其他无法预测行为的发生,从而使应用程序更健壮。一个应用程序域中创建的对象不能被另外一个应用程序域中的代码直接访问。应用程序域可额外添加,也可以在不影响其他应用程序的情况下卸载,而且能单独实施安全策略和配置策略。
什么是受管制的代码?
在clr环境下的代码。clr将IL编译为本地命令并提供数组边界检查、索引检查、异常、垃圾回收机制来保障代码的安全。
什么是强类型系统?

什么是装箱和拆箱?
类型分为值类型和引用类型,值类型在堆栈上分配,其内存由系统自动回收;引用类型在托管堆上分配,其内存由垃圾回收机制来负责回收。将值类型转换为引用类型即为装箱,主要内容是:在托管堆上分配内存保存现有的值类型对象的值,并保存对该对象的引用地址,原有的对象将被自动回收。将引用类型转换为值类型即为拆箱,只要内容是:在堆栈上重新分配空间保存原有对象的值,原有的对象将成为垃圾回收的对象。
什么是重载?
同一个类中对于同一个功能的不同方法实现。这些方法具有相同方法名,但参数或返回值不同。
CTS、CLS和CLR分别作何解释?

CTS:通用型别系统。
CLS:公共语言规范。
CLR:公共语言运行时。
4.列举一下你所了解的XML技术及其应用
xml:xpath、xml infoset、xslt、xlsd
应用:webservice中都能用到、作为配置文件、在网络中传递的文件
5.值类型和引用类型的区别?写出C#的样例代码。
主要区别在于2种类型的对象的内存分配方式、分配位置、内存回收方式不同。
值类型:在栈中分配,由系统自动回收;
引用类型:在托管堆中分配,对象的地址保存在栈中,内存由垃圾回收机制来保证回收。
6.ADO.net中常用的对象有哪些?分别描述一下。
Connection:用于建立和释放连接,并可以用来开始一个事务;
Command:存储和执行命令,并为命令指定参数;
DataReader:对数据库中的数据提供只进的读取;
DataAdpter:构建于DataReader之上,用于创建和操纵DataSet的实体。
7.如何理解委托?
委托:net提供的一种回调函数机制,也可以说是一种类型安全的托管函数指针。它类似于c++中的函数指针,但比函数指针有以下优点:是类型安全全的、提供多个方法的调用、提供静态函数、实例函数的调用。 
8.C#中的接口和类有什么异同。
相同点:都能继承
不同点:
类:只能单继承、可以实例化一个类、父类与子类的关系是is-a
接口:可以多继承、不能实例化、接口与实现接口的类的关系是can-do。
9..net中读写数据库需要用到哪些类?他们的作用
Connection:用于建立和释放连接,并可以用来开始一个事务;
Command:存储和执行命令,并为命令指定参数;
DataReader:对数据库中的数据提供只进的读取;
DataAdpter:构建于DataReader之上,用于创建和操纵DataSet的实体。
10.UDP连接和TCP连接的异同。
UDP:无连接的传输层协议。提供面向事务的简单不可靠信息传递服务。
TCP:面向连接的、可靠的、基于字节流的传输层协议。
11.ASP.net的身份验证方式有哪些?分别是什么原理?
windows验证:使用用户的windows身份验证,与iis验证结合实现。
forms验证:系统提供登录页面,用户输入用户名密码与数据库中的数据对比验证。
passsport验证:单独签名技术的实现。用户拥有自己的验证票据,可以出示给每个要访问的站点。当要访问的站点知道passport验证模式,则该站点可以当场验证用户,而不必通过登录页面验证。
12.进程和线程分别怎么理解?
进程:资源分配的最小单位。处理机的调度单位。有一个完整的虚拟地址空间。进程的调度与切换由操作系统内和完成。
线程:与资源分配无关,它属于一个进程,与进程中的其他线程共享进程资源。线程的调度与切换可以由操作系统或用户程序控制完成。
13.什么是code-Behind技术。
aspx、aspx.cs,将页面显示的代码与后台控制代码分开,便于阅读、维护。
14.活动目录的作用。
存储网络上各种对象的有关信息。并使该信息易于管理员管理和用户查找。
15..net中读写XML的类都归属于哪些命名空间?
system.xml
16.解释一下UDDI、WSDL的意义及其作用。
uddi:用来搜寻网络上的webservice。
wsdl:webservice的定义语言。用来描述webservice如何调用。
17.什么是SOAP,有哪些应用。
soap:定义了封套以及在封套中发送的信息的表示规则。包含body、head等。有3大核心:封套、编码规则、远程调用和应答的约定。
应用:webservice的信息传递、.net remoting
18.如何部署一个ASP.net页面。
将页面copy置c:\inetpub\wwwroot\XXX目录下
19.如何理解.net中的垃圾回收机制。
目的:减轻开发人员负担,减少由于开发人员忘记内存回收而引起的内存泄露。
机制:在内存中开辟一块空间保存所有的变量。这块空间在逻辑上分为3个代:第0、1、2代。对象首先分配在第0代,当第0代充满后,检查所有的变量,将还在使用的对象移置第1代,第0代被情空。新对象分配至第0代。当第0、1代都被充满时,将第1代中的还在使用的对象移置第2代,第0代对象移置第1代。
20.常用的调用webservice方法有哪些?
1.以引用的方式调用
2.html调用

参考答案:
1 继承 多态 封装
2 用户控件. 不会说懂得做
3 装箱和拆箱发生 值类型向引用类型转换,和引用类型向值类型转  重载:同一个函数参数不同
4.xml可以用来做网页(xslt) xml可以当作数据库 xml可以用来保存对象的系列化
5值类型,没有什么好说的.引用类型用处是返回两个以上参数的时候比较好用 ref out 我常用的是out不要先赋值
6  ado.net 我直接用 sqlhelper了 有connection command 还有参数
7 回调机制比较有用的.在net中采用了委托.
8 接口,是可以多继承,类只有单继承.接口强调了你必须实现,而没有具本实现的方法和虚类有点相似
9 datareader dataset 还有一个不太常用
10 udp不要实现什么三次握手.
11 asp.net身份验证最常用还是以前的session方法. form验证没有用过. 微软的哪个也没有用过
12 进程简单理解为单个程序吧(按ctrl+alt+del)可以看到的.它至少有一个主线程 .
13 代码后置..不懂得讲
14 活动目录.. 完全不会
15 system.xml (system.io创建目录的时候用)
16 这个也是web服务里的东西.
17 soap简单协议.我只知道.web服务是基于它之上的
18 部置一个页面. 也就是说没有代码是直接写在aspx中的了.只接放在IIS的虚拟目录下就行了.当然要asp.net支持
19 垃圾回收..一般的只要掌握.非托管对象要记得释放资源就行了吧.
20 直接在vs.net里面引用就OK了.它会自己生成一个代理类

posted on 2007-08-14 17:10  JellyHu  阅读(472)  评论(0编辑  收藏  举报