.net 面试题(高级开发人员篇)

这篇博客详细列举了.NET面试中的一些高级问题,涵盖了DateTime解析、PDB文件、圈复杂度、lock语句、FullTrust、代码权限特性、XML序列化、DCOM端口、OOP与SOA的区别、调试输出、编译模式差异、JIT编译、深拷贝、装箱、字符串类型、XmlSerializer优化、out参数和自定义参数特性等方面,旨在帮助开发者更好地理解和准备.NET面试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1) DateTime.Parse(myString); 这行代码有什么问题?

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

2) PDB是什么东西? 在调试中它应该放在哪里?

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

3) 什么叫圈复杂度(cyclomatic complexity)?为什么它很重要?

不知道,望指教 ?

4) 写一个标准的lock(),在访问变量的前后创建临界区,要有"双重检查",
 

lock的使用
  public void LockTest()
        {
            Object lockObj = new Object();
            lock (lockObj)
            {
                //
            }
        }
     

5) 什么叫FullTrust?放入GAC的assembly是否是FullTrust的?

FullTrust完全信任。放入GAC中的Assembly是否FullTrust我的理解不是。我理解FullTrust是可以通过代码设定的

6) 代码加上需要安全权限的特性有什么好处?

可以更加灵活的设置对代码的访问权限,实现代码级保护。?这点不是特清楚,有明白的给讲解下

7) gacutil /l | find /i "Corillian" 这句命令的作用是什么?

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

8) sn -t foo.dll 这句命令是干嘛的?

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

9) DCOM需要防火墙打开哪些端口?端口135是干嘛用的?

135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下,DCOM不能穿越防火墙。因为根本不晓得开哪个端口。但有解决办法可以使DCOM分配的端口号固定,有关内容我在http://www.cnblogs.com/jillzhang/archive/2008/02/20/1075057.html 有过一些描述。135是远程过程调用(RPC)的默认端口

10)对比OOP和SOA,它们的目的分别是什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值