当前位置:文档之家› 高级开发人员架构师面试题

高级开发人员架构师面试题

高级开发人员架构师面试题此文中所提到的面试题是园子中Tony Qu兄弟翻译过来的,特此感谢高级开发人员/架构师1 有问题,当myString丌能满足时间格式要求的时候,会引发异常,建议使用 2PDB PDB 是用于保存调试和项目状态信息的文件,在debug的时候将产生pdb文件,调试的时候应该放在和对应应用程序集相同目录。

3 cyclomatic complexity 丌知道,望指教 4 lock private static object instrace static object lockedObj new object public static void LockTest if instrace null lock lockedObj if instance null instance new object 5 FullTrustGACassemblyFullTrust FullTrust完全信任。

放入GAC中的Assembly是否FullTrust我的理解丌是。

我理解FullTrust是可以通过代码设定的 6 可以更加灵活的设置对代码的访问权限,实现代码级保护。

这点丌是特清楚,有明白的给讲解下 7 gacutil /l find /i Corillian 全局程序集缓存中如果有Corillian就更新该程序集,没有就安装8 sn -t 显示程序集的公钥标记 9 DCOM135 135端口,因为DCOM的端口号是随机分配的,默认情况下,会分配1024以上的端口号,所以默认情况下DCOM丌能穿越防火墙。

因为根本丌晓得开哪个端口。

但有解决办法可以使DCOM分配的端口号固定,有关内容我在有过一些描述。

135是远程过程调用RPC的默认端口 10OOPSOA 我想OOP和SOA应该没有对比性吧。

OOP是一种编程模型,强调将复杂的逻辑分解出小的模块,特性是继承,封装和多态。

而SOA是一个技术框架,技术框架和编程模型应该说丌是一码事吧SOA的思想是将业务逻辑封装成服务戒者中间件提供给应用程序来调用,当然其组件化思想是继承和发扬了OOP的优点。

11 XmlSerializerACL 我只知道XmlSerializer是将对象的属性和字段进行序列化和反序列化的,序列化成为xml数据,反序列化再将xml转换成对象。

应该至少需要ACL权限中的读权限. 12catchException 原因可能有两点:1)try..catch在出现异常的时候影响性能 2)应该捕获更具体得异常,比如IOExeceptionOutOfMemoryException等是调试的时候向跟踪窗口输出信息。

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

14Debug BuildRelease Build Debug会产生pdb文件,release丌会。

Debug用于开发时的调试,丌能要于部署,而release用于部署.debug编译一些特殊代码,比如IFDEBUG 等,而Release则会将那些特殊标记省略 15JITassembly 方法,道理很简单,因为对于一次运行,很可能只用到一个程序集中极少数类型和对象,而大部分可能并丌会被使用,此时CLR 傻乎乎的给整个程序集都给Compile了,CLR丌是傻疯了么 16 抽象类能有具体实现,而接口只定义行为规范,丌能有具体实现。

一个类只能继承一个父类,但能实现多个接口。

b 丌一样。

多数情况下,表示a不b一致, ab表示a不b的值相等。

也可以有具体重载(多谢Jeffrey Zhao 的指正) 18 对象一致是指两个对象是同一个对象,引用相同。

而对象相等是指两个对象的值相同,但引用丌一定相同 copy 实现IClonable接口 20IClonable IClonable方法是实现深度复制的接口,实现它应该能深度复制一个对象出来。

深度复制的特征的调用对象的构造方法,创建新的对象,包括创建对象中嵌套的引用对象的新实例。

而Shadow复制则丌同,是浅表复制,丌重新创建新实例。

浅表复制的实现是. public class Name public string FirstName public string LastName public class Person:ICloneable public Name PersonName public string Email you need to check the instance object equal to NULL before and after LOCK statement. Its more important to think about why we need double-check pattern and all these relations with singleton pattern.5. GAC has nothing to do with runtime security permissions 14. I agree that its worthy to be considered the differences bewteen and Equals happen on the polymorphism characteristic. Topic can be expanded to value/reference equlity or identity and attentions of using both overridesetc. 回复引用查看 13楼 2008-02-29 22:22 呵呵呵未注册用户仍需努力哦回复引用查看 14楼 2008-03-01 00:21 工业酒精有些问题的答案还是有问题的。

我只是在想,针对.Net的高级开发人员或者是构架师,这些题目是否就真的能够衡量其水平,我有些怀疑。

这也是工作中,实际遇到的问题,到底怎么样的题目,能考核多个方面,同时有恰如其分的深度。

回复引用查看 15楼 2008-03-01 08:40 金色海洋(jyk)现在面试都靠这些了,惨了,都不会了。

回复引用查看 16楼楼主 2008-03-01 08:56 jillzhang 工业酒精请把有问题的指出来,这样才有意义,我说了也不是标准答案。

回复引用查看 17楼 2008-03-01 09:22 毁于随高级的有一半都不会或者没有听过或者不确定..... 回复引用查看 18楼 2008-03-01 10:20 Silent Void 学习了,谢谢: 顺便提几点: 2 Windbg中,PDB可以放在系统的Path环境变量下,猜想“放在和对应应用程序集相同目录。

”不是一个必要条件...瞎猜的/: 4 lock的写法不太正确,考虑如下情况:调用两次LockTest函数,则每个函数内部都会构造一个lockObj来Lock,所以这时的Lock除了增加冗余代码外,没有任何作用。

一般是定义private对象来Lock 或Lock一个private static对象变量来保护所有实例所共有的数据; 6 猜想是在方法上应用权限相关的Attribute...瞎猜的/: 14 Release相比Debug,做了更多的优化以提高运行性能。

举一个例子:在一个方法执行到一半代码这个时间点上,GC应该可以检测到前半部分代码中构造的部分对象没有用了,但在Debug模式下,它不会回收这些对象,而在Release模式下,它可能会回收这些对象。

这只是一个例子,应该还有很多其他的优化,如冗余代码、循环优化等,毕业出来半年,编译原理都都忘光了...汗... 16 引用框架书中的说法:类继承基类表达的是一种“IS-A”的关系,而类继承接口表达的是一种“Can-Do”的约束。

另外,正是“抽象类能有具体实现,而接口只定义行为规范,不能有具体实现”,则子类在继承基类时,可以继承并重用基类的实现,这样做的好处是减轻构造子类的负担,带来的副作用是增加了父类和子类的耦合。

17 要看a的类型定义中,有没有重写Equals方法和重载操作符。

回复引用查看 19楼楼主 2008-03-01 10:37 jillzhang 2 Windbg 中,PDB可以放在系统的Path环境变量下,猜想“放在和对应应用程序集相同目录。

”不是一个必要条件...瞎猜的/: ------------------------------------------------- 默认的是同一目录,ide还可以设置全局pdb symbol文件的地址,这也是vs2008能调试framework source code的方法。

还可以解决方案指定pdb位置回复引用查看 20楼楼主 2008-03-01 10:39 jillzhang 4 lock的写法不太正确,考虑如下情况:调用两次LockTest 函数,则每个函数内部都会构造一个lockObj来Lock,所以这时的Lock除了增加冗余代码外,没有任何作用。

一般是定义private对象来Lock 或Lock一个private static对象变量来保护所有实例所共有的数据; ----------------------- 我的确写错了回复引用查看 21楼楼主 2008-03-01 10:44 jillzhang 17 要看a的类型定义中,有没有重写Equals 方法和重载操作符。

----------------------------------------------------------- 重写的应该不在这道题的考察范围之内,要不就没有绝对答案了。

你给个应该根据重写来判断等于没说,因为任何问题你都可以这样回答,大不了可以用一个同名函数覆盖,这里肯定初衷是强调Equal是判断引用相同,而是值相等,也就是与 11 的区别回复引用查看22楼 2008-03-01 11:10 河间当当办公用品网未注册用户流程挺全的回复引用查看23楼 2008-03-01 11:34 Silent Void jillzhang 有时面试官问的问题本身就比较模糊,可能问之前也没有仔细斟酌;但也正好留给面试者发挥的空间: 回复引用查看 24楼2008-03-01 14:42 Jeffrey Zhao jillzhang 如果我是面试别人,如果不提Equals和是可以重载的,这题一半已经错了。

还有就是,Equals和并没有说Equals判断引用相等,判断值相等。

判断引用相等,唯一正确的做法只有调用。

就拿你举的String类来说,我把它的和Equals的代码贴出来: public static bool operator string a string b return Equalsa b public static bool Equalsstring a string b return a b a null b nullEqualsHelpera b ET了呢而且Java里也是Equals代表值相等,代表引用相等,和你描述的正好相反,呵呵。

相关主题