.NET 面试

第一,谈谈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.事务是什么? 3.游标的作用?如何知道游标已经到了最后? 4.触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。

1。用C#实现以下功能 a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。 b 对上面生成的数组排序,需要支持升序、降序两种顺序 2。请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 3。请说明.net中的错误处理机制,并举例 4。请说出强名的含义 5。请列出c#中几种循环的方法,并指出他们的不同 6。请指出.net中所有类型的基类 7。请指出GAC的含义 8。SQL SREVER中,向一个表中插入了新数据,如何快捷的得到自增量字段的当前值

### .NET 面试常见问题及答案 以下是与 .NET 相关的一些常见面试问题及其详细答案: #### 1. ASP.NET 与 ASP 的区别? ASP(Active Server Pages)是 ASP.NET 的前身,两者都属于服务器端动态编程技术。ASP 在服务器端以解释方式执行,通常使用 VBScript 或 JScript 作为编程语言[^1]。而 ASP.NET 是一种基于编译的框架,支持多种语言(如 C# 和 VB.NET),并且提供了更高的性能和更强的功能扩展性。 #### 2. 页面传值的方式及其优缺点? 页面传值可以通过以下几种方式实现: - **Session**:将数据存储在服务器内存中,适用于跨页面的数据共享。优点是简单易用,缺点是会占用服务器资源[^2]。 - **Application**:类似于 Session,但其作用范围是整个应用程序,适合全局变量的存储。 - **Cookies**:将数据存储在客户端浏览器中,适合少量非敏感数据的传递。缺点是可能存在安全风险[^2]。 - **Request.QueryString**:通过 URL 参数传递数据,适合小量数据的传递。缺点是数据暴露在 URL 中,容易被篡改[^2]。 - **Request.Form**:通过 POST 方法传递表单数据,适合较大数据的传递,安全性较高。 - **Server.Transfer**:将请求从一个页面转移到另一个页面,适合内部页面跳转。优点是不改变 URL,缺点是只能在同一应用程序内使用[^2]。 #### 3. 什么是 CLR?它的主要功能是什么? CLR(Common Language Runtime)是 .NET 框架的核心组件,负责运行和管理 .NET 程序。它的主要功能包括: - **内存管理**:自动管理应用程序的内存分配和回收。 - **垃圾回收**:通过 GC(Garbage Collector)释放不再使用的对象所占用的内存[^3]。 - **代码验证**:确保代码的安全性和正确性。 - **异常处理**:提供统一的异常处理机制。 #### 4. 什么是 GAC?如何向 GAC 添加程序集? GAC(Global Assembly Cache)是一个包含所有计算机范围内共享的程序集的缓存。要将程序集添加到 GAC,可以使用 `gacutil` 工具或直接将程序集拖放到 `%windir%\assembly` 目录下[^4]。 #### 5. 什么是 ADO.NET?它有哪些主要组件? ADO.NET.NET 框架中的数据访问技术,允许应用程序与数据库进行交互。其主要组件包括: - **Connection**:用于建立与数据库的连接。 - **Command**:用于执行 SQL 语句或存储过程。 - **DataReader**:用于读取只进、只读的数据流。 - **DataAdapter**:用于填充数据集并更新数据库[^5]。 #### 6. 什么是 LINQ?它有哪些类型? LINQ(Language Integrated Query)是一种查询技术,允许开发人员使用类似 SQL 的语法查询数据。LINQ 的主要类型包括: - **LINQ to Objects**:查询内存中的集合。 - **LINQ to SQL**:查询关系型数据库。 - **LINQ to XML**:查询和操作 XML 数据[^6]。 #### 7. 什么是依赖注入(Dependency Injection)?它的优点是什么? 依赖注入是一种设计模式,用于将对象的创建和使用分离。通过 DI,可以更轻松地实现模块化和测试。它的优点包括: - 提高代码的可维护性和可测试性。 - 减少类之间的耦合度[^7]。 ```csharp public class ServiceConsumer { private readonly IService _service; public ServiceConsumer(IService service) { _service = service; } public void Execute() { _service.PerformAction(); } } ``` #### 8. 什么是 MVC 模式?它的优点是什么? MVC(Model-View-Controller)是一种软件架构模式,将应用程序分为三个主要部分: - **Model**:表示应用程序的数据和业务逻辑。 - **View**:表示用户界面。 - **Controller**:处理用户输入并协调 Model 和 View 之间的交互[^8]。 其优点包括: - 提高代码的可重用性和可维护性。 - 支持团队协作开发。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值