在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
过完年来,准备找份新工作,虽然手里的工作不错,但树挪死,人挪活。咱不能一直在一个坑里生活一辈子,外面的世界毕竟是很美好的。 为了能正常的找到自己中意的工作,最近是将所有的基础知识拿出来复习了一次。仅作记录,自勉,各位大神不要喷,随意看看就好了。 以下知识点,均摘自面试过程中遇到的题 1.try{} 里面有个Return语句,那么紧跟try后面的Finally{}会不会执行? 答案:会执行,在Return后执行 喜欢研究透的同学可以参考:http://www.cnblogs.com/forcertain/archive/2012/11/22/2782855.html 我的记忆方法如下 public static int ExecuteNonQuery(string connStr, string sql) 这属于帮助记忆型,最好还是弄懂原理 2.Using有什么用. 答:很多同学看到这个就笑了,不就是namespace的引用嘛,殊不知,出题人正在等你更精彩的回答呢。 Using还可以实现非托管资源的释放,实现了IDisposiable类在Using中创建,Using结束后会自动调用Dispose方法回收资源,其等价于try...finally 以上可以参考:http://www.cnblogs.com/miniwiki/archive/2010/05/13/1734307.html 这个时候面试官就笑了,绵里藏针的问,什么是非托管资源,托管资源.这个时候接不上就暴露了背书了吧。 托管资源:一般是指被CLR控制的内存资源,这些资源由CLR来管理。可以认为是.net 类库中的资源。 非托管资源:不受CLR控制和管理的资源,比如文件流,数据库的连接,网络连接,系统的窗口句柄,打印机资源等,这类资源一般不存在堆上。可以认为操作系统资源的一组API。 对于托管资源,GC负责垃圾回收。对于非托管资源,GC可以跟踪非托管资源的生存期,但是不知道如何释放它,这时候就要人工进行释放。 然后面试官就会继续问GC回收机制巴拉拉一大推了,直到你回答不上来为止. 3.Readonly 同Const区别 是不是又被简单到了? 首先先解释下什么是静态常量以及什么是动态常量。静态常量是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。而动态常量的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。 基本了解以上后,就可以对号入座了。const修饰的常量是上述中的第一种,即静态常量;而readonly则是第二种,即动态常量。那么区别可以通过静态常量与动态常量的特性来说明 1)const修饰的常量在声明的时候必须初始化;readonly修饰的常量则可以延迟到构造函数初始化 2)const修饰的常量在编译期间就被解析,即常量值被替换成初始化的值;readonly修饰的常量则延迟到运行的时候 此外const常量既可以声明在类中也可以在函数体内,但是static readonly常量只能声明在类中。 以上摘自:http://www.cnblogs.com/royenhome/archive/2010/05/22/1741592.html 以上是今天的重点观察,也许很基础,也许很多次重逢,温故而知新吧 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论