.NET面试必备知识精华

5星 · 超过95%的资源 需积分: 11 67 下载量 122 浏览量 更新于2024-09-18 收藏 410KB PDF 举报
"ASP.NET面试宝典,MS面试题集锦" 本资源是一份针对ASP.NET开发者的面试准备资料,涵盖了.NET平台基础知识、编程语言特性、面向对象概念以及并发和内存管理等多个方面的知识点。以下是对这些知识点的详细解释: 1. **Microsoft.Net平台基础** - **GC(Garbage Collector)**:GC是垃圾回收机制,用于自动管理.NET应用中的内存,释放不再使用的对象,避免内存泄漏。 2. **编程语言** - **String与StringBuilder**:String是不可变的,每次修改都会创建新对象;StringBuilder是可变的,适用于大量字符串操作,减少内存分配。 - **static型构造方法**:静态构造方法用于初始化类的静态成员,只在类首次加载时执行一次。 - **Strings=newString("xyz")**:创建了一个String对象,因为String是不可变的,所以即使内容相同,也会创建新的引用。 3. **面向对象** - **abstract class与interface**:抽象类可以包含方法实现,接口只能声明方法,不能实现。抽象类允许有实例字段,接口则没有。 - **线程启动**:使用`Start()`方法启动线程,而`Run()`方法是在新线程中执行的入口点。 - **接口与继承**:接口可以继承其他接口,抽象类可以实现接口,但不能继承非抽象类。 4. **构造器与方法** - **构造器不能被override**,因为构造器不是方法,而是类实例化时自动调用的特殊代码段。 - **不能继承String类**:String类是final的,不能被继承。 5. **异常处理** - **try-finally**:无论try块中的代码是否出现异常,finally块的代码都会执行。如果try中有return,finally会在return之前执行。 6. **哈希与数据结构** - **哈希码一致性**:两个对象值相等(x.equals(y)==true)时,它们的哈希码通常应相同,但这不是强制的。 - **switch语句**:switch可以作用于byte、char、short、int、枚举类型和String(Java 7及以上版本)。 - **集合接口**:List、Set、Map分别继承自Collection、Iterable和Map接口。 7. **比较与区分** - **Set的去重**:Set内部使用equals()方法判断元素是否重复,不使用`==`。 - **length()方法**:数组有length属性,而不是length()方法;String有length()方法。 8. **并发与内存管理** - **sleep()与wait()**:sleep()使线程暂停指定时间,不释放锁;wait()使线程等待,释放锁,等待其他线程唤醒。 - **shorts1变量错误**:直接操作short类型的变量进行加法可能导致溢出;使用`s1+=1`会自动转换为int类型,避免溢出。 9. **关键字理解** - **final, finally, finalize**:final修饰变量表示不可更改,修饰方法表示不可覆盖;finally用于确保代码块始终执行;finalize()是对象被垃圾回收前调用的方法。 10. **并发处理** - **处理大量并发数据**:可能涉及线程池、异步处理、数据库事务优化、负载均衡等技术。 11. **进程与线程** - **进程**:是操作系统资源分配的基本单位,拥有独立的内存空间。 - **线程**:是进程内的执行单元,共享进程资源,轻量级,切换成本低。 12. **内存管理** - **堆与栈**:栈存储局部变量和方法调用信息,自动管理;堆存储对象实例,由GC管理。 13. **静态成员** - **static**:静态成员属于类,不依赖于类的实例,所有实例共享。 14. **访问修饰符** - **private, protected**:private限制访问仅限于类内部;protected允许子类访问。 这份面试宝典提供了丰富的.NET开发者面试必备知识,帮助求职者准备.NET相关的技术面试。