C#面试题1 (2)

  • 格式:pdf
  • 大小:220.79 KB
  • 文档页数:8

C#面试题的一些解答C#中property与attribute的区别,他们各有什么用处,这种机制的好处在哪里?一个是属性,用于存取类的字段,一个是特性,用来标识类,方法等的附加性质2.讲一讲你理解的web service,在dot net framework中,怎么很好的结合xml?(讲概念就行了)不会,正在学习中3.C#,Java和c++的特点,有什么相同的地方,不同的地方,C#分别从c++和java 中吸取了他们那些优点?相同点:都是C系的,都是面向对象不同点:Java,C#都是建立在虚拟机机制上,而C++不是4.C#可否对内存进行直接的操作?(这可是个难点哦?要注意!)可以5.用Visual C++6.0编写的代码(unmanaged code),如何在CLR下和其他dot net component结合?编译Dll,[DLLImport]6.以前作过的一些项目?介绍一下自己的编程经验。

(这是蒙混不过去的,基本一问就知道是真是假)7.你对公司有什么期望?你的薪水期望值?为什么学计算机?以前的工作经验(这非常重要)?Q3:维护数据库的完整性、一致性、你喜欢用触发器还是自写业务逻辑?为什么触发器,性能好,事务性Q4:ADO。

NET相对于ADO等主要有什么改进?新增dataset等,不需要随时保持连接,性能提高Q5:ASP。

NET与ASP相比,主要有哪些进步?asp解释形,aspx编译型,性能提高,有利于保护源码Q6:C#中的委托是什么?事件是不是一种委托?委托是一种安全的函数指针,事件是一种消息机制Q7:描述一下C#中索引器的实现过程,是否只能根据数字进行索引?不会Q8:C#中要使一个类支持FOREACH遍历,实现过程怎样?实现一个接口Q10:写一个HTML页面,实现以下功能,左键点击页面时显示“您好”,右键点击时显示“禁止右键”。

并在2分钟后自动关闭页面。

JS代码Q11:你对XMLHTTP、WEBSERVICE了解吗?简单描述其特点、作用xmlhttp可以主动获取远端web代码,类似HttpWebRequestQ12:接口和抽象类有什么区别?你选择使用接口和抽象类的依据是什么?接口用于规范,抽象类用于共性。

Q15:UML统一建模语言Q16:面向对象的概念,主要特点封装,基层,多态数据库方面:1.存储过程和函数的区别存储过程是编译好的存储在数据库的操作,函数不用说了。

2.事务是什么?具有原子性特点3.游标的作用?如何知道游标已经到了最后?指示当前记录的位置,检查NULL4.触发器分为事前触发和事后触发,这两种触发有和区别。

语句级触发和行级触发有何区别。

一个是操作前,一个是操作后1。

用C#实现以下功能a产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

int[]intArr=new int[100];ArrayList myList=new ArrayList();Random rnd=new Random();while(myList.Count<100){int num=rnd.Next(1,101);if(!myList.Contains(num))myList.Add(num);}for(int i=0;i<100;i++)intArr=(int)myList;b对上面生成的数组排序,需要支持升序、降序两种顺序ArrayList本身就能排序2。

请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

session(viewstate)简单,但易丢失application全局cookie简单,但可能不支持,可能被伪造input ttype="hidden"简单,可能被伪造url参数简单,显示于地址栏,长度有限数据库稳定,安全,但性能相对弱3。

请说明.net中的错误处理机制,并举例try catch final4。

请说出强名的含义具有自己的key,可以在GAC为公用5。

请列出c#中几种循环的方法,并指出他们的不同for wile foreach6。

请指出.net中所有类型的基类object7。

请指出GAC的含义全局程序集缓存8。

SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值select@@id...什么的,忘了您在什么情况下会用到虚方法?它与接口有什么不同?前面已说Q:Override与重载有什么区别?一个是重写父类函数,一个是同一个函数的几种形式Q:值类型与引用类型有什么区别?值和指针的区别Q:怎样理解静态变量?所有实例公用一个的变量Q:向服务器发送请求有几种方式?get postQ:DataReader与Dataset有什么区别?一个是只能向前的只读游标,一个是内存中的表Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?input type=""url数据库Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?三层,表现,逻辑,数据,安全性,维护性Q:软件开发过程一般有几个阶段?每个阶段的作用?需求分析,架构设计,代码编写,QA,部署Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?著名的singleton我给你出几个问题,够全面了吧,不面试我也行,只要给我分就行了,OK1.抽象类与接口有什么出别?2.DELEGATE是什么?Override与重载有什么区别?3.什么是事件,在什么情况下用的多?4.dataReader与dataset有什么区别?5.什么叫值类型,什么叫引用类型?6.为什么不能用类进行多重继承,它用什么代理了?7.ADO和有什么不同点?8.类和结构有什么不同和相同点?9.什么是反射,请举例说明?10.在.NET中什么类不能被继承?1.抽象类与接口有什么出别?抽象类有3个字,接口有2个字,大不相同.2.DELEGATE是什么?Override与重载有什么区别?Dele+gate删除门;重载是Override的中文意思,没有区别!3.什么是事件,在什么情况下用的多?事件就是发生的事情,在每天都会有事件发生,比如说自然灾害。

4.dataReader与dataset有什么区别?数据阅读器和数据集合,傻瓜都知道区别!5.什么叫值类型,什么叫引用类型?值类型就是俺只引用的类型,引用类型就是按地址引用的类型6.为什么不能用类进行多重继承,它用什么代理了?因为继承很多的类会造成很多不必要的麻烦7.ADO和有什么不同点?是.net的ADO8.类和结构有什么不同和相同点?结构和类的不同都拿来问!9.什么是反射,请举例说明?反射是一种光学现象。

比如说一束光线照在镜子上,他会被反射。

10.在.NET中什么类不能被继承?不能被继承的类不能被继承1.抽象类与接口有什么出别?答:类可以实现无限个接口,但仅能从一个抽象(或任何其他类型)类继承。

从抽象类派生的类仍可实现接口。

可以在创建组件时使用抽象类,因为它们使您得以在某些方法中指定不变级功能,但直到需要该类的特定实现之后才实现其他方法。

抽象类也制定版本,因为如果在派生类中需要附加功能,则可以将其添加到基类而不中断代码。

2.DELEGATE是什么?Override与重载有什么区别?答:(1)DELEGATE是什么:delegate声明定义一种引用类型,该类型可用于将方法用特定的签名封装。

委托实例封装静态方法或实例方法。

委托大致类似于C++中的函数指针;但是,委托是类型安全和可靠的.(2)Override与重载有什么区别:Override是一种接口,重载继类的构造函数或成员函数。

3.什么是事件,在什么情况下用的多?答:事件功能是由三个互相联系的元素提供的:提供事件数据的类、事件委托和引发事件的类。

.NET Framework具有命名与事件相关的类和方法的约定。

一般在以下用的多:(1)AlarmClock是引发Alarm事件的类。

(2)AlarmEventArgs为Alarm事件定义数据。

(3)AlarmEventHandler是Alarm事件的委托。

(4)WakeMeUp是具有AlarmRang方法的类,该方法处理Alarm事件。

(5)AlarmDriver是示范事件如何连结的类。

该类实例化AlarmClock和WakeMeUp。

然后,该类通过对WakeMeUp实例的AlarmRang方法的引用实例化AlarmEventHandler委托。

AlarmDriver通过向AlarmClock的实例注册该委托并用+=语法将委托添加到一个事件,完成事件连结4.dataReader与dataset有什么区别?答:dataReader的读取速度比dataset快,而dataReader不能往回读取。

dataSet可以往回读取,我想这就是datareader和dataset的区别。

5.什么叫值类型,什么叫引用类型?值类型:(1)、值类型的变量总是包含该类型的值。

对值类型变量赋值将创建所赋的值的一个副本,而对引用类型变量赋值将创建引用的副本,而不是引用对象的副本。

(2)、所有的值类型均隐式派生自Object类。

(3)、与引用类型不同,从值类型不可能派生出新的类型。

但与引用类型相同的是,结构也可以实现接口。

(4)、与引用类型不同,值类型不可能包含null值。

(5)、每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值引用类型:引用类型的变量又称为对象,可存储对实际数据的引用。

6.为什么不能用类进行多重继承,它用什么代理了?7.ADO和有什么不同点?答:ADO和的不同它们的类型化数据不一样。

8.类和结构有什么不同和相同点?(1)、类:类的实例是对象。

可以通过调用对象的方法并访问其属性、事件和字段,来访问对象的功能。

(2)、结构:9.什么是反射,请举例说明?程序集包含模块,而模块包含类型,类型又包含成员。

反射则提供了封装程序集、模块和类型的对象。

您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。

然后,可以调用类型的方法或访问其字段和属性。

反射通常具有以下用途:(1)、使用Assembly定义和加载程序集,加载在程序集清单中列出的模块,以及从此程序集中查找类型并创建该类型的实例。

(2)、使用Module了解如下的类似信息:包含模块的程序集以及模块中的类等。

您还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。

(3)、使用ConstructorInfo了解如下的类似信息:构造函数的名称、参数、访问修饰符(如public或private)和实现详细信息(如abstract或virtual)等。