百文网 > 职场 > 求职 > 面试题

2017java程序员面试题及参考答案(实用两篇)

回答面试题是java程序员个人求职者在求职面试过程中必须完成的环节。下面是百文网小编为大家带来的2017java程序员面试题,相信对你会有帮助的。

2017java程序员面试的知识点

一、基本数据结构

1. 队列和栈的区别和常用操作

2. 队列的实现方式(单向链表、双向链表)

3. 基于队列的算法(主要是排序算法:归并排序,二分法插入排序可以做重点(这两个排序通常会被用来做动态有序队列的维护)。至于快速排序,基本上都用现成的程序库,不需要掌握)

4. 图的基本概念 (有向图,无向图)

5. 图的基本表达方法(邻接矩阵,链接表)

6. 图的基本算法

a) 最短路径Dijstra

b) 最小生成树 Prim

7. 树的基本概念(二叉树,平衡树,森林)

8. 树的基本表达方法

9. 树的相关算法

a) 遍历算法(深度优先、广度优先)构

b) 平衡树(B树)

c) 其他算法(Haffman树)

数据库:资料下载

点击下页还有更多>>>2017java程序员面试知识

二、基本概念

1. 数据库、表、视图、Sequence、Index

2. 数据类型的区别(Char 和 varchar的区别)

3. 关系 (外键、主键。1:1, 1:n,n:n关系在数据库中的实现)

4. 范式

三、应用

1. 基本Sql语言

2. Outer join (left, right, full)和 inner join

3. Transaction概念

4. Transaction和Connection的关系

四、高级应用

1. DAO模型

2. Connection Pool

3. OR Mapping Tools (Hibernate)

五、基本概念

1. 语言基本概念

a) Abstract,static,和final修饰符

2. 各种不同类型的类型

a) Normal Class

b) Abstract Class

c) Interface

3. 特殊类型

a) Exception (unchecked 和 checked)

b) System

c) Classloader

d) Thread + Runnable

e) Serializable

f) Comparable

g) Cloneable

h) Object

HashCode ()

Equals ()

Clone ()

ToString ()

4. 基本Pattern的实现

a) Singleton

b) Utility class

5. 对象的基本概念

a) Create a object

b) Lifecycle of object

c) Object reference 和Object的关系

存储位置(Heap和Stack)

对象赋值和修改

二、中级概念

1. String的基本操作方法

2. Java. collections中的基本对象

a) Collection

b) List

c) Set

d) Map

e) 两个Utils类:Collections和Arrays

3. Concurrency的基本概念

a) synchronized

b) Thread 和 runnable的基本概念

c) Concurrency (JDK 1.5)的基本使用方法

ReadWriteLock

Thread pool

d) Dead lock的原因和诊断方法

4. 第三方Utils库的使用方法

a) Log4j

b) Commons-xxx

5. Heap和Garbage Collection

a) Object reuse (Object pool, 对基本类型对象,使用Value Of代替new)

b) Memory leak的原因和诊断方法

六、高级概念

1. J2EE/EJB

a) Stateless / Stateful Session Bean

b) Servlet/MVC/struts

c) Webservice (WSDL/SOAP/AXIS/X Fire)

2. Spring framework

a) 基本概念(IoC, AOP)

3. Hibernate

2017java程序员面试题及答案

问题1:XML是什么?

答:XML即可扩展标记语言(Extensible Markup language),你可以根据自己的需要扩展XML。XML中可以轻松定义, 等自定义标签,而在HTML等其他标记语言中必须使用预定义的标签,比如,而不能使用用户定义的标签。使用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片断。

6758.T

2300

例子中id是元素的一个属性,其他元素都没有属性。

问题6:什么是格式良好的XML

答:这个问题经常在电话面试中出现。一个格式良好的XML意味着该XML文档语法上是正确的,比如它有一个根元素,所有的开放标签合适地闭合,属性值必须加引号等等。如果一个XML不是格式良好的,那么它可能不能被各种XML解析器正确地处理和解析。

问题7:XML命名空间是什么?它为什么很重要?

837363223

问题8:DOM和SAX解析器有什么区别

答:这又是一道常见面试题,不仅出现在XML面试题中,在Java面试中也会问到。DOM和SAX解析器的主要区别在于它们解析XML文档的方式。使用DOM解析时,XML文档以树形结构的形式加载到内存中,而SAX是事件驱动的解析器。这个问题更详细的回答查看DOM和SAX解析器之间的区别。

问题9:XML CDATA是什么

答:这道题很简单也很重要,但很多编程人员对它的了解并不深。CDATA是指字符数据,它有特殊的指令被XML解析器解析。XML解析器解析XML文档中所有的文本,比如This is name of person,标签的值也会被解析,因为标签值也可能包含XML标签,比如First 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服务以及带宽、速率作为次要考虑因素的系统间数据传输起很大作用。

相关热搜

相关文章

【面试题】热点

【面试题】最新