当XML应用变得越来越普遍和深入,雇用管理者将不难发现真正的具有从事XML工作经验的应聘者。尽管有这个倾向,要找到一个真正的经验丰富的XML开发者仍然不是一件容易的事。这种实情,再加上付给职位应聘者补偿的增加,决定了雇用正确的技术人员是一个IT项目的最重要的组成部分之一。因此,下面的问题列表意向于成为从事公司职位任命的管理人员的一份指南,当然他们需要对XML相关技术的基础有坚实可靠的理解。
1.描述XML和HTML之间的区别。
令人惊讶的是,很多开发者声称精通于XML编程,但是却不能理解介于XML和HTML间的根本区别。任何掌握XML基础的人都应该能够描述下表列出的一些主要差异的大致轮廓。
XML与HTML的差异
表一:
2.描述从关系型数据库动态产生HTML页面时XSL的作用。
即使应聘者没有参与过包括这类体系结构的项目,他们仍然承认这是XML的一类普通的应用。查询数据库然后格式化结果集,这样使其成为一个有效的XML文档,开发者就可以使用XSLT规则将这些数据转化为一个HTML表格。因为文档的描述逻辑性独立于XSLT规则,所以生成HTML表格的格式能够被修改而不需要改变数据库查询或者应用程序代码。
3.给出一些使用了XML以后可以得到巨大好处的应用的例子。
表面上,有数以千计的应用得益于XML技术,这个问题的要点不是让应聘者急促的背诵出他们已经工作过的一大堆项目列表,但是,更好的是,让应聘者通过举出一些现实世界中的例子来解释XML的基本原理。例如,一个适当地回答是XML允许内容管理系统独立于它们的格式来存储文档,从而减少了数据的冗余。另一个回答可以叙述B2B交换或供给链管理系统。在这些情况下,XML为多家公司遵照一个已经过协议的规则集进行数据交换提供了一种机制。第三个普通的应用是需要用WML表示掌上设备数据的无线应用。
4.什么是DOM,以及它和XML之间的关系?
文档对象模型(DOM)是W3C DOM工作组主张的一种接口规范,它是独立于访问、解析、或更新XML数据的机制的一种应用。用简单的术语来说它就是允许开发者容易操作XML文档的分层的模型。任何广泛应用XML的开发者都应当能够论述这个概念并能够自由的使用DOM对象。但是,期望高级应聘者能够彻底地理解它的内在工作方式并且能够解释DOM和一个类似SAX的事件驱动的接口的区别是不切实际的。
5.什么是SOAP,以及SOAP和XML的关系?
简单对象访问协议(SOAP)利用XML去定义用于分布式计算环境中交换信息的协议。SOAP 由三个部分组成:封装,编码规则集,和一个表示远程过程调用和应答的协定。除非有这个经验:SOAP是开放位置的直接必要条件,知道协议的特殊性,或者他怎样结合于HTTP使用并没有确定它是XML的一个自然应用来的重要。
6.你能解释XML文档解析的必要步骤吗?
表面上,这是一个相当基本的问题。然而,它并不是测定一个应聘者是否理解一个解析器的概念,而宁可让他们循序渐进的解释XML文档的解析过程。决定是否需要一个非确认或确认的解析器,选择适当的解析器并且处理错误,这些都是应聘者答案中应该包括的重要方面。
7.给出你所做过的XML DTD或者schema的例子。
尽管XML不要求数据遵照DTD是有效的,使用这种技术的很多好处得自于商业或者技术体系结构规则的有效的XML文档。轮流检测开发者所做过的DTD清单,提供给他们对技术一般方向的洞察力。理想的应聘者应该具有几个常用的DTD的知识,比如,FpML、 DocBook、 HRML和RDF,以及为一个没有标准的特别项目设计常规的DTD经验。
8.使用XSLT,怎样从XML文档中的某元素得到特定的属性值?
成功的应聘者应该认识到这是XSLT的一个最基本的应用。如果他们不能够给出类似下面例子的答案,他们应该至少能够确认这种操作的必要成分: xsl:template用来匹配适当的XML元素,xsl:value-of用于选取属性值,可选项xsl:apply-templates用来继续处理文档。
从XML数据中提取属性
实例1.
<xsl:template match="element-name">
Attribute Value:
<xsl:value-of select="@attribute"/>
<xsl:apply-templates/>
</xsl:template>
9.在构造XML DTD时,怎样为属性值创建一个外部的实体引用?
每个会话都至少有一个技巧问题。尽管在使用SGML,XML DTD可能在属性值中不支持定义外部实体参考。应聘者给出一个合理的答案比给出一个稍微含糊的答案更重要。
10.怎样为大容量的XML数据建立搜索引擎?
应聘者回答这个问题的方式可以提供他们观察XML数据的的洞察力。对于那些将XML主要地作为表示文本文件结构的途径的人,通常的答案是构建一个全文本搜索和处理数据类似于Internet入口处理HTML页面的方式。其他的会认为XML是在不同系统之间转换结构化数据的标准方式。这些应聘者经常描述一些将XML导入一个关系型或者面向对象的数据库和依赖于这些数据库搜索引擎的模式。最后,专门从事于这个领域的的应聘者经常表示处理这种情况的的最好方式是使用最优化XML数据的第三方软件包。
明显地,一些XML技术的重要领域没有包括在这个列表中--名字空间、Xpointer、 Xlink等等--如果适用于应聘者申请就任的特殊职位,这些技术将被加入招聘人员的问题集中。 然而,这些问题和其他问题的结合以评估软技能(通讯联络技能、团队合作能力、领导能力等)将有助于决定应聘者对XML基本原理的理解程度。