面试题归纳

 经典的.net面试题目
1, 请你说说.NET中类和结构的区别?

  答:结构和类具有大体的语法,但是结构受到的限制比类要多。结构不能申明有默认的构造函数,为结构的副本是又编译器创建和销毁的,所以不需要默认的构造函数和析构函数。结构是值类型,所以对结构变量所做的改变不会影响其的原值,而类是应用类型,改变其变量的值会改变其原值。申明结构用Struck关键字,申明类用class关键字,向方法传递结构是时是通过值传递的,而不是通过引用。与类不同,结构的实例化可以不使用New关键字。类可以实现接口。

  2, 死锁的必要条件?怎么克服?

  答:系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源已阻塞,对已获得资源不放,进程获得资源时,未使用完前,不能强行剥夺。

  3,接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?

  答:接口是可以继承接口的,抽象类是可以实现接口的,抽象类可以继承实体类,但是有个条件,条件是,实体类必须要有明确的构造函数。

  4,构造器Constructor是否可以被继承?是否可以被Override?

  答:Constructor不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading).

  5,当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?

  答:不可以,一个对象的方法只能由一个线程访问。

  6,用最有效的方法算出等已8对于几?

  答:2<<3.

  7,  C#是否可以对内存直接进行操作?

  答:这个问题比较难回答,也是个很大的问题。但是可以这样问答。C#是可以对内存进行直接操作的,虽然很少用到指针,但是C#是可以使用指针的,在用的时候需要在前边加unsafe,,在.net中使用了垃圾回收机制(GC)功能,它替代了程序员,不过在C#中不可以直接使用finalize方法,而是在析构函数中调用基类的finalize()方法。

  8, Error和Exception有是区别?

  答:error表示恢复不是不可能,但是很困难,exception表示一种实际或实现问题,它表示程序运行正常不可以发生的。

  9,谈谈final,finally,finallize的区别?

  答:final用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承。

  Finally是异常处理语句结构中,表示总是执行的部分。

  Finallize表示是object类一个方法,在垃圾回收机制中执行的时候会被调用被回收对象的方法。

  10,  HashMap和Hashtable区别?

  答:HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口,主要区别是HashMap键值可以为空null,效率可以高于Hashtable。

  11,Collection和Collections的区别?

  答:Collection是集合类的上级接口,Collections是针对集合类的一个帮助类,它提供一系列静态方法来实现对各种集合的搜索,排序,线程安全化操作。

  12,C#中委托是什么?事件是不是一种委托?

  答:委托是一种安全的类似与函数指针,但是她比指针要安全的多,它可以把方法作为一个参数传递给另一个方法,可以理解为指向函数的引用。事件是一种消息机制,它是一种委托,委托不带方法体。

13,Override, Overload,的区别?

  答:Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。

  Overload是重载是意思,它也表示重写基类的方法,但是只要方法名相同,别的可以不同。

  14,在一个BS结构中需要传递变量值时,不能使用session,coolke,application,你有几中方法?

  答:this.server.Transfer,Querystring.

  15, C#种索引器实现过程,是否只能根据数字索引?

  答:不是的,可以是任意类型。

  16,New有种用法?

  答:有3种,第一种是,实例化如:New Class()

  第二种是,public new 隐藏基类的方法

  第三种是,在泛型类申明中的任何类型参数都必须有公共的无参构造函数。

  17,任何把一个Array复制到Arraylist中?

  答:Foreach (object o in Array), ArrayList.Add (0)

  等有好多中种方法。自己想。

  18,概述反射和序列化?

  答:反射提供了封装程序集,模块和类型对象,可以用反射动态地创建类型的实例,将类型绑定到现有对象,或者从现有对象类型里获取类型,然后调用类型的方法或访问字段和属性。

  序列化:将对象转换为另一种媒介传输的格式过程。如,序列化一个对象,用Http通过internet在客户端和服务器之间传递该对象,在另一端用反序列化从该流中重新得到对象。

  19,Const和ReadOnly?

  答:Const用来申明编程时申明常量,ReadOnly用来申明运行时常量。

  20,UDP和TCP连接有和异同?

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

  21,进程和线程分别该怎么理解?

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

  22,ASP.NET页面之间传递值的几种方式?

  答:QueryString,session,cookies,application,server.Transfer,respose.redictor.

  23. 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?

  答:应用程序域:就是为安全性,可靠性,隔离性,和版本控制,及卸载程序提供的隔离边界。它通常由运行库宿主创建,应用程序域提供了一个更安全,用途更广的处理单元。

  托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码。

  装箱和拆箱:是把值类型转换为引用类型的过程,是隐式的,相反的过程就是拆箱,是显式的。

  CTS是公共类型系统,CLS是公共语言规范,CLR公共语言运行库。

  强类型系统:每个变量和对象都必须具有申明类型。

24. 值类型和引用类型的区别?

  答:值类型的值是存放在堆栈中的,改变其值,不改变变量原有的值,而引用类型的值是存放在栈中的,其引用的地址是存放在堆栈中的,改变其值也就改变了变量原有的值。值类型不允许包含null值,然而可空类型可以将null赋值给值类型l。

  25. ASP.net的身份验证方式有哪些?

  答:windows,forms,passport

  26. 解释一下UDDI、WSDL的意义及其作用?

  答:UDDI是统一描述集成协议,是一套基于Web的,分布式的,为WEB服务提供的信息注册的实现标准规范,同时为也是为企业本身提供的Web服务注册以让别的企业能够发现并访问的协议标准。提供了基于标准的规范,用于描述和发现服务,还提供了一组基于因特网的实现。

  WSDL这是一个基于XML的描述WEB服务的接口。

  27. 什么是SOAP?

  答:是简单访问协议。是在分布式环境中,交换信息并实现远程调用的协议。是一个基于XML的协议。使用SOAP,可以不考虑任何传输协议,但通常还是HTTP协议,可以允许任何类型的对象或代码,在任何平台上,以任一种语言相互通信。它是一种轻量级协议。

  28. 如何部署一个ASP.net页面?

  答:vs2003,vs2005里边都有发表机制,vs2003可以发布然后在复制部署。

  Vs2005可以直接部署到对应的位置。

  29. 如何理解.net中的垃圾回收机制?

  答:.NET中的垃圾回收机制是引用程序对内存的回收和释放。当每次用new关键字创建一个对象时,运行库都要从托管堆中为其分配内存,因为空间是有限的,最终垃圾回收机制是要回收不用的内存的。已释放内存,重新使用。

  30. 面向对象的三大基本原则?

  答:封装,继承,多态。

  31. 在.NET中所有类的基类是?

  答:object。

  32. 能用foreach遍历访问的对象需要实现?

  答:需要实现IEnumerable接口和GetEnumerator ()方法。

  33. Heap与stack的差别?

  答:Heap是堆,空间是由手动操作分配和释放的,它的存储区很大的自由存储区。

  Stack是栈,是由是操作系统自动分配和释放的,栈上的空间是有限的。程序在编译期间变量和函数分配内存都是在栈上进行的,且在运行时函数调用时的参数的传递也是在栈上进行的。

    34.重载(Overload )和覆写(override)的区别
    答:方法重载:当类包含两个名称相同但签名不同(方法名相同,参数列表不相同)的方法时发生方法重载。用方法重载来提供在语义上完成相同而功能不同的方法。
       覆写:在类的继承中使用,通过覆写子类方法可以改变父类虚方法的实现。
    35.接口与继承的区别?什么时候使用接口,什么时候使用继承?
    答:接口定义一个类型需要实现的方法,属性,索引和事件,包括可能的参数类型和返回值类型,而把具体的实现交由相应的类或结构来做,从而为组件提供多态能力。
        继承常用于在一个现有父类的基础上的功能扩展,往往是我们将几个类中相同的成员提取出来放在父类中实现,然后在各自的子类中加以继承。
        接口可以实现多接口继重,而继承只能实现单继承。
        实现继承可继承父类型的实现,由于接口中没有定义方法的实现,因此必须实现继承后该接口的所有方法。
        为父类型添加方法可能不影响使用继承自该类型实现的用户,而为接口添加方法导致用户必须为新方法添加实现。
        当派生类和基类是is-a的关系是使用“继承”,典型案例“苹果 is-a 水果”,存在can-do的关系时使用“接口”
    36.ado,ado.net的区别?
    答:ADO以Recordset存储,而ADO.NET则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。ADO.NET则使用离线方式,在访问数据的时候ADO.NET会利用XML制作数据的一份幅本,ADO.NET的数据库连接也只有在这段时间需要在线。
  
  由于ADO使用COM技术,这就要求所使用的数据类型必须符合COM规范,而ADO.NET基于XML格式,数据类型更为丰富并且不需要再做COM编排导致的数据类型转换,从而提高了整体性能。

    37.asp.net页面在什么时候产生?又在什么时候销毁?
     答:asp.net页面在Begin Init时产生,在End Init时销毁
    38.Session,ViewState,Application,cookie的区别?
    答:Session:Session用于保持状态的基于 Web 服务器的方法。Session 允许通过将对象存储在Web 服务器的内存中在整个用户会话过程中保持任何对象。主要用于保持代码隐     藏类中对象的状态。为每个用创建的,用于存储单个用户,因为他是相对每个用户的.所以可能来取得在线人数等。
ViewState:主要用于保持 Web 页上控件的状态。当 Web 页上的控件被绑定到代码隐藏类中的对象。
Application用于存储所有用户都可视的信息.所以它存储的是要让所有用户共享的一些信息.如总访问数等;
Cache:页面缓存。
cookie:通常我们都把它放在客户端,也可以存储在服务器端。主要用它存储用户的个性设制,和登陆信息。

    39.简单介绍下ADO.NET和ADO主要有什么改进?

     答: ADO以Recordset存储,而ADO.NET则以DataSet表示,ADO.NET提供了数据集和数据适配器,有利于实现分布式处理,降低了对数据库服务器资源的消耗。

    40.ASP.NET与ASP相比,主要有哪些进步?

    答:ASP.NET实现了面向对象编程,预编译的服务器端代码而不像ASP那样解释执行提高了性能,代码分离易于管理,可订制和扩展性,功能强大的开发工作,更好的安全机制等。

    41.C#中的委托是什么?事件是不是一种委托?

    答:委托本质上是一种“方法接口”,它相当于C/C++中的函数指针,当然它比函数指针安全,在C#中通常用于事件处理。事件不是委托,不过由于事件的性质决定了处理它的程序逻辑能访问的参数,因此,在C#中处理事件的逻辑都包装为委托。
    42.net的机制是什么?  
     答: .net核心机制   CLR+asp.net+共享对象类别库   ,即时编译(JIT),托管机制,Common   language   runtimeCLR  
    43.net的环境是什么?  
     答: .net   framework   ,  基于IL的环境
    44.net是用什么技术实现代码和面页分离的  
     答:  Codebehind   ,代码后置功能和各种扩展了的控件
    45.asp.net和asp的分别在那儿  
     答:  asp是即时解释,asp.net是编译成.dll再用IIS调用dll和页面文件生成响应流。

    asp.net主要是运用了前后台代码分离技术、缓冲池技术,这些是asp比不上的。

                这个题目好多东西说,asp.net是编译的语言,asp不是  
                asp.net安全性高,  
                 asp.net是强语言,  
                 asp.net什么什么等等...

国内最全的.net面试题目:
1.new有几种用法
第一种:new Class();
第二种:覆盖方法
public new XXXX(){}
第三种:new 约束指定泛型类声明中的任何类型参数都必须有公共的无参数构造函数。
2.如何把一个array复制到arrayList里
foreach( object o in array )arrayList.Add(o);
3.datagrid.datasouse可以连接什么数据源 [dataset,datatable,dataview]
dataset,datatable,dataview , IList
4.概述反射和序列化
反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性
序列化:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。
5.概述o/r mapping 的原理
利用反射,配置 将类于数据库表映射
6.类成员有( )种可访问形式
可访问形式?不懂。
可访问性:public ,protected ,private,internal
7.用sealed修饰的类有什么特点
sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其他类的基类,则会发生编译时错误。
密封类不能同时为抽象类。
sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。
8.列举ADO.NET中的五个主要对象,并简单描述
connection,command,dataReader,trans,dataset ...
9.执行下面代码后:
String strTemp ="abcdefg 某某某";
Int i System.Text.Encoding.Default.GetBytes(strTemp).Length;
Int j = strTemp.Length;
问:i=(14 ) ;j=(11 )
i=(14 ) ;j=(11 ) 中文两个字节
10.C#中,string str = null 与 string str ="",请尽量用文字说明区别。(要点:说明详细的内存空间分配)
string str ="" 分配空间
11.详述.NET里class和struct的异同!
class:放在 ? struct放在?
struct值传递
类与结构有很多相似之处:结构可以实现接口,并且可以具有与类相同的成员类型。然而,结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承。结构的值存储在“在堆栈上”或“内联”。细心的程序员有时可以通过聪明地使用结构来增强性能。
12.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。
远程逻辑调用,remoing接口只能用在.net中
13.什么是code-behind技术
aspx and cs
14.概述三层结构体系
web/business/dataaccess
15.asp.net如何实现MVC模式,举例说明!
web/business/dataaccess
----------------------------------------------------------------------------------------------------------
1.面向对象的思想主要包括什么?
答:继承、封装、多态、抽象;面向对象4要素.
2.什么是ASP.net中的用户控件
答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.
3.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
答:装箱就是把值类型转成引用类型,从MS IL角度看好像是boxing,没记错的话是把值从堆栈转到堆中.拆箱相反,重载就是指一个方法名同,参数个数不同,返回值可以相同的方法.CLR是通用语言运行时,其它的不清楚.
4.列举一下你所了解的XML技术及其应用
答:XML可是好东西,保存配置,站与站之间的交流,WEB SERVICE都要用它.
5.值类型和引用类型的区别?写出C#的样例代码。
答:结构是值类型,类是引用类型,所以传结构就是值类型的应用啦,传对象或类就是引用类型的,这个不用多写了吧.
6.ADO.net中常用的对象有哪些?分别描述一下。
答:connection command sqladapter dataset datatable dataview等等.写不完了.
7.如何理解委托?
答:据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.
msdn2005中是这样解释的:
委托具有以下特点:
委托类似于 C++ 函数指针,但它是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。
C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。
8.C#中的接口和类有什么异同。
答:这个异同可多了,要说清楚还真不容易.
9.。net中读写数据库需要用到哪些类?他们的作用
答:这个类自已可以写的啊,你是指基类吗?那configuration,sqlconnection,sqlcommand等都要用到.
10.UDP连接和TCP连接的异同。
答:前者只管传,不管数据到不到,无须建立连接.后者保证传输的数据准确,须要连结.
11.ASP.net的身份验证方式有哪些?分别是什么原理?
答:form认证,windows集成认证等,原理不清楚.
12.进程和线程分别怎么理解?
答:进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有多个儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子.
13.什么是code-Behind技术。
答:代码分离,这是个明智的东西,像ASP这样混成一堆很不爽.或者可以理解成HTML代码写在前台,C#代码写在后台.当然前台也有脚本,类的调用等,其实写在一起也是可以的.
14.活动目录的作用。
答:从本质上讲,活动目录就是一个名字空间,我们可以把名字空间理解为任何给定名字的解析边界,这个边界就是指这个名字所能提供或关联、映射的所有信息范围。通俗地说就是我们在服务器上通过查找一个对象可以查到的所有关联信息总和,
15..net中读写XML的类都归属于哪些命名空间?
答:System.Xml
我自已写的就不一定了,嘿嘿.
16.解释一下UDDI、WSDL的意义及其作用。
答:什么东西?
17.什么是SOAP,有哪些应用。
答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:http://playist.blogchina.com/2521621.html
18.如何部署一个ASP.net页面。
答:随便啦,想直接上传就直接上传,想打包成EXE就打包,看个人喜好.
19.如何理解.net中的垃圾回收机制。
答:GC?对象创建了总要清除啊,不然内存哪够用?
20.常用的调用webservice方法有哪些?
答:调用就调用,还有很多方法吗?
以上有答案的仅供参考(不一定正确哦),如果你有更好的答案请回复告诉我
.NET面试题(0)
1.ASP.NET中的身份验证有那些?你当前项目采用什么方式验证请解释
2.什么是WEB控件?使用WEB控件有那些优势?
3.请解释ASP。NET中以什么方式进行数据验证?
4.请谈谈对正则表达式的看法?
5.ASP。NET中共有几种类型的控件?各有什么区别?
6.WEB控件可以激法服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。
7.WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
8.ASP。NET与ASP相比有什么优势?
9.请解释web.config文件中的重要节点
10.请解释ASP。NET中的web页面与其隐藏类之间的关系?
11.什么是viewstate,能否禁用?是否所用控件都可以禁用?


13.当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决
14.请解释一个WEB页面中代码执行次序。
15.请解释什么是上下文对象,在什么情况下要使用上下文对象
16.请解释转发与跳转的区别?
17.请解释ASP.NET中不同页面之间数据传递有那些方式?
18.请解释ASP。NET中button  linkbutton imagebutton 及hyperlink这四个控件之间的功别
19.请解释一下。NET多层应用程序中层与层之间以那几种方式进行数据传递。并解释你自己的项目中采用那种方式进行。
20.如果出现ASP。NET中的事件不能触发可能由于什么原因造成?
21.如果需要在datagride控件中的某一列中添加下拉列表框并绑定数据怎么解决?
22.请解释asp.net中的数据绑定与传统数据绑定有什么区别?
23.请解释.net采用委托实现的事件模型与JAVA中采用接口实现的事件模型有什么区别,以图示方式解释。
24.请解释接口的显式实现有什么意义?
第一,谈谈final, finally, finalize的区别。
第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
第四,&和&&的区别。
第五,HashMap和Hashtable的区别。
第六,Collection 和 Collections的区别。
第七,什么时候用assert。
第八,GC是什么? 为什么要有GC?
第九,String s = new String("xyz");创建了几个String Object?
第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
第十二,sleep() 和 wait() 有什么区别?
第十三,Java有没有goto?
第十四,数组有没有length()这个方法? String有没有length()这个方法?
第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
第十七,给我一个你最常见到的runtime exception。
第十八,error和exception有什么区别?
第十九,List, Set, Map是否继承自Collection接口?
第二十,abstract class和interface有什么区别?
第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
第二十三,启动一个线程是用run()还是start()?
第二十四,构造器Constructor是否可被override?
第二十五,是否可以继承String类?
第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
第三十二,编程题: 写一个Singleton出来。

 

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

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

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

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

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

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

7.如何理解委托?

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

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

10.UDP连接和TCP连接的异同。

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

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

13.什么是code-Behind技术。

14.活动目录的作用。

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

16.解释一下UDDI、WSDL的意义及其作用。

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

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

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

20.常用的调用webservice方法有哪些?
NET面试题(1)

Q:您在什么情况下会用到虚方法?它与接口有什么不同?

Q:Override与重载有什么区别?

Q:值类型与引用类型有什么区别?

Q:怎样理解静态变量?

Q:向服务器发送请求有几种方式?

Q:DataReader与Dataset有什么区别?

Q:如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?

Q:用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

Q:软件开发过程一般有几个阶段?每个阶段的作用?

Q:微软推出了一系列的Application Block,请举出您所知道的Application Block并说明其作用?

Q:请列举一些您用到过的设计模式以及在什么情况下使用该模式?

Q:您对WebService的体会?

Q:您对编程的兴趣如何?工作中遇到不懂的问题是怎样去解决的?您一般怎样去提高自己的编程水平?

Q:您离职的原因是什么?

以下几道题目如果您不会,请较为详细的描述您的解决思路和方法

Q:通过超链接怎样传递中文参数?

Q:请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

Q:请编程实现一个冒泡排序算法?

.NET面试题(2)

一道数据库设计的面试题,考查的重点和供参考的解决方案如下。

==================================

一大型企业,有10000名员工,每半个月发一次工资,试为此企业设计一个工资数据库.(数据库为SQL server).


这题考查的重点是面对数据量大时,如何设计一个系统的性能好、速度快的数据库。

-----------------------------------------

可供参考的解决方法有几点,希望大家补充:

1.建立索引是必须的。

2.可以设计成两个表,一个用来操作,一个用来查询。操作表只保存最近若干段时间内的数据,就如移动公司查询话费记录。

3.查询考虑用最优的存储过程。

.NET面试题(3)

1.写一个实现对一段字符串翻转的方法,附加一些条件,如其中包括“,”、“.”,对其设计测试用 例 。

2.对一支纸杯设计测试用例(可以是广义的杯,不一定是某一支特定功能的杯)

开发语言概念题
3.什么是反射?
4.用Singleton如何写设计模式
5.C#中的垃圾回收机制是怎样的?
6.什么是Application Pool?
7.链表和数组的区别,各有什么优缺点.
8.Remoting在客户端服务器怎么实现 ?
9.什么是友元函数?
10.用标准C如何实现多态?
11.什么是虚函数?
12.什么是抽象函数?

13.什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?

英语题
14.用英文介绍一下使用C#/C++做的项目,主要功能
15.如果要与美国开电话会议,会如何与美国的工程师沟通
16.如果老板认为你的技术落后,你会怎么回答

数据库知识题
17.使用什么工具来调用存储过程
18.SQL Server的两种索引是何形式?索引的作用?索引的优缺点?
19.触发器的作用

其它知识题及问题
20.什么是Web Service?
21.什么是XML?
22.Socket怎么实现?


.NET面试题(4)

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

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

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

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

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

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

7.如何理解委托?

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

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

10.UDP连接和TCP连接的异同。

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

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

13.什么是code-Behind技术。

14.活动目录的作用。

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

16.解释一下UDDI、WSDL的意义及其作用。

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

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

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

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


1:a=10,b=15,在不用第三方变题的前提下,把a,b的值互换

1,a=10,b=15
a=a+b;
b=a-b;
a=a-b

2:已知数组int[] max={6,5,2,9,7,4,0};用快速排序算法按降序对其进行排列,并返回数组
答:
private int[] Order()
{
int[] maxArray={6,5,2,9,7,4,0};

int max = 0;
int[] result = new int[maxArray.Length];

for (int i=0;i<maxArray.Length;i++)
{
if (maxArray[i] > max)
{
max = maxArray[i];
}
}
result[0] = max;

for (int j=1;j<maxArray.Length-1;j++)
{
max = getMaxNum(max,maxArray);
result[j] = max;
}

return result;
}

/// <summary>
/// 获取数组中最大的数
/// </summary>
/// <param name="compareNum"></param>
/// <param name="newArray"></param>
/// <returns></returns>
private int getMaxNum(int compareNum,int[] newArray)
{
int max = 0;
for (int i=0;i<newArray.Length;i++)
{
if (newArray[i] >= max && compareNum> newArray[i])
{
max = newArray[i];
}
}
return max;
}
3:请简述面向对象的多态的特性及意义!
答:多态:1编译期多态,2运行期多态
1 :类属,重载
2 :重写+静态类型+动态类型
/提供了一种晚绑定的机制,相对于静态绑定(在编译器运行时,JMP指令在编译时直接跳转到函数的入口点),虚方法主要是根据实际类型来进行绑定,用ILDASM反汇编可以看出,主要根据call和callvert指令来判断,C++多态中是通过位置来查找的,如果一个控件定义80个虚方法,子类重写3个方法,方法表指针还将是80,这设计的思想是丑陋的,很多公司都采用了不同的方法。
4:session喜欢丢值且占内存,Cookis不安全,请问用什么办法代替这两种原始的方法
用VIEWSTATE  /Profile/自己在服务器端实现个Cache

5:对数据的并发采用什么办法进行处理较好。
答可以控制连接池的连接数量
条件好的话 可以用负载平衡

6:已知Oracle数据库有GD和ZS两个数据库,GD数据库v_s表有数据写入时,从v_s表中提取最新数据到ZS数据库的D_E表中。请问用什么办法解决这一问题?如果又碰到不能互访的问题时,又用什么办法解决?

7:已知Oracle数据库a,b
现在在a用户权限下,访问b数据库sql语句为select a.* From b a,请改正这一句Sql的写法

8:当对数据库进行海量级的数据插入时,数据库出现报错,错误原因可能有哪些,以你的经验谈谈你的解决办法

分割数据库

8.5如何删除重复记录?
DELETE FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);

9:算法分析
AH 20060625 12 44 01 CAD001
AH 20060625 12 44 01 CAD001
AH 20060625 13 44 02 CAD001
AH 20060625 14 44 03 CAD001
说明:第二列表示日期,第三列表示温度,第四列表示水位,第五列表示流量,第6列表示水位测站编码,每一列表示一个字段
很明显第一条数据和第二条数据重复,然数据表中有主键和外键的约束,是不允许有重复的数据存在的,请构造算法将重复的数据Del掉

答:改变表结构
  alter   table   表   add     ID  int   identity(1,1)  
  delete   表  
  where   newfield   not   in  
  (  
  select   top 1 ID  from 表 group by 日期,温度,水位,流量,水位测站编码 
  )      
  alter   table   表   drop   column   ID

10:javascript算法
1.已知a,b,现在点鼠标a会向b游动,鼠标停,a会停下来
请实现"跑步算法"
2.两个输入栏,在第一栏中回车,跳到第二个,在第二个栏回车,跳到第一个;
产品表                   销售计划表
ProductID 产品名 单价 ProductID 客户名  订货数量  销售单价
1 name1 110 2 m 2 250
2 name2 220 1 n 3 110
3 name3 330 3 n 1 300
4 name4 440   4 m 2 400
1.是否能删除产品表中的name2?请说明理由与过程。
2.将销售计划表中m客户的产品名为name2的销售单价更换为产品表中相应的单价
3.求销售计划表中各客户各自的销售总金额的sql语句
4.求客户中销售总量最大的销售总金额的 .Net Development 客户的sql语句
5.什么是事务(transaction)?它有什么好处。
6.update table2...数据库为默认设置能不能开始事务?为什么。
7.B/S系统一般分为几层?请说明理由.
8.说说ADO.NET中几个数据库处理的核心对象。

1.将手机号转化为由随机字母表示?
2.描述数据适配器中的多表查询?
3.调用存储过程及返回值的提取?
4.SQL中游标的定义?
5.ASP.NET中,用手工的形式对字段进行数据绑定及分页方法?
6.有一人事表,计算两个同时入职的员工的生日的差,用一句 SQL语句 将EGTB1中的结果变成EGTB2的结果?
Field_AField_BField_C
User12004-10-261981-01-01
User22004-10-261976-01-01
………
Field_B Name_1Name_2Field_4
2004-10-26User1User21825
…………
Question 31. (单选)
  根据线程安全的相关知识,分析以下代码,当调用test方法时i>10时是否会引起死锁?
public void test(int i)
{
lock(this)
{
if (i>10)
{
i--;
test(i);
}
}
}
   1. 会锁死
   2. 不会锁死
Question 32. (单选)
  以下描述错误的是()
  1. 在C++中支持抽象类而在C#中不支持抽象类。
  2. C++中可在头文件中声明类的成员而在CPP文件中定义类的成员,在C#中没有头文件并且在同一处声明和定义类的成员。
  3. 在C#中可使用 new 修饰符显式隐藏从基类继承的成员。
  4. 在C#中要在派生类中重新定义基类的虚函数必须在前面加Override。

Question 33. (单选)
  int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; myArray3[2][2]的值是()。
  1. 9
  2. 2
  3. 6
  4. 越界

Question 34. (单选)
  在C#中利用Socket进行网络通信编程的一般步骤是:建立Socket侦听、( )、利用Socket接收和发送数据。
  1. 建立Socket连接
  2. 获得端口号;
  3. 获得IP地址;
  4. 获得主机名;

Question 35. (单选)
  如果设treeView1=new TreeView(),TreeNode node=new TreeNode("根结点" ),则treeView1.Nodes.Add(node)返回的是一个 ()类型的值。
  1. TreeNode;
  2. int;
  3. string;
  4. TreeView;

Question 36. (单选)
  声明一个委托public delegate int myCallBack(int x); 则用该委托产生的回调方法的原型应该是
  1. void myCallBack(int x)
  2. int receive(int num)
  3. string receive(int x)
  4. 不确定的

Question 37. (单选)
  关于ASP.NET中的代码隐藏文件的描述正确的是
  1. Web窗体页的程序的逻辑由代码组成,这些代码的创建用于与窗体交互。编程逻辑唯一与用户界面不同的文件中。该文件称作为“代码隐藏”文件,如果用C#创建,该文件
  2. 项目中所有Web窗体页的代码隐藏文件都被编译成.EXE文件
  3. 项目中所有的Web窗体页的代码隐藏文件都被编译成项目动态链接库(.dll)文件
  4. 以上都不正确

Question 38. (单选)
  What compiler switch creates an xml file from the xml comments in the files in an assembly?
  1. /text
  2. /doc
  3. /xml
  4. /help

Question 39. (单选)
  下面的代码实现了设计模式中的什么模式
  public class A {
  private A instance;
  private A() {
  }
  public static A Instance {
  get
  {
  if ( A == null )
  A = new A();
  return instance;
  }
  }
  }
   1. Factory
   2. Abstract Factory
   3. Singleton
   4. Builder

Question 40. (单选)
class Class1
{
public static int Count = 0;
static Class1()
{
Count++;
}
public Class1()
{
Count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
  请问,Class1.Count的值是多少?( )
   1. 1
   2. 2
   3. 3
   4. 4
Question 41. (单选)
abstract class BaseClass
{
public virtual void MethodA()
{
Console.WriteLine("BaseClass");
}
public virtual void MethodB()
{
}
}
class Class1: BaseClass
{
public void MethodA()
{
Console.WriteLine("Class1");
}
public override void MethodB()
{
}
}
class Class2: Class1
{
new public void MethodB()
{
}
}
class MainClass
{
public static void Main(string[] args)
{
Class2 o = new Class2();
o.MethodA();
}
}
  请问,此程序输出结果是:
   1. BaseClass
   2. BassClass Class1
   3. Class1
   4. Class1 BassClass

Question 42. (单选)
public static void Main(string[] args)
{
int i = 2000;
object o = i;
i = 2001;
int j =(int) o;
Console.WriteLine("i={0},o={1}, j={2}",i,o,j);
}
   1. i=2001,o=2000,j=2000
   2. i=2001,o=2001,,j=2001
   3. i=2000,o=2001,,j=2000
   4. i=2001,o=2000,j=2001

Question 43. (多选)
  您要创建ASP.NET应用程序用于运行AllWin公司内部的Web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个HTTP代码错误时它可以显示一个自定义的错误页面给用户。您想要花最小的代价完成这些目标,您应该怎么做?(多选)
   1. 在这个应用程序的Global.asax文件中创建一个Application_Error过程去处理ASP.NET代码错误。
   2. 在这个应用程序的Web.config文件中创建一个applicationError节去处理ASP.NET代码错误。
   3. 在这个应用程序的Global.asax文件中创建一个CustomErrors事件去处理HTTP错误。
   4. 在这个应用程序的Web.config文件中创建一个CustomErrors节去处理HTTP错误。

Question 44. (单选)
  如下程序的运行结果是:
public abstract class A
{
public A()
{
Console.WriteLine('A');
}
public virtual void Fun()
{
Console.WriteLine("A.Fun()");
}
}
public class B: A
{
public B()
{
Console.WriteLine('B');
}
public new void Fun()
{
Console.WriteLine("B.Fun()");
}
public static void Main()
{
A a = new B();
a.Fun();
}
}
   1. A B A.Fun()
   2. A B B.Fun()
   3. B A A.Fun()
   4. B A B.Fun()

Question 45. (单选)
  Which of these string definitions will prevent escaping on backslashes in C#?*
   1. string s = #”n Test string”;
   2. string s = “’n Test string”;
   3. string s = @”n Test string”;
   4. string s = “n Test string”;

Question 46. (单选)
  Which of the following operations can you NOT perform on an ADO.NET DataSet?
   1. A DataSet can be synchronised with a RecordSet.
   2. A DataSet can be synchronised with the database.
   3. A DataSet can be converted to XML.
   4. You can infer the schema from a DataSet

Question 47. (单选)
  In Object oriented Programming, how would you describe encapsulation?
   1. The conversion of one type of object to another.
   2. The runtime resolution of method calls.
   3. The exposition of data.
   4. The separation of interface and implementation.

Question 48. (单选)
  How does assembly versioning in .NET prevent DLL Hell?
   1. The runtime checks to see that only one version of an assembly is on the machine at any one time.
   2. .NET allows assemblies to specify the name AND the version of any assemblies they need to run.
   3. The compiler offers compile time checking for backward compatibility.
   4. It doesn’t.

Question 49. (单选)
  三种常用的字符串判空串方法:
   1: bool isEmpty = (str.Length == 0);
   2: bool isEmpty = (str == String.Empty);
   3: bool isEmpty = (str == "");
  哪种方法最快?
   1. 1
   2. 2
   3. 3

Question 50. (单选)
public sealed class SampleSingleton1
{
private int m_Counter = 0;
  private SampleSingleton1()
{
Console.WriteLine(""初始化SampleSingleton1。"");
}
public static readonly SampleSingleton1 Singleton = new SampleSingleton1();
public void Counter()
{
m_Counter ++;
}
}
  以上代码实现了设计模式中的哪种模式?
   1. 原型
   2. 抽象工厂
   3. 单键
   4. 生成器
一份面试题 2005-06-16 12:34 pgmfan
一、写一个程序,语言不限,打印出100的阶乘(即1*2*3*…*100)的精确数值结果(不能是浮点数)。如5的阶乘是1*2*3*4*5=120。
二、写一个程序,语言不限,能将人民币金额从阿拉伯数字转换为大写汉字表示。例如,把1234.56转换为壹仟贰佰叁拾肆圆零伍角陆分。
三、在SQL Server 数据库中,有一个表StudentAchievement(学生成绩),它有三个字段:StudentID(varchar(8),学生编号),CourseID(varchar(10),课程编号),Achievement(int ,成绩),写一条SQL语句,筛选出每门课程的前两名的学生编号,课程编号,成绩并排序。
四、编程实现求出若干个整数之和为500的连续整数(如98,99,100,101,102),所有组合。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值