《.NET面试题,看看你的水平 》参考答案

时间:2021-07-01 14:37:03

1.

当myString不能满足时间格式要求的时候,会引发异常。建议使用DateTime.TryParse()

2.

PDB是用于保存调试和项目状态信息的文件,在debug的时候将产生pdb文件,调试的时候应该放在和对应应用程序集相同目录。

3.

一种代码复杂度的衡量标准, 英文名称叫Cyclomatic Complexity。在软件测试的概念里,圈复杂度“用来衡量一个模块判定结构的复杂程度,数量上表现为独立现行路径条数,即合理的预防错误所需测试的最少路径条数,圈复杂度大说明程序代码可能质量低且难于测试和维护,根据经验,程序的可能错误和高的圈复杂度有着很大关系”。

4.

1 《.NET面试题,看看你的水平 》参考答案public   void  LockTest()
2 《.NET面试题,看看你的水平 》参考答案《.NET面试题,看看你的水平 》参考答案 {
3《.NET面试题,看看你的水平 》参考答案    Object lockObj = new Object();
4《.NET面试题,看看你的水平 》参考答案    lock (lockObj)
5《.NET面试题,看看你的水平 》参考答案《.NET面试题,看看你的水平 》参考答案    {
6《.NET面试题,看看你的水平 》参考答案       //
7《.NET面试题,看看你的水平 》参考答案    }

8《.NET面试题,看看你的水平 》参考答案}

5.

FullTrust完全信任。.NET运行时对GAC中的assembly自动赋予Full Trust的权限.

6.

没深入过,望高手指教

7.

全局程序集缓存中如果有Corillian就更新该程序集,没有就安装

8.

显示程序集foo.dll的公钥标记

9.

135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下,DCOM不能穿越防火墙。因为根本不晓得开哪个端口。但有解决办法可以使DCOM分配的端口号固定。135是远程过程调用(RPC)的默认端口

10.

我想OOP和SOA应该没有对比性吧。OOP是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态 。而SOA是一个技术框架或者是一种思想,技术框架和编程模型应该说不是一码事吧?SOA的思想是将业务逻辑封装成服务或者中间件现组成业务总线提供给应用程序来调用。

11.

将对象序列化成为xml数据,反序列化再将xml转换成对象。应该至少需要ACL权限中的读权限.

12.

原因可能有两点:1)try..catch在出现异常的时候影响性能 2)应该捕获更具体得异常,比如IOExeception,OutOfMemoryException等
13.

Debug.Write是调试的时候向跟踪窗口输出信息。当编译模式为debug的时候才有效,为release的时候Debug.Write在编译的时候会忽略,而Trace则是在debug和release两种模式下均可以向跟踪窗口输出信息。

14.

Debug会产生pdb文件,release不会。Debug用于开发时的调试,不能要于部署,而release用于部署.debug编译一些特殊代码,比如#IFDEBUG Debug.Write等,而Release则会将那些特殊标记省略

15.

方法,因为对于一次运行,很可能只用到一个程序集中极少数类型和对象,而大部分可能并不会被使用,此时CLR傻乎乎的给整个程序集都给Compile了,CLR不是傻疯了么

16.

抽象类能有具体实现,而接口只定义行为规范,不能有具体实现。一个类只能继承一个父类,但能实现多个接口。

17.

不一样。a.Equals(b)表示a与b一致, a==b表示a与b的值相等

18.

对象一致是指两个对象是同一个对象,引用相同。而对象相等是指两个对象的值相同,但引用不一定相同
19.

实现IClonable接口

20.

IClonable方法是实现深度复制的接口,实现它应该能深度复制一个对象出来。深度复制的特征的调用对象的构造方法,创建新的对象,包括创建对象中嵌套的引用对象的新实例。而Shadow复制则不同,是浅表复制,不重新创建新实例。浅表复制的实现是Object.MemberWiseClone().

《.NET面试题,看看你的水平 》参考答案《.NET面试题,看看你的水平 》参考答案深度复制与浅度复制比较

21.

装箱(boxing)是将值类型的数据转化成引用类型,int i=3; object o = i ;便是装箱过程,而拆箱(unboxing)是将引用类型数据转换值类型,比如int j = (int)o;属于拆箱

22.

引用类型

23.

只序列化有用的数据,而不是序列化整个对象。实现没必要的数据冗余,和提升序列化时的性能

24.

不知道,只是看过有文章说最好少用……

25.

可以,作用可以对参数有进一步限定,比如输入参数为int类型,可以通过允许AttributeTargets=ParameterInfo的Attribute自定义实现来限定输入参数的大小,比如当输入参数小于100的时候便抱错。

 

《.NET面试题,看看你的水平 》参考答案《.NET面试题,看看你的水平 》参考答案方法的参数设置Attribute的例子

26.

C

27.

i=2001,0=2000,j=2000

28.

3

29.

""(字符串空)

30.

报错,Box 类并没有Length和Width方法