C# 相关面试试题轻巧的下结论

新近一个搞NET开辟的对象离职了,想让自个儿给她找点有关NET的相关面试题,准备抱一下佛脚,迎接新的挑衅。

自己飞快找到从前检索的各个宝典,试题,明日梳理一下有关NET的底子知识点。

一、面向对象语言的三大特点:封装、继承、多态;

贰、接口和类有哪些异同:

  不同点:

   壹接口无法一向实例化。

   二接口只包括方法或品质的宣示,不带有方法的贯彻。

   三接口足以多再而三,类只可以单继承。

   肆发挥的含义分歧,接口重要定义1种标准,统1调用方法,也正是规范类,约束类,类是办法效果的达成和聚集

 相同点:

   壹接口、类和协会都得以从八个接口继承。

   贰接口类似于肤浅基类:继承接口的别的非抽象类型都不可能不兑现接口的有所成员。

   三接口和类都可以分包事件、索引器、方法和总体性。

三、抽象类和接口有啥异同

  一卫冕:接口协理多三番五次;抽象类不能够兑现多三番五次。

  贰发挥的定义:接口用于规范,越来越强调契约,抽象类用于共性,强调老爹和儿子。抽象类是1类东西的莫斯中国科学技术大学学聚合,那么对于继续抽象类的子类来说,对于抽象类来说,属于”Is
A”的关联;而接口是概念行为规            范,强调“Can
Do”的涉嫌,由此对此落到实处接口的子类来说,绝对于接口来说,是”行为须求依照接口来成功”。

  三办法完结:对抽象类中的方法,即能够交给完毕部分,也能够不交付;而接口的格局(抽象规则)都不能够交到达成部分,接口中方法无法加修饰符。

  四子类重写:继承类对于两岸所涉及艺术的落到实处是见仁见智的。继承类对于抽象类所定义的空洞方法,能够毫无重写,也正是说,能够延用抽象类的方法;而对于接口类所定义的法子依然性质来说,在继承类
         中务必重写,给出相应的主意和质量完成。

  伍新增方法的影响:在抽象类中,新增1个办法的话,继承类中能够不用作别的处理;而对于接口来说,则需求修改继承类,提供新定义的不2诀窍。

  陆接口能够效率于值类型(枚举可以完结接口)和引用类型;抽象类只好效用于引用类型。

  7接口不可能包括字段和已完结的章程,接口只含有方法、属性、索引器、事件的签订契约;抽象类能够定义字段、属性、包含有落实的格局。

4、virtual、sealed、override和abstract的区别

  1virtual注解虚方法的要紧字,表达该格局可以被重写

  贰sealed表明该类不可被延续

  三override重写基类的艺术

  4abstract注解抽象类和抽象方法的显要字,抽象方法不提供完毕,由子类完结,抽象类不可实例化。

伍、重载(override)和重写(overload)有哪些界别

  重载:当类包蕴四个名称1致但具名差异(方法名相同,参数列表差异等)的秘诀时发生方法重载。用艺术重载来提供在语义上完成同样而效果不一样的不二秘诀。(2个类中、四个章程)

  重写:在类的继承中选取,通过覆写子类方法能够更换父类虚方法的贯彻。(1个类以上)

 陆、结构体和类的区分

  一结构体是值类型,类是援引类型
  2结构体不支持无惨构造函数,不协理析构函数,并且不能够有protected修饰;
  3构造体常用于数据存款和储蓄,类class多用来行为;
  肆类class须求用new关键字实例化对象,struct可以不适用new关键字;
  伍类class能够为抽象类,struct不帮衬抽象;

 7、out和ref的异同点

  1ref渴求参数在运用在此之前要显式起初化,out要在点子内部开首化;

  贰out适合用在须要retrun七个重回值的地点,而ref则用在供给被调用的章程修改调用者的引用的时候。

  三ref是有进有出,out是只出不进;(ref能够把参数的数值传递进函数,但是out是要把参数清空,正是说你不或者把一个数值从out传递进入的,out进去后,参数的数值为空)

 八、值类型和引用类型的分别

  1值类型:正是贰个分包实际数指标量。即当定义2个值类型的变量时,C#会基于它所注解的种类,以栈形式分配壹块大小相适应的囤积区域给那个变量,随后对这么些变量的读或写操作就一贯在那块内部存款和储蓄器         区域实行;

  贰引用项目:四个引用类型的变量不存款和储蓄它们所代表的实际上数目,而是存款和储蓄实际多少的引用。
  引用类型分两步创制:首先在栈上创建1个引用变量,然后在堆上创制对象本人,再把那个内部存款和储蓄器的句柄(也是内部存款和储蓄器的首地址)赋给引用变量;

图片 1

 

 玖、什么是拆箱和装箱

   装箱→值类型调换为引用类型,拆箱→引用类型转变为值类型。

10、装箱和拆箱有哪些性质影响?怎么化解吗?

  1震慑:都提到到内部存款和储蓄器的分红和对象的创导,有较大的属性影响;

  贰消除:使用泛型

1一、委托是何许?事件是还是不是信托?

  1信托:类似于 C或
C++中的函数指针,允许将艺术作为参数进行传递;(能够把3个艺术作为参数代入另多少个艺术)

  2事件是出格的委托,事件之中是依据委托来促成的;

 12、构造器Constructor是或不是能够被接二连三?是或不是足以被Override?

  Constructor无法被一而再,由此无法被重写(Overriding),但足以被重载(Overloading).

一三、是或不是能够集成String类?

  String类是final类所以无法再而三string类。

14、当几个线程进入三个对象的法子后,其余线程是不是足以进入该方式?

  无法,一个对象的秘诀只好由1个线程访问。

一五、用最实惠的不二等秘书籍算出二倍增八等于几?

  2<<3(左乘,右除)

1陆、Error和Exception有是分别?

   Error表示恢复生机不是不容许,可是很不方便,Exception代表1种实际或完结难点,它代表程序运转寻常不得以生出的。

 1七、UDP和TCP连接有和异同?

  一TCP是传输控制协议,提供的是面向连接的,是保障的,字节流服务,TCP提供超时重拨,核准数据功效。

  二UDP是用户数据报业协会议,是一个粗略的面向数据报的传导协议,是不可相信赖的总是。

1八、new关键字的用法

 1new 运算符 用于创造对象和调用构造函数。

   二new 修饰符 用于向基类成员隐藏继承成员。

   叁new 约束   用于在泛型注解中约束大概用作类型参数的参数的品类。

 1九、Using关键字的用法

  壹引用命名空间;

  贰为命名空间或项目创设小名;(using + 外号 =
包罗详细命名空间音信的切实的品类)

  三获释能源(关闭文件流);

 20、可访问性品级有哪两种

  一pubic 访问不受限制。

  二protected 访问只限于包涵类或从包罗类派生的门类。

  3internal 访问仅限于当前程序集。

  肆protected internal 访问只限于从包含类派生的脚下程序集或项目。

  5private 访问只限于包涵类型。

贰1、 一列数的平整如下: 一、壹、贰、叁、伍、八、一三、二一、34……
求第三十几人数是稍微, 用递归算法完毕。

2贰、冒泡排序

 

拥有的参阅如下:

http://www.cnblogs.com/lgxlsm/p/5256482.html

http://www.cnblogs.com/jx270/p/3367431.html

http://www.cnblogs.com/lhws/archive/2010/09/21/1827115.html

http://www.cnblogs.com/Shadowing/archive/2013/11/13/3422185.html

http://www.cnblogs.com/yangzhiyu/p/3950550.html

http://blog.csdn.net/wust__wangfan/article/details/17841055

 

相关文章