版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.net面试题及答案1.JIT是什么,它是如何工作的?GC是什么,简述一下GC的工作方式?
JIT:Justintime,C#或者是VB.NET的代码首先被编译为IL存储在本地,当要运行这些代码的时候,CLR对IL进展其次次编译转换成机器码运行。好处:可移植性,而且IL在加载到内存中时将受到类型安全性方面检查,这实现了更好的安全性和牢靠性。
GC:垃圾回收(garbagecollection),是依据程序的需要自动安排和回收内存的过程。垃圾回收器处理的是引用对象,而且只回收堆上的内存。这意味着假设维持对一个对象的引用,就会阻挡GC重用对象使用的内存。在.NET中,垃圾回收器采纳的是mark-and-compact算法。在一次垃圾回收周期开头的时候,它要识别对象的全部跟引用,依据这个引用可以遍历每个根引用所标识的一个树形构造,并递归确定全部引用指向的对象。这样一来,垃圾回收器就可以识别全部可达的对象,在执行回收的时候,GC不是枚举全部访问不到的对象,相反,通过压缩全部相邻的可达的对象来执行垃圾回收。不行访问的对象就会被掩盖。垃圾回收的宗旨是提高内存的利用率,它并不是用来清理文件句柄,和数据库连接字符串,端口或者其他有限的资源(终接器finalizer,不能被显示调用,不能传递任何参数,即不能被重载,只有垃圾回收器才能调用终接器,使用Using语句进展确定性终结
2.类(class)和构造(struct)的区分是什么?它们对性能有影响吗?
01.值类型与引用类型
构造是值类型:值类型在栈上安排地址,全部的基类型都是构造类型,例如:int对应S32构造,通过使用构造可以创立更多的值类型
类是引用类型:引用类型在堆上安排地址堆栈的执行效率要比堆的执行效率高,可是堆栈的资源有限,不适合处理大的规律简单的对象。所以构造处理作为基类型对待的小对象,而类处理某个商业规律由于构造是值类型所以构造之间的赋值可以创立新的构造,而类是引用类型,类之间的赋值只是复制引用
注:1.虽然构造与类的”类型不一样,可是他们的基类型都是对象(object),c#中全部类型的基类型都是object
2.虽然构造的初始化也使用了New操作符可是构造对象依旧安排在堆栈上而不是堆上,假如不使用“新建”(new),那么在初始化全部字段之前,字段将保持未赋值状态,且对象不行用
02.继承性
构造:不能从另外一个构造或者类继承,本身也不能被继承,虽然构造没有明确的用sealed声明,可是构造是隐式的sealed.
类:完全可扩展的,除非显示的声明sealed否则类可以继承其他类和接口,自身也能被继承注:虽然构造不能被继承可是构造能够继承接口,方法和类继承接口一样
03.内部构造:
构造:没有默认的构造函数,但是可以添加构造函数没有析构函数没有abstract和sealed(由于不能继承)不能有protected修饰符可以不使用new初始化在构造中初始化实例字段是错误的
类:有默认的构造函数有析构函数可以使用abstract和sealed有protected修饰符
必需使用new初始化
.net面试题及答案(二)
1.什么是元编程,.NET有哪些元编程的手段和场景?什么是反射?能否举一些反射的常用场景?有人说反射性能较差,您怎么对待这个问题?有什么方法可以提高反射的性能吗?
学着做OA的时候,动态加载不同的DataProvider(Oracle和Sqlserver),便利,可以随时替换不用重新编译程序
2.托付是什么?匿名方法是什么?在C#3.0中,Lambda表达式是什么?扩展方法是什么?LINQ是什么?您觉得C#3.0中还有哪些重要的特性,它们带来了什么优势?BCL中哪些类库和这些特性有关?您平常最常用哪些?
托付可以把一个方法作为参数代入另一个方法。
托付可以理解为指向一个函数的指针。
匿名方法:就是没有实际方法声明的托付实例。或者说,它们的定义是直接内嵌在代码中的。
Lambda表达式:是比匿名方法更加简洁的一种匿名函数语法
托付和大事没有可比性,由于托付是类型,大事是对象,下面说的是托付的对象(用托付方式实现的大事)和(标准的event方式实现)大事的区分。大事的内部是用托付实现的。由于对于大事来讲,外部只能“注册自己+=、注销自己-=”,外界不行以注销其他的注册者,外界不行以主动触发大事,因此假如用Delegate就没法进展上面的掌握,因此诞生了大事这种语法。大事是用来阉割托付实例的,类比用一个自定义类阉割List。大事只能add、remove自己,不能赋值。大事只能+=、-=,不能=。大事内部就是一个private的托付和add、remove两个方法。
3.工作之外您看哪些技术相关的书、网站、社区、工程等等?
您还接触哪些.NET以外的技术,能和.NET或.NET中有针对性的局部做个比照吗?
C#本质论,SQLServer2023实战,数据构造,ASP.NET揭秘,Javascript深入浅出
4.website和webapplication的区分
1)website修改后不需要重启即可看到效果,webapplication需要
2)website不分namespace,webapplication有namespace
3)website为了兼容asp转过来的开发人员习惯
4)没有技术上的区分,调试习惯不同
5)website为每个编译为一个dll,webapplication生成一个dll
6)不利于工程开发,比方代码出错不简单发觉
.net面试题及答案(三)
1.特别的作用是什么?.NETBCL中有哪些常见的特别?在代码中您是如何捕获/处理特别的?在“catch(ex)”中,“throw”和“throwex”有什么区分?您会如何设计特别的构造,什么状况下您会抛出特别?
(1)C#语言的特别处理功能可帮忙您处理程序运行时消失的任何意外或特别状况
(2)throw会保存堆栈信息。throwex不会。固然,假如你抛出新的特别之前设置innerException的话,可以通过innerException的堆栈访问原有的堆栈。
(3)靠特别才能发觉错误的,通过trycatchfinally来捕获特别。假如是未预料到的则不处理(内存缺乏,删除文件)直接报错更简单发觉错误catch块从最详细到常规排列
2.ListT和T[]的区分是什么,平常你如何进展选择?DictionaryTKey,TValue是做什么的?.NETBCL中还有哪些常用的容器?它们分别是如何实现的(哪种数据构造)?分别是适用于哪些场景?
01.ListTarrylist的泛型版本,大小是可变的,T[]继承自Array,大小是固定的。假如大小没有怎么变化,选择T[],一般状况下选择ListT
02.Dictionary是hashtable的泛型版本,用来存储键值对的.例如:sortlist,stack等
3.抽象类和接口有什么区分?使用时有什么需要留意的吗?
如何选择是定义一个“完全抽象”的抽象类,还是接口?什么是接口的“显式实现”?为什么说它很重要?
一样点:都不能被直接实例化,都通过继承实现其抽象方法
不同点:
(1)接口支持多继承;抽象类不能实现多继承。
(2)接口只能定义行为;抽象类既可以定义行为,还可能供应实现。
(3)抽象类允许包含实现的virtual成员,所以能为派生类成员供应一个默认的实现,而接口全部的成员自动成为virtual成员,而且不能包含任何实现
4.字符串是引用类型类型还是构造类型?引用类型
它和一般的引用类型相比有什么特殊的地方吗?不行变的
使用字符串时有什么需要留意的地方?为什么说StringBuilder比拟高效?
当拼接两个字符串时,系统先是把两个字符串写入内存,接着删除原来的String对象,然后创立一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。而使用System.Text命名空间下面的StringBuilder类就不是这样了,它供应的Append方法,能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2021教师节座谈会青教师发言稿范文
- 2024年甲方家庭与乙方月嫂宠物护理合同
- 2024年精练商铺租赁合同范本
- 土木工程专业实习报告锦集8篇
- 2024年环保设备更新采购协议范本版
- 教师节日演讲稿范文
- 2024年版权质押合同法律风险评估
- 2021小学教师读书心得范文
- 2025江苏省全日制劳动合同书范本
- DB45T 2530-2022 农村公路管理与养护规范
- 篮球裁判手势图解汇总
- 共有因子评价问答表
- cmmi3过程域直接证据
- 初三数学中考模拟试卷共八套
- 经典绘本推荐--《果果的花朵》
- 蛋白质分选与膜泡运输
- 弹簧设计公差标准
- X62W万能铣床电气控制
- 常用普通螺纹加工的中径和顶径极限偏差快速查询表
- 质量认证基础知识(共218页).ppt
- ACOG指南:妊娠期高血压疾病指南(专家解读)
评论
0/150
提交评论