NET面试题 – 组件开发人员 & XML开发人员
C#组件开发人员
什么时候使用override?什么时候使用new? 什么叫shadowing?
重写父类的方法的时候用override以实现多态,当你想屏蔽父类成员的时候使用new,shadowing基本就是new与override区别等一些方面的问题,个人认为弄清override与new就没有必要特意考虑shadowing。
解释virtual、sealed、override和abstract的区别?
virtual是声明虚方法的关键字,说明该方法可以被重写,sealed说明该类不可被继承,override重写基类的方法,abstract表明一个类是抽象类或者一个方法是抽象方法,抽象方法不提供实现,由子类中重写这个抽象方法的方法实现,抽象类不可实例化。
Foo.Bar, Version=2.0.205.0, Culture=neutral, PublicKeyToken=593777ae2d274679d 解释这个字符串每个部分的重要性和作用 ?
程序集的名字、版本(主版本、次版本、内部版本号、修订号)、Culture(文化)如zh-CN,公钥(缩略码),这些是强名程序集的标志。
解释public、protected、private和internal的区别。
标记public后可被在类的内部或外部访问,protected只能被其自身内部或其子类访问,private只能在其内部访问,internal只能在相同的程序集中被访问。
使用Primary Interop Assembly(PIA)有什么好处?。
PIA是官方发布并经过Sign,可以在不同程序中共享。PIA可能经过某种改动使其比一般Tlbimp生成的Interop DLL要容易使用一些,比如提供一些封装函数。
NUnit是通过什么机制获知需要测试哪些方法的?
反射,为测试方法加上[TestMethodAttribute]。
catch(Exception e){throw e;}和catch(Exception e){throw;}的区别?
将发生的异常对象抛出,另一个只是抛出异常,并没有抛出原异常对象
typeof(foo)和myFoo.GetType()的区别? typeof()为操作符,其操作数为类型,而不能是类的实例。GetType()方法是类型的实例调用的,用于在运行时获得对象的类型。
public class c
{
public c(string a) : this() {;};
public c() {;}
}
解释第一个构造函数中发生了什么?这个构造函数有什么用?
解答:第一个构造函数调用了第二个构造函数,这个构造函数构造了一个c对象的实例。其接受一个string类型的参数。
this是干嘛用的?能够用在static方法中?
this表示通过当前实例访问一个对象,不能用于static中。
XML开发人员
1. XML命名空间的作用?
当XML文档较为复杂或是需要从别的地方取得内容时,一个文档中有可能会
相关文档:
HTML,XML,UML 简介
HTML (HyperText Mark-up Language)超文本标记语言 是WWW的描述语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。HTML文本是由HTML命令组成的 ......
ref : http://blog.csdn.net/High_Mount/archive/2008/09/19/2953335.aspx
转义字符
不合法的XML字符必须被替换为相应的实体。
如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该象下面那样书写代码:
<message>if salary < 1000 then</me ......
问题:
根据google规定,在给自动给网站生成sitemap.xml的时候, 给根结点加如下属性时,遇到了麻烦
xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
用很多方法,像addAttribute, addNamespce都不行
解决方法:
Document document = DocumentHelper.createDocument();
Element root = document.addEl ......