包括web开发人员的Java面试在内的各种面试中,XML面试题在各种编程工作的面试中很常见。XML是一种成熟的技术,经常作为从一个平台到其他平台传输数据的标准。XML面试问题包括用于转换XML文件的XSLT技术,XPATH,XQuery等各种XML技术和XML基础知识,比如DTD或者Schema。
本文将看到10道常见的XML面试问答题。这些问题大部分在Java面试中会问到,同时在C,C++,Scala或其他语言的编程面试中同样很有用处。XML并不依赖于其他编程语言,同SQL一样是编程人员所需要的技能之一,因此在任何技术工作面试之前准备一些XML问题是很有意义的。
XML面试问答
下面是我列出的关于XML技术经常会问到的面试题。这些问题并不很难但涵盖了XML技术的一些重要领域,比如DTD,XML Schema,XSLT转换,XPATH检索,XML绑定,XML解析器以及XML的基本知识,比如命名空间,校验,属性,元素等。
问题1:XML是什么?
答:XML即可扩展标记语言(Extensible Markup language),你可以根据自己的需要扩展XML。XML中可以轻松定义<books>, <orders>等自定义标签,而在HTML等其他标记语言中必须使用预定义的标签,比如<p>,而不能使用用户定义的标签。使用DTD和XML Schema标准化XML结构。XML主要用于从一个系统到另一系统的数据传输,比如企业级应用的客户端与服务端。
问题2:DTD与XML Schema有什么区别?
答:DTD与XML Schema有以下区别:DTD不使用XML编写而XML Schema本身就是xml文件,这意味着XML解析器等已有的XML工具可以用来处理XML Schema。而且XML Schema 是设计于DTD之后的,它提供了更多的类型来映射xml文件不同的数据类型。DTD即文档类型描述(Document Type definition)是定义XML文件结构的传统方式。
问题3:XPath是什么?
答:XPath是用于从XML文档检索元素的XML技术。XML文档是结构化的,因此XPath可以从XML文件定位和检索元素、属性或值。从数据检索方面来说,XPath与SQL很相似,但是它有自己的语法和规则。了解更多查看怎样使用XPath从XML文档中检索数据。
问题4:XSLT是什么?
答:XSLT也是常用的XML技术,用于将一个XML文件转换为另一种XML,HTML或者其他的格式。XSLT为转换XML文件详细定义了自己的语法,函数和操作符。通常由XSLT引擎完成转换,XSLT引擎读取XSLT语法编写的XML样式表或者XSL文件的指令。XSLT大量使用递归来执行转换。一个常见XSLT使用就是将XML文件中的数据作为HTML页面显示。XSLT也可以很方便地把一种XML文件转换为另一种XML文档。
问题5:什么是XML元素和属性
答:最好举个例子来解释。下面是简单的XML片断。
<Orders> <Order id=”123″> <Symbol>6758.T</Symbol> <Price>2300</Price> <Order> <Orders>
例子中id是元素的一个属性,其他元素都没有属性。
问题6:什么是格式良好的XML
答:这个问题经常在电话面试中出现。一个格式良好的XML意味着该XML文档语法上是正确的,比如它有一个根元素,所有的开放标签合适地闭合,属性值必须加引号等等。如果一个XML不是格式良好的,那么它可能不能被各种XML解析器正确地处理和解析。
问题7:XML命名空间是什么?它为什么很重要?
答:XML命名空间与Java的package类似,用来避免不同来源名称相同的标签发生冲突。XML命名空间在XML文档顶部使用xmlns属性定义,语法为xmlns:prefix='URI'。prefix与XML文档中实际标签一起使用。下面例子为XML命名空间的使用。
<root xmlns:inst=”http://instruments.com/inst” <inst:phone> <inst:number>837363223</inst:number> </inst:phone> </root>
问题8:DOM和SAX解析器有什么区别
答:这又是一道常见面试题,不仅出现在XML面试题中,在Java面试中也会问到。DOM和SAX解析器的主要区别在于它们解析XML文档的方式。使用DOM解析时,XML文档以树形结构的形式加载到内存中,而SAX是事件驱动的解析器。这个问题更详细的回答查看DOM和SAX解析器之间的区别。
问题9:XML CDATA是什么
答:这道题很简单也很重要,但很多编程人员对它的了解并不深。CDATA是指字符数据,它有特殊的指令被XML解析器解析。XML解析器解析XML文档中所有的文本,比如<name>This is name of person</name>,标签的值也会被解析,因为标签值也可能包含XML标签,比如<name><firstname>First Name</firstname></name>。CDATA部分不会被XML解析器解析。CDATA部分以“
问题10:Java的XML数据绑定是什么
答:Java的XML绑定指从XML文件中创建类和对象,使用Java编程语言修改XML文档。XML绑定的Java API,JAXB提供了绑定XML文档和Java对象的便利方式。另一个可选的XML绑定方法是使用开源库,比如XML Beans。Java中XML绑定的一个最大的优势就是利用Java编程能力创建和修改XML文档。
以上的XML面试问答题收集自很多编程人员,但它们对于使用XML技术的每个人都是有用的。由于XML具有平台独立的特性,XPath,XSLT,XQuery等XML技术越来越重要,XML广泛用于跨平台数据传输。尽管XML有冗余和文档体积大等缺点,但它在web服务以及带宽、速率作为次要考虑因素的系统间数据传输起很大作用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
主要内容:一、对Java并发仍停留在理论阶段,二、中间件系统的内核机制:双缓冲机制,三、百万并发的技术挑战,四、内存数据写入的锁机制以及串行化问题,五、内存缓冲分片机制+分段枷锁机制,六、缓冲区写满时的双缓冲交换,七、且慢!刷写磁盘不是会导致锁持有时间过长吗?,八、内存 + 磁盘并行写机制,九、为什么必须要用双缓冲机制?,十、总结这篇文章,给大家聊聊一个百万级并发的中间件系统的内核代码里的锁性能优化。 很多同学都对Java并发编程很感兴趣,学习了很多相关的技术和知识。比如volatile、Ato
本文向大家介绍iOS10适配问题及解决方法 新鲜出炉!,包括了iOS10适配问题及解决方法 新鲜出炉!的使用技巧和注意事项,需要的朋友参考一下 随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使用下面的方法: 它会永远返回NO,substringTo
本文向大家介绍Java程序员面试中的多线程问题总结,包括了Java程序员面试中的多线程问题总结的使用技巧和注意事项,需要的朋友参考一下 很多核心 Java 面试题来源于多线程(Multi-Threading)和集合框架(Collections Framework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了 Java 线程方面一些典型的问题,这些问题经常被高级工程师所问到。 0、J
1️⃣ 一面 1 自我介绍 2 面试官询问最希望讨论的互联网实习经历,及经历的细节。 3 探讨AB测试如何与工作内容结合 4 最近常用的APP及印象最深的功能,以及如果作为产品经理会如何改善。 5 从xx背景到产品职业规划的转变原因。 6 微信使用体验:常用功能的使用体验、优缺点。 7 视频号与公众号:对视频号、公众号的看法,发展预测。 8 产品改进:微信产品的改进建议。 9 自我评估:个人优势、
主要内容:1.谈谈项目中mq的理解,2.mq宕机消息会丢失吗,3.消息堆积问题,4.mq的集群如何解决消息顺序执行问题,5.数据一致性问题,6.canal运行原理,7.分布式配置中心的原理,8.谈谈对seata的理解,9.fail-safe/fail-fast机制分别有什么作用?,10.Cpu 如果太高如何解决1.谈谈项目中mq的理解 mq一般都是用来异步, 解耦, 消峰用的。 异步操作, 接口是http协议的,在同步调用过程中, 如果接口响应比较慢的情况下, 会导致客户端反应超时, 比如有些业
1. 自我介绍 2. 前端是怎么学习的 3. 自学前端的过程 4. 介绍一下Vue2(当时只介绍了Vue2面试官让介绍全家桶) 5. Vue2的diff算法(答得不清楚) 6. 了解React中的diff算法么(不太了解,两个类似) 7. 项目中用到了Vue2的哪些(Vuex,router) 8. 项目中用到了axios,说说axios 9. 在axios拦截中都怎么做的 10. 了解Vue3么,