代码改变世界

歪答正着-C#常见面试题(转)

2009-01-14 18:01  TTlive  阅读(223)  评论(0编辑  收藏  举报

问:泛型是什么?

答:

泛型(Generic)是一种特殊的机制。用于“算法重用”,比如排序,搜索,一般用在集合类中。它允许类型(Type)作为参数,在类、结构、接口和方法使用。

歪答:

泛型相当于空头发票,随便你往里头填什么内容,反正都能报销,但是不填肯定不行。

问:.NET中值类型和引用类型的区别?

答:

值类型直接存在堆栈中,引用类型存放在托管堆中,堆栈只存放它的地址;操作值类型速度要比操作引用类型快;值类型不能被垃圾回收,引用类型可以。

歪答:

值类型就像现金,引用类型就像存折。

问:什么是垃圾回收机制?

答:

垃圾回收机制是为了解决内存泄露的机制。所有在托管堆中已分配的,但是没有被引用的对象被成为内存垃圾。垃圾回收机制就是用于用于自动收回内存垃圾的一套方法。

歪答:

垃圾回收机制就是帮助乱丢垃圾的人回收垃圾的机制。

问:什么是委托?

答:

委托是类型安全的函数指针。是对函数的引用,但是可以引用多个函数,称为多路广播。

歪答:

函数就是房东,委托就是房屋中介。

问:什么装箱(boxing)?

答:

装箱是值类型装换成引用类型的过程。具体实现是将堆栈中的值类型拷贝到托管堆中,然后再加上两个额外的空间(同步索引块和方法表指针),形成一个引用对象。装箱名称的就是从这来的。装箱装箱,箱子在哪?就是指同步索引块和方法表指针。

歪答:

装箱就是把大象装进冰箱...不对。如果大家要看大象,可以到大象的家里-原始森林里看大象,但是如果想在城市里也能看到大象,就要麻烦一点了,要把大象装进铁笼子里,去动物园看。这就是装箱。

问:C#是什么?

答:

C#是微软推出的一种新的语言。在C#以前,微软用于一般桌面应用程序的语言是VB,网页开发是ASP,VC++主要用于底层和系统程序开发。由于VB/ASP太简单,VC++太复杂,加上JAVA的蓬勃发展,微软公司2000年推出了.NET和C#,C#是.NET平台下应用程序开发的首选语言,开始的时候非常类似JAVA。虽然在.NET的不断发展下,C#也可以用来开发驱动程序这样比较底层的程序。但C#目前主要还是用于一般的商业应用程序或网站,因此被看做是JAVA的强劲对手。

歪答:

C#是一种很流行的语言,又可以用来写windows程序又可以用来写网页,学会了比较好找工作,只要微软不倒闭,学好了C#就不会饿死。

转自:http://www.cnblogs.com/xiaomin/archive/2009/01/08/1372147.html