c#面试题

2019-03-23

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

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

  简述private、protected、public、internal修饰符的访问权限。

  答.private:私有成员,在类的内部才可以访问。

  protected:保护成员,该类内部和继承类中可以访问。

  public:公共成员,完全公开,没有访问限制。

  internal:在同一命名空间内可以访问。

  列举asp.net页面之间传递值的几种方式。

  答.1.使用querystring,如....?id=1;response.redirect()....

  2.使用session变量

  3.使用server.transfer

  c#中的委托是什么?事件是不是一种委托?

  答:委托可以把一个方法作为参数代入另一个方法。委托可以理解为指向一个函数的引用。是,是一种特殊的委托

  override与重载的区别答:

  override与重载的区别。重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要

  override是进行基类中函数的重写。为了适应需要。

  构造器constructor是否可以被继承?是否可以被override?

  答:constructor不可以被继承,因此不能被重写(overriding),但可以被重载(overloading).

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

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

  谈谈final,finally,finallize的区别?

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

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

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

  hashmap和hashtable区别?

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

  collection和collections的区别?

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

  udp和tcp连接有和异同?

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

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

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

  描述一下c#中索引器的实现过程,是否只能根据数字进行索引?

  答:不是。可以用任意类型。

  什么叫应用程序域?

  答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

  cts、cls、clr分别作何解释?

  答:cts:通用语言系统。

  cls:通用语言规范。

  clr:公共语言运行库。

  什么是装箱和拆箱?

  答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。

  什么是受管制的代码?

  答:unsafe:非托管代码。不经过clr运行。

  什么是强类型系统?

  答:rtti:类型识别系统。

 来源地址:
m.diyifanwen.com/qiuzhijianli/msshiti/468497.htm

1/5