1、什么是同步?什么是异步?有什么区别?
同步是一个进程执行某个请求时,若该请求需要一段时间才能返回信息,那进程会一直等下去,直到收到返回信息才执行下一步;异步是进程不需要一直等待,而是继续执行下面的操作,不管其他进程的状态,当有消息返回时系统会通知进程去处理,这样就提高了执行的效率。
例:B/S模式是同步,Ajax是异步
同步:提交请求-->等待服务器处理-->处理完毕返回 这个期间客户端浏览器不能做任何事。
异步:请求通过事件触发-->服务器处理(浏览器仍然可以做其他事情)-->处理完毕
2、finally代码如何才能不执行?
return也会执行finally的,只有遇到system.exit(),finally才不会执行。
3、传入某个属性的set方法的隐藏参数的名称是什么?
value,他的类型和属性名的类型相同。
4、C#支持多重继承吗?
不能,可以用接口去实现。
5、被protected修饰的属性/方法在何处可以被访问?
在继承或者间接继承与这个类的子类中可以访问。
6、私有成员会被继承吗?
会,但不能被访问。
7、请描述protected internal。
只能在他的同一个程序集的子类被访问。
8、能够将非静态方法覆写成静态方法吗?
不能,覆写方法的签名必须与被覆写方法的签名保持一致。
9、什么是抽象类?
一个不可以被实例化的类,抽象类中有抽象方法。
10、何时必须声明一个类为抽象类?
当类中包含抽象方法时,或是该类没有完全实现父类的抽象方法。
11、接口是什么?
含有共有抽象方法的类,这些方法必须在子类中实现。
12、为什么不能指定接口中方法的修饰符?
接口中的方法用来定义对象之间通信的契约,没有意义指定为私有或受保护。默认是公有的。
13、接口和抽象类的区别?
接口中所有方法必须是抽象的,并且不能指定方法的访问修饰符。抽象类中可以有方法实现,也可以指定方法的修饰符。
接口的方法由实现类实现,抽象类的抽象方法由子类去重写,不同的实现类或子类对于一些相同名字的方法可以有自己的不同实现,从而实现多态。
14、System.String和System.StringBuilder有什么区别?
String是不可变的字符串,StringBuiler是可变的字符串,所以如果对string类型的值进行一些操作,都会为其重新分配存储空间。