AeogniASPNET面试题大全

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

生活需要游戏,但不能游戏人生;生活需要歌舞,但不需醉生梦死;生活需要艺术,但不能投机取巧;生活需要勇气,但不能鲁莽蛮干;生活需要重复,但不能重蹈覆辙。-----无名内容摘要:private、protected、public、internal修饰符的访问权限,ASP.NET页面之间传递值的几种方式,C#中的委托是什么,件是不是一种委托,override与重载的区别,实现一个冒泡排序算法....关键词:asp.net面试题JavaScript面试题本文地址:内容正文:1.简述private、protected、public、internal修饰符的访问权限。答.private:私有成员,在类的内部才可以访问。protected:保护成员,该类内部和继承类中可以访问。public:公共成员,完全公开,没有访问限制。internal:在同一命名空间内可以访问。2.列举ASP.NET页面之间传递值的几种方式。答.1.使用QueryString,如....?id=1;response.Redirect()....2.使用Session变量3.使用Server.Transfer3.一列数的规则如下:1、1、2、3、5、8、13、21、34......求第30位数是多少,用递归算法实现。答:publicclassMainClass{publicstaticvoidMain(){Console.WriteLine(Foo(30));}publicstaticintFoo(inti){if(i=0)return0;elseif(i0&&i=2)return1;elsereturnFoo(i-1)+Foo(i-2);}}4.C#中的委托是什么?事件是不是一种委托?答:委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托5.override与重载的区别答:override与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要Override是进行基类中函数的重写。为了适应需要。6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?答:this.Server.Transfer7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?答:foreach(System.Windows.Forms.Controlcontrolinthis.Controls){if(controlisSystem.Windows.Forms.TextBox){System.Windows.Forms.TextBoxtb=(System.Windows.Forms.TextBox)control;tb.Text=String.Empty;}}8.请编程实现一个冒泡排序算法?答:int[]array=newint[*];inttemp=0;for(inti=0;iarray.Length-1;i++){for(intj=i+1;jarray.Length;j++){if(array[j]array[i]){temp=array[i];array[i]=array[j];array[j]=temp;}}}9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。可以用任意类型。10.求以下表达式的值,写出您想到的一种或几种实现方法:1-2+3-4+……+m答:intNum=this.TextBox1.Text.ToString();intSum=0;for(inti=0;iNum+1;i++){if((i%2)==1){Sum+=i;}else{Sum=Sum-I;}}System.Console.WriteLine(Sum.ToString());System.Console.ReadLine();--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------1)描述线程与进程的区别?线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。一个进程可以包括若干个线程,同时创建多个线程来完成某项任务,便是多线程。而同一进程中的不同线程共享代码和数据空间。用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任务的时候,家庭也可以派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的财产。2)什么是Windows服务,它的生命周期与标准的EXE程序有什么不同Windows服务是运行在windows后台指定用户下(默认System)的应用程序,它没有标准的UI界面,想比标准的EXE程序,Windows服务是在服务开始的时候创建,而在服务结束的时候销毁,而且可以设置服务是否与操作系统一起启动,一起关闭。它支持三种方式:1)自动方式2)手动方式3)禁用。自动方式的时候,windows服务将在OS启动后自动启动运行,而手动方式则必须手工启动服务,禁用的情况下服务将不能被启动。另外标准的EXE默认使用的当前登录的用户,而windows服务则默认使用System用户,这在对系统资源访问的时候特别需要注意。3)Windows单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响?这个需要针对硬件平台,公式为单个进程能访问的最大内存量=2的处理器位数次方/2,比如通常情况下,32位处理器下,单个进程所能访问的最大内存量为:232/2=2G。单个进程能访问的最大内存量是最大虚拟内存的1/2,因为要分配给操作系统一半虚拟内存。4)什么是强类型,什么是弱类型?哪种更好些?为什么?强类型是在编译的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如c++,java,c#,pascal等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如javascript,vb等5)PID是什么?在做系统的故障排除时如何使用它?PID是进程编号,在系统发现故障的时候,可以根据它寻找故障所发生的具体进程,并且可通过visualstudio.net等ide将故障进程附加到进程中进行调试(debug)6)单个TCP/IP端口上能够被多少个进程侦听?1个7)什么是GAC?它解决了什么问题?GloalAssemblyCache,全局应用程序集缓存。它解决了几个程序共享某一个程序集的问题。不必再将那个被共享的程序集拷贝到应用程序目录了,其实这道理很简单,.net应用程序在加载的时候,会首先查看全局应用程序集缓存,如果有就可以直接使用,没有再到应用程序目录进行查找。中级.NET开发人员1)阐述面向接口、面向对象、面向方面编程的区别面向接口更关注的是概念,它的原则是先定义好行为规范,再根据行为规范创建实现,严格的来说,面向接口应该是面向对象中的一部分吧,因为面向对象也强调的是本末倒置原则,也就是实现依赖于抽象,而抽象不依赖于具体实现,更具比较的应该是面向接口与面向抽象对象,我的体会是面向接口更加灵活,但实现时候,稍微有些代码冗余,而面向抽象可以结合面向接口,先定义接口,再定义抽象类,在抽象类中处理一些公共逻辑,再实现具体实现类。面向对象是对复杂问题的分解。面向方面的编程是一种新概念,它解决了很多面向对象无法解决的问题,比如面向对象技术只能对业务相关的代码模块化,而无法对和业务无关的代码模块化。而面向方面正是解决这一问题的方案,它的关键思想是将应用程序中的商业逻辑与对其提供支持的通用服务进行分离。2)什么是Interface?它与AbstractClass有什么区别?接口(Interface)是用来定义行为规范的,不会有具体实现,而抽象类除定义行为规范外,可以有部分实现,但一个类能实现多个接口,但只能继承一个父类3)什么是反射?程序集包含模块,而模块又包括类型,类型下有成员,反射就是管理程序集,模块,类型的对象,它能够动态的创建类型的实例,设置现有对象的类型或者获取现有对象的类型,能调用类型的方法和访问类型的字段属性。它是在运行时创建和使用类型实例4)使用ASMX的XMLWeb服务与使用SOAP的.NETRemoting的区别?Web服务使用的消息机制,而Remoting采用的RPC.WebService能用于不同平台,不同语言,Remoting只适用于.Net。效率上Remoting高于XmlWebService5)类型系统是由XMLSchema表示的吗?CLS是XMLSchema表示的吗?不清楚6)从概念上阐述前期绑定(early-binding)和后期绑定(late-binding)的区别?这个就像是强弱类型的比较相似,前期绑定是在编译的时候就确定了要绑定的数据,而后期绑定是在运行的时候才填充数据。所以前期绑定如果失败,会在编译时报编译错误,而后期绑定失败只有在运行时的时候才发生7)调用Assembly.Load算静态引用还是动态引用?动态==========================================================================================================================21.在.net中,配件的意思是?答:程序集。(中间语言,源数据,资源,装配清单)22.常用的调用WebService的方法有哪些?答:1.使用WSDL.exe命令行工具。2.使用VS.NET中的AddWebReference菜单选项23..netRemoting的工作原理是什么?答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。24.在C#中,stringstr=null与stringstr=“”请尽量使用文字或图象说明其中的区别。答:stringstr=null是不给他分配内存空间,而stringstr=给它分配长度为空字符串的内存空间。25.请详述在dotnet中类(class)与结构(struct)的异同?答:Class可以被实例化,属于引用类型,是分配在内存的堆上的,Struct属于值类型,是分配在内存的栈上的.26.根据委托(delegate)的知识,请完成以下用户控件中代码片段的填写:namespacetest{publicdelegatevoidOnDBOperate();publicclassUserControlBase:System.Windows.Forms.UserControl{publiceventOnDBOperateOnNew;privatevoidtoolBar_ButtonClick(objectsender,System.Windows.Forms.ToolBarButtonClickEventArgse){if(e.Button.Equals(BtnNew)){//请在以下补齐代码用来调用OnDBOperate委托签名的OnNew事件。

1 / 45
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功