《C#与.NET程序员面试宝典》学习札记

第2章 .NET概述

2.1-6~ .Net Framework / CLR / IL / Assembly 

  • IL:中间语言代码,不同语言(如C#,VB)的基于CLR的编译器编译生成的中间语言字节码,不是计算机直接运行的机器码
  • CLR:公共/通用语言运行库,运行中间语言代码,为不同语言提供统一运行的平台,集成服务(如内存管理,程序集加载,安全性,异常处理,线程同步等等)
  • 程序集(Assembly):由中间语言代码封装而成的元数据集合,由CLR加载
  • .Net Framework:支持多种语言的开发平台,包含CLR(支持多语言的核心运行环境)和.Net Framework类库
  • 托管代码:即IL,Managed Code
  • 非托管代码:该代码无法使用CLR提供的服务(如内存管理),只能直接编译成计算机直接运行的机器码;需要显式使用Windows SDK来完成内存管理等;C#可以创建托管或非托管程序
  • JIT:实时编译,在第一次运行时才将程序集编译转换为本地机器码,具有跨平台特性

第3章 程序设计基础

22. 通过泛型可以解决装箱和拆箱的性能问题

  • 装箱:将值类型转换为 object 类型或由此值类型实现的任何接口类型的过程
  • 拆箱:装箱的逆过程

23. 值类型与引用类型的区别

  • 赋值区别:值类型赋值是创建一个新的同值对象,引用赋值是创建新的引用变量指向同一个值
  • 内存分配:值类型在栈中创建,而引用类型在托管堆中创建
  • 继承结构:值类型不能被继承,同时都继承于System.ValueType;引用类型则可以被继承,不继承于System.ValueType

28. C#的指针类型

  • CLR支持三种指针类型:托管指针,非托管指针,非托管函数指针
  • C#中需要放在unsafe代码块中使用指针

 31. StringBuilder和String的差别

  • String创建的对象实例是不可更改的,因此每次调用String方法的时候都会创建新的字符串(哪怕该字符串的值一直没有变过);但String是引用类型,不是值类型
  • StringBuilder创建的对象则可以被更改,初始化的时候会创建初始大小以容纳字符串需要的内存,每次更新对象时会在相同的内存空间中修改或扩充,不会反复创建新的字符串对象

36. C#中String和string的区别:String是CLR中的类型关键字,而string是C#的类型关键字,在C#编译时会增加代码:using string = System.String

39. Array和ArrayList的区别:前者相当于数组,后者相当于链表

42. C#中is和as运算符的区别:is用于检查给定对象是否为与某个类型兼容,兼容则返回true;as则用于兼容引用类型之间的强制转换,如果无法转换则返回null

第4章 面向对象设计

46. C#中类和结构的区别:

  • 类为引用类型,结构和值类型
  • 类可以被其他类继承,结构不能被其他类或结构继承(但结构可以继承接口)
  • 类有构造和析构函数,可以用protected修饰符;结构则没有,也不能用protected

49. 静态构造方法的特点:

  • 每个类只能有一个静态构造方法,类构造函数前用static修饰(注意没有public)
  • 静态构造方法不能有入参
  • 静态构造方法不会被继承
  • 静态构造方法是最先被执行的构造方法,且在静态成员初始化前执行

53. 委托与事件???

4.3-54~ 委托

待续。。。

转载于:https://www.cnblogs.com/wrightcw/p/8516381.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#面试前必看书籍,取材于各大IT公司的历年面试题252个(包括研发类笔试及口试题目、情商及智商类题目),详细分析了应聘C#.NET程序员职位的常见考点。主要内容包括:面试流程、基础语法和技术框架、数据访问及XML应用、高级特性及应用进阶、测试及质量保证、跨国公司经典面试题等。 目前许多程序员C#语言的基础知识掌握不牢,很难通过求职面试。在激烈的求职竞争中,想在几、轮笔试、面试的激烈竞争中拔得头筹,漂亮地完成试卷,躲过面试官布下的种种“陷阱”,是一件非常不容易的事情。要知道研发类考题过关仅仅是基础,情商、智商更为关键,面试是考验人的综合应变能力和逻辑能力的过程。本书记就是为了让读者对企业招聘程序员时需要掌握的知识有一个系统、全面的认识,并进行充分的准备,以期能够成功通过面试。 部分目录: 第1篇 赢在面试 第1章 成功应聘开发职位的秘籍 第2篇 基础语法及技术框架 第2章NET概述 第3章 程序设计基础 第4章 面向对象程序设计 第5章 ASPNET应用开发 第3篇 数据访问及XML应用 第6章 数据访问 第7章 Web Service的开发与应用 第8章 WPF应用开发 第4篇 高级特性及应用进阶 第9章 高级特性 第10章 高级编程 第11章 ASPNET高级进阶 第12章 算法设计与分析 第5篇 测试及质量保证 第13章 测试 第6篇 跨国公司经典面试题 第14章 情商类面试题 第15章 智商类面试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值