蜜蜂职场文库 > 面试技巧 >

.net开发面试题

时间: 小龙 面试技巧

  .net工程师要做好准备才能在面试中脱颖而出,提前了解开发面试题很重要。下面小编已经为你们整理了.net开发面试题,希望可以帮到你。

  .net开发面试题(一)

  1、请你说说.NET中类和结构的区别?

  答:结构是值类型,在堆栈上分配地址,所有的基类型都是结构类型,如System.int或System.string,不能被继承。

  类是引用类型(new),可以被继承,在堆上分配地址,堆栈的执行效率要比堆的执行效率高,但堆栈的资源有限。

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

  答:系统资源不足,资源分配不当,一个资源每次只能被一个进程使用,一个资源请求资源时,而此时这个资源阻塞,且对已获得的资源不放

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

  答:接口是可以继承接口;抽象类是可以实现接口;抽象类可以继承实体类,只要实体类有明确的构造函数.

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

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

  5、当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法? 答:不可以,一个对象的方法只能由一个线程访问

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

  答:可以,因为可以使用指针

  7、数组有没有Length()这个方法?string有没有这个方法?

  8、谈谈final,finally,finallize的区别?

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

  Finally是异常处理语句结构,总是执行。

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

  .net开发面试题(二)

  1.Override, Overload,的区别?

  答:Override是重写的意思,它表示重写基类的方法,

  而且方法的签名【名称,返回类型,参数类型,参数个数】要与基类相同。

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

  2.概述反射和序列化?

  答:反射:要给反射下一个定义还是比较难的,这里先说说我的理解。

  序列化:将对象转换为另一种媒介传输的格式过程。

  如,序列化一个对象,用Http通过internet在客户端和服务器之间传递该对象,在另一端用【反序列化】从该流中重新得到对象。

  3.什么是ERP?ERP的演变过程?

  答:所谓ERP是英文Enterprise Resource Planning(企业资源计划)的简写。它是从MRP(物料资源计划)发展而来的新一代集成化管理信息系统,它扩展了MRP的功能,其核心思想是供应链管理,它跳 出了传统企业边界,从供应链范围去优化企业的资源,是基于网络经济时代的新一代信息系统。它对 于改善企业业务流程、提高企业核心竞争力的作用是显而易见的。

  .net开发面试题(三)

  1. 简述 private、 protected、 public、 internal 修饰符的访问权限。 private:私有访问,它只能在声明自身的类中进行访问。

  protected:表示受保护的访问,该类内部和继承类中可以访问 .public :表示公共访问,在代码任何位置都可对其进行访问。

  internal表示内部成员,在同一命名空间内可以访问。

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

  委托是指具有相同属性(也称具有相同的函数签名:返回类型相同,参数类型、参数顺序及参数个数相同)的函数或方法的抽象,关键字为delegate。主要用途是三个:1)函数回调;2)传递方法;3)事件机制。

  事件就是一个狭义的委托,也就是事件是一个用于事件驱动模型的专用委托,对事件的声明, 实际是声明一个私有的委托变量,对委托变量进行封装,即委托变量加上event关键字后,不管其前面的访问修饰符是public还是private,编译器都会将其编译为private。

  委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。以委托为参数的函数具有一定的通用性。

  使用委托可以将多个方法绑定到同一个委托变量,当调用此变量时(这里用“调用”这个词,是因为此变量代表一个方法),可以依次调用所有绑定的方法。

  3. abstract 可以和 virtual 一起使用吗?可以和 override 一起使用吗?

  不可以一起使用,但是可以和override一起使用。

  4. 请叙述属性与索引器的区别。

  属性:它是存取类的字段,索引器:Indexer它是特殊的属性,用它可以使用户像访问数组一样访问类的成员。

  5. 请详述在dotnet中类(class)与结构(struct)的异同。

  类class可以进行实例化,它是引用类型,内存分配在栈中,效率高,它有默认的构造函数,有析构函数可以使用 abstract 和 sealed, protected 修饰符。要用new进行初始化,结构它是属于值类型,内存分配在堆中,效率低,它没有默认的构造函数,但是可以添加构造函数,没有析构函数没有 abstract 和 sealed(因为不能继承)不能有protected 修饰符 可以不使用new 初始化,但是可以在结构中初始化实例字段。

  
看了“.net开发面试题”

51113