C#面试题——面试题整理(1)
一 面试题汇总
- 请你说说.NET中类和结构的区别?
- 死锁的必要条件?怎么克服?
- 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?
- 构造器Constructor是否可以被继承?是否可以被Override?
- 当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?
- 用最有效的方法算出等已8对于几?
- C#是否可以对内存直接进行操作
- Error和Exception有是区别?
- 谈谈final,finally,finallize的区别?
- HashMap和Hashtable区别?
- Collection和Collections的区别?
- C#中委托是什么?事件是不是一种委托?
- Override, Overload,的区别?
- 在一个BS结构中需要传递变量值时,不能使用session,coolke,application,你有几中方法?
- C#种索引器实现过程,是否只能根据数字索引?
- New有种用法?
- 任何把一个Array复制到Arraylist中?
- 概述反射和序列化?
- Const和ReadOnly?
- UDP和TCP连接有和异同?
- 进程和线程分别该怎么理解?
- ASP.NET页面之间传递值的几种方式?
- 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
- 值类型和引用类型的区别?
- ASP.net的身份验证方式有哪些?
- 解释一下UDDI、WSDL的意义及其作用?
- 什么是SOAP?
- 如何部署一个ASP.net页面?
- 如何理解.net中的垃圾回收机制?
- 面向对象的三大基本原则?
- 在.NET中所有类的基类是?
- 能用foreach遍历访问的对象需要实现?
- Heap与stack的差别?
二 面试题解答(仅供参考)
2.1 请你说说.NET中类和结构的区别?
1 | 结构和类具有大体的语法,但是结构受到的限制比类要多。 |
2.2 死锁的必要条件?怎么克服?
1 | 系统的资源不足,进程的推进的顺序不合适,资源分配不当,一个资源每次只能被一个进程使用, |
2.3 接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类?
1 | 接口是可以继承接口的, |
2.4 构造器Constructor是否可以被继承?是否可以被Override?
1 | Constructor不可以被继承,因此不能被重写(Overriding),但可以被重载(Overloading). |
2.5 当一个线程进入一个对象的方法后,其它线程是否可以进入该对象的方法?
1 | 不可以,一个对象的方法只能由一个线程访问。 |
2.6 用最有效的方法算出等已8对于几?
1 | 2<<3. 2的二进制表示为:00 10,2<<表示把2左移三位, |
2.7 C#是否可以对内存直接进行操作
1 | 这个问题比较难回答,也是个很大的问题。但是可以这样问答。 |
2.8 Error和Exception有是区别?
1 | error表示恢复不是不可能,但是很困难, |
2.9 谈谈final,finally,finallize的区别?
1 | final用于申明属性,方法和类,表示属性不可变,方法不可以被覆盖,类不可以被继承。 |
2.10 HashMap和Hashtable区别?
1 | HashMap是Hashtable的轻量级实现,非线程安全的实现他们都实现了map接口, |
2.11 Collection和Collections的区别?
1 | Collection是集合类的上级接口, |
2.12 C#中委托是什么?事件是不是一种委托?
1 | 委托是一种安全的类似与函数指针,但是她比指针要安全的多, |
2.13 Override, Overload,的区别?
1 | Override是重写的意思,它表示重写基类的方法,而且方法的名称,返回类型,参数类型,参数个数要与基类相同。 |
2.14 在一个BS结构中需要传递变量值时,不能使用session,coolke,application,你有几中方法?
1 | this.server.Transfer,Querystring. |
2.15 C#种索引器实现过程,是否只能根据数字索引?
1 | 不是的,可以是任意类型。 |
2.16 New有种用法?
1 | 有3种, |
2.17 任何把一个Array复制到Arraylist中?
1 | Foreach (object o in Array), ArrayList.Add (0等有好多中种方法 |
2.18 概述反射和序列化?
1 | 反射:要给发射下一个定义还是比较难的,这里先说说我的理解。 |
2.19 Const和ReadOnly?
1 | Const用来申明编程时申明常量,ReadOnly用来申明运行时常量。 |
2.20 UDP和TCP连接有和异同?
1 | TCP是传输控制协议,提供的是面向连接的,是可靠的,字节流服务, |
2.21 进程和线程分别该怎么理解?
1 | 进程是比线程大的程序运行单元,都是由操作系统所体会的系统运行单元,一个程序中至少要有一个进程, |
2.22 ASP.NET页面之间传递值的几种方式?
1 | QueryString,session,cookies,application,server.Transfer,respose.redictor. |
2.23 什么叫应用程序域?什么是托管代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
1 | 应用程序域:就是为安全性,可靠性,隔离性,和版本控制,及卸载程序提供的隔离边界。 |
2.24 值类型和引用类型的区别?
1 | 值类型的值是存放在堆栈中的,改变其值,不改变变量原有的值,而引用类型的值是存放在栈中的, |
2.25 ASP.net的身份验证方式有哪些?
1 | windows、forms,passport |
2.26 解释一下UDDI、WSDL的意义及其作用?
1 | UDDI是统一描述集成协议,是一套基于Web的,分布式的,为WEB服务提供的信息注册的实现标准规范, |
2.27 什么是SOAP?
1 | 是简单访问协议。是在分布式环境中,交换信息并实现远程调用的协议。是一个基于XML的协议。 |
2.28 如何部署一个ASP.net页面?
1 | vs2003,vs2005里边都有发表机制,vs2003可以发布然后在复制部署。 |
2.29 如何理解.net中的垃圾回收机制?
1 | .NET中的垃圾回收机制是引用程序对内存的回收和释放。 |
2.30 面向对象的三大基本原则?
1 | 封装,继承,多态。 |
2.31 在.NET中所有类的基类是?
1 | object。 |
2.32 能用foreach遍历访问的对象需要实现?
1 | 需要实现IEnumerable接口和GetEnumerator ()方法。 |
2.33 Heap与stack的差别?
1 | Heap是堆,空间是由手动操作分配和释放的,它的存储区很大的自由存储区。 |
三 参考
- 51CTO-33条C#、.Net经典面试题目及答案