收藏 分享(赏)

net面试题目荟萃企业-2019.docx

上传人:天下 文档编号:6019485 上传时间:2019-03-24 格式:DOCX 页数:52 大小:62.99KB
下载 相关 举报
net面试题目荟萃企业-2019.docx_第1页
第1页 / 共52页
net面试题目荟萃企业-2019.docx_第2页
第2页 / 共52页
net面试题目荟萃企业-2019.docx_第3页
第3页 / 共52页
net面试题目荟萃企业-2019.docx_第4页
第4页 / 共52页
net面试题目荟萃企业-2019.docx_第5页
第5页 / 共52页
点击查看更多>>
资源描述

1、爱辅助网:www.aifuzhu.top经典.net 面试题目这些是 C#和 ASP.NET 数据库面试题,全部从网上收集而来,经整理而发表,希望给大家带来帮助,有错误的地方还请各位高手指出,在下倾听指教。1. 简述 private、protected、public 、internal 修饰符的访问权限。答. private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。public : 公共成员,完全公开,没有访问限制。internal: 在同一命名空间内可以访问。2 .列举 ASP.NET 页面之间传递值的几种方式。答. 1.使用 Qu

2、eryString, 如?id=1; response. Redirect() 2.使用 Session 变量3.使用 Server.Transfer4.使用 Application5.使用 Cache6使用 HttpContext 的 Item 属性7.使用文件8.使用数据库9.使用 Cookie3. 一列数的规则如下: 1、1、2、3、5、8、13、21、34 求第30位数是多少, 用递归算法实现。答:public class MainClass 爱辅助网:www.aifuzhu.top public static void Main() Console.WriteLine(Foo(30)

3、; public static int Foo(int i) if (i 0 test(i); 答:不会发生死锁, (但有一点 int 是按值传递的,所以每次改变的都只是一个副本,因此不会出现死锁。但如果把 int 换做一个 object,那么死锁会发生)30.简要谈一下您对微软.NET 构架下 remoting 和 webservice 两项技术的理解以及实际中的应用。答:webservice 主要是可利用 HTTP,穿透防火墙。Remoting 可以利用 TCP/IP,二进制传送提高效率。爱辅助网:www.aifuzhu.top31.公司要求开发一个继承 System.Windows.Fo

4、rms.ListView 类的组件,要求达到以下的特殊功能:点击 ListView 各列列头时,能按照点击列的每行值进行重排视图中的所有行( 排序的方式如 DataGrid 相似)。根据您的知识,请简要谈一下您的思路答:根据点击的列头,把该列的 ID 取出,按照该 ID 排序后 ,在给绑定到 ListView 中。32.给定以下 XML 文件,完成算法流程图。请画出遍历所有文件名(FileName)的流程图( 请使用递归算法 )。答:void FindFile( Directory d ) FileOrFolders = d.GetFileOrFolders(); foreach( FileO

5、rFolder fof in FileOrFolders ) if( fof is File ) You Found a file; 爱辅助网:www.aifuzhu.topelse if ( fof is Directory ) FindFile( fof ); 33.写出一条 Sql 语句:取出表 A 中第31到第40记录(SQL Server 以自动增长的 ID 作为主键,注意:ID 可能不是连续的。答:解1: select top 10 * from A where id not in (select top 30 id from A) 解2: select top 10 * from

6、 A where id (select max(id) from (select top 30 id from A )as A) 34.面向对象的语言具有_性、_性、_性答:封装、继承、多态。35.能用 foreach 遍历访问的对象需要实现_ 接口或声明_方法的类型。答:IEnumerable 、GetEnumerator。36.GC 是什么? 为什么要有 GC?答:GC 是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:System.gc()Runtime.getRuntime().gc()37.String s = new Str

7、ing(“xyz“);创建了几个 String Object?答:两个对象,一个是“xyx”,一个是指向“xyx”的引用对象 s。爱辅助网:www.aifuzhu.top38.abstract class 和 interface 有什么区别?答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class) ,它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象

8、方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型

9、转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。39.启动一个线程是用 run()还是 start()?答:启动一个线程是调用 start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由 JVM 调度并执行。这并不意味着线程就会立即运行。run()方法可以产生必须退出的标志来停止一个线程。40.接口是否可继承接口? 抽象类是否可实现 (implements)接口? 抽象类是否可继承实体类(concrete class)?答:接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。41.构

10、造器(构造函数)Constructor 是否可被 override?答:构造器 Constructor 不能被继承,因此不能重写 Overriding,但可以被重载爱辅助网:www.aifuzhu.topOverloading。42.是否可以继承 String 类?答:String 类是密封类故不可以继承。43.try 里有一个 return 语句,那么紧跟在这个 try 后的 finally 里的 code 会不会被执行,什么时候被执行,在 return 前还是后?答:会执行,在 return 前执行。44.两个对象值相同(x.equals(y) = true),但却可有不同的 hash c

11、ode,这句话对不对?答:不对,有相同的 hash code。45.swtich 是否能作用在 byte 上,是否能作用在 long 上,是否能作用在 String 上?答:switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、short、char 或者 byte。long,string 都不能作用于 swtich。46.什么是 SOAP,有哪些应用 ?答:SOAP(Simple Object Access Protocol)简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于 XML 的协议

12、,使用 SOAP,不用考虑任何特定的传输协议(最常用的还是 HTTP 协议) ,可以允许任何类型的对象或代码,在任何平台上以任何语言相互通信,这种相互通信采用的是 XML 格式的消息。SOAP 也被称作 XMLP,为两个程序交换信息提供了一种标准的工作机制。在各类机构之间通过电子方式相互协作的情况下完全有必要为此制定相应的标准。 SOAP 描述了把消息捆绑为 XML 的工作方式。它还说明了发送消息的发送方、消息的内容和地址以及发送消息的时间。SOAP 是 Web Service 的基本通信协议。 SOAP 规范还定义了怎样用 XML 来描述程序数据( Program Data),怎样执行 RP

13、C(Remote Procedure Call) 。大多数 SOAP 解决方案都支持 RPC-style 应用程序。SOAP 还支持 Document-style 应用程序爱辅助网:www.aifuzhu.top(SOAP 消息只包含 XML 文本信息) 。 最后 SOAP 规范还定义了 HTTP 消息是怎样传输 SOAP 消息的。MSMQ、SMTP、TCP/IP都可以做 SOAP 的传输协议。 SOAP 是一种轻量级协议,用于在分散型、分布式环境中交换结构化信息。 SOAP 利用 XML 技术定义一种可扩展的消息处理框架,它提供了一种可通过多种底层协议进行交换的消息结构。 这种框架的设计思想

14、是要独立于任何一种特定的编程模型和其他特定实现的语义。 SOAP 定义了一种方法以便将 XML 消息从 A 点传送到 B 点。 为此,它提供了一种基于 XML 且具有以下特性的消息处理框架: 1) 可扩展, 2) 可通过多种底层网络协议使用, 3) 独立于编程模型47.当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法?不能,一个对象的一个 synchronized 方法只能由一个线程访问。48.abstract 的 method 是否可同时是 static,是否可同时是 native,是否可同时是synchronized?答:都不能。49.Li

15、st, Set, Map 是否继承自 Collection 接口?答:List、Set 是,Map 不是50.Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用=还是 equals()? 它们有何区别?答:Set 里的元素是不能重复的,那么用 iterator()方法来区分重复与否。equals() 是判读两个爱辅助网:www.aifuzhu.topSet 是否相等。equals()和= 方法决定引用值是否指向同一对象 equals()在类中被覆盖,为的是当两个分离的对象的内容和类型相配的话,返回真值。51.数组有没有 length()这个方法 ? String 有没有 le

16、ngth()这个方法?答:数组没有 length()这个方法,有 length 的属性。String 没有 length()这个方法,有 length属性。52.sleep() 和 wait() 有什么区别?答:sleep()方法是使线程停止一段时间的方法。在 sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级(b)正在运行的线程因为其它原因而阻塞。wait()方法是线程交互时,如果线程对一个同步对象 x 发出一个 wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等

17、待时间到。53.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?答:short s1 = 1; s1 = s1 + 1;有错,s1是 short 型,s1+1是 int 型,不能显式转化为 short 型,需要强制转换类型。可修改为 s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。54.谈谈 final, finally, finalize 的区别。答:final修饰符(关键字)如果一个类被声明为 final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为

18、 abstract 的,又被声明为 final 的。将变量或方法声明为 final,可以保证它们在使用中不被改变。被声明为 final 的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为 final 的方法也同样只能使用,不能重载finally在异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话) 。爱辅助网:www.aifuzhu.topfinalize方法名。 Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理

19、工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。55.如何处理几十万条并发数据?答:用存储过程或事务。取得最大标识的时候同时更新注意主键不是自增量方式这种方法并发的时候是不会有重复主键的取得最大标识要有一个存储过程来获取.56.Session 有什么重大 BUG,微软提出了什么方法加以解决?答:是 IIS 中由于有进程回收机制,系统繁忙的话 Session 会丢失,可以用

20、Sate server 或SQL Server 数据库的方式存储 Session 不过这种方式比较慢,而且无法捕获 Session 的 END事件。57.进程和线程的区别?答:1.线程(Thread)与进程(Process)二者都定义了某种边界,不同的是进程定义的是应用程序与应用程序之间的边界,不同的进程之间不能共享代码和数据空间,而线程定义的是代码执行堆栈和执行上下文的边界。2.一个进程可以包括若干个线程,同时创建多个线程来完成某项任务,便是多线程。而同一进程中的不同线程共享代码和数据空间。用一个比喻来说,如果一个家庭代表一个进程,在家庭内部,各个成员就是线程,家庭中的每个成员都有义务对家庭

21、的财富进行积累,同时也有权利对家庭财富进行消费,当面对一个任务的时候,家庭也可以派出几个成员来协同完成,而家庭之外的人则没有办法直接消费不属于自己家庭的财产。或者:进程是系统进行资源分配和调度的单位;线程是 CPU 调度和分派的单位,一个进程可以有多个线程,这些线程共享这个进程的资源。爱辅助网:www.aifuzhu.top58.堆(Heap)和栈(stack)的区别?答:栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。堆:一般由程序员分配释放。用 new、malloc 等分配内存函数分配得到的就是在堆上。59.成员变量和成员函数前加 static 的作用?答:它们被称为常成员变量

22、和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。60.ASP.NET 与 ASP 相比,主要有哪些进步?答:asp 解释形,aspx 编译型,性能提高,有利于保护源码。61.产生一个 int 数组,长度为 100,并向其中随机插入1-100,并且不能重复。int intArr=new int100;ArrayList myList=new ArrayList();Random rnd=new Random();while(myList.Count或者 之类的结束标记。在 XML 中,绝对不能省略掉结束标记。

23、3. 在 XML 中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用查找结束标记了。4. 在 XML 中,属性值必须分装在引号中。在 HTML 中,引号是可用可不用的。5. 在 HTML 中,可以拥有不带值的属性名。在 XML 中,所有的属性都必须带有相应的值。84.C#中的三元运算符是?答:?:。85.当整数 a 赋值给一个 object 对象时,整数 a 将会被?答:装箱。86.类成员有_种可访问形式?答:this.;new Class().Method;87.public static const int A=1;这段代码有错误么?是什么?答:c

24、onst 不能用 static 修饰。88.float f=-123.567F; int i=(int)f;i 的值现在是_? 答:-123。爱辅助网:www.aifuzhu.top89.委托声明的关键字是_?答:delegate.90.用 sealed 修饰的类有什么特点?答:密封,不能继承。91.在 A 中所有的自定义用户控件都必须继承自_?答:Control。92.在.Net 中所有可序列化的类都被标记为_? 答:serializable93.在.Net 托管代码中我们不用担心内存漏洞,这是因为有了_?答:GC(垃圾收集器) 。94.下面的代码中有什么错误吗?_using System;

25、class Apublic virtual void F()Console.WriteLine(“A.F“);abstract class B:A爱辅助网:www.aifuzhu.toppublic abstract override void F(); / new public abstract void F(); 答:abstract override 是不可以一起修饰.95.当类 T 只声明了私有实例构造函数时,则在 T 的程序文本外部, _可以_(可以 or 不可以)从 T 派生出新的类,不可以 _(可以 or 不可以)直接创建 T 的任何实例。答:不可以,不可以。96.下面这段代码有

26、错误么?switch (i)case(): 答:/case()条件不能为空CaseZero();break;case 1:CaseOne();break;case 2:dufault; 答:/wrong,格式不正确CaseTwo();break;97.在.Net 中,类 System.Web.UI.Page 可以被继承么?爱辅助网:www.aifuzhu.top答:可以。98net 的错误处理机制是什么?答:.net 错误处理机制采用 try-catch-finally 结构,发生错误时,层层上抛,直到找到匹配的 catch 为止。99.利用 operator 声明且仅声明了=,有什么错误么?

27、答:要同时修改 Equale 和 GetHash() ? 重载了“=“ 就必须重载“!=“100.在.net(C# or )中如何用户自定义消息,并在窗体中处理这些消息。答:在 form 中重载 DefWndProc 函数来处理消息:protected override void DefWndProc ( ref System.WinForms.Message m ) operator switch(m.msg) case WM_Lbutton : /string 与 MFC 中的 CString 的 Format 函数的使用方法有所不同string message = string.Form

28、at(“收到消息! 参数为:0,1“,m.wParam,m.lParam); MessageBox.Show(message);/显示一个消息框break; case USER:处理的代码default: base.DefWndProc(ref m);/调用基类函数处理非自定义消息。break; 爱辅助网:www.aifuzhu.top 101.在.net(C# or )中如何取消一个窗体的关闭。答:private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)e.Cancel=true; 1

29、02.在.net(C# or )中,Appplication.Exit 还是 Form.Close 有什么不同?(winform 题目非 题目)答:一个是退出整个应用程序,一个是关闭其中一个 form。103.在 C#中有一个 double 型的变量,比如10321.5,比如 122235401.21644,作为货币的值如何按各个不同国家的习惯来输出。比如美国用$10,321.50和$122,235,401.22而在英国则为10 321.50和122 235 401.22答:System.Globalization.CultureInfo MyCulture = new System.Glo

30、balization.CultureInfo(“en-US“);/System.Globalization.CultureInfo MyCulture = new System.Globalization.CultureInfo(“en-GB“);为英国货币类型decimal y = 9999999999999999999999999999m;string str = String.Format(MyCulture,“My amount = 0:c“,y);104.某一密码仅使用 K、L、M、N、O 共5个字母,密码中的单词从左向右排列,密码单词必须遵循如下规则:爱辅助网:www.aifuzh

31、u.top(1)密码单词的最小长度是两个字母,可以相同,也可以不同(2)K 不可能是单词的第一个字母(3)如果 L 出现,则出现次数不止一次(4)M 不能使最后一个也不能是倒数第二个字母(5)K 出现,则 N 就一定出现(6)O 如果是最后一个字母,则 L 一定出现问题一:下列哪一个字母可以放在 LO 中的 O 后面,形成一个3个字母的密码单词?A) K B)L C) M D) N答案:B问题二:如果能得到的字母是 K、L 、M,那么能够形成的两个字母长的密码单词的总数是多少?A)1个 B)3个 C)6个 D)9个答案:A问题三:下列哪一个是单词密码?A) KLLN B) LOML C) ML

32、LO D)NMKO答案:C105.对于这样的一个枚举类型:enum Color:byteRed,Green,Blue,Orange答:string ss=Enum.GetNames(typeof(Color);爱辅助网:www.aifuzhu.topbyte bb=Enum.GetValues(typeof(Color);106. C#中 property 与 attribute 的区别,他们各有什么用处,这种机制的好处在哪里?答:attribute:自定义属性的基类 ;property :类中的属性107.C#可否对内存进行直接的操作?答:在.net 下,.net 引用了垃圾回收(GC)功能

33、,它替代了程序员。但在 C#中,不能直接实现 Finalize 方法,而是在析构函数中调用基类的 Finalize()方法108.ADO.NET 相对于 ADO 等主要有什么改进?答:1: 不依赖于 ole db 提供程序,而是使用.net 托管提供的程序,2:不使用 com3:不在支持动态游标和服务器端游标4:,可以断开 connection 而保留当前数据集可用5:强类型转换6:xml 支持109.写一个 HTML 页面,实现以下功能,左键点击页面时显示 “您好”,右键点击时显示“禁止右键”,并在2分钟后自动关闭页面。答:setTimeout(window.close();,3000);f

34、unction show()if (window.event.button = 1)爱辅助网:www.aifuzhu.topalert(“左“);else if (window.event.button = 2)alert(“右“);110.大概描述一下 ASP.NET 服务器控件的生命周期答:初始化,加载视图状态,处理回发数据,加载,发送回发更改通知,处理回发事件,预呈现保存状态,呈现,处置,卸载。111.Anonymous Inner Class (匿名内部类) 是否可以 extends(继承)其它类,是否可以implements(实现)interface( 接口 )?答:不能,可以实现接口112.Static Nested Class 和 Inner Class 的不同(说得越多越好)答:Static Nested Class 是被声明为静态( static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。113.&和&的区别。答:&是位运算符,表示按位与运算;&是逻辑运算符,表示逻辑与(and).

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 试题课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报