首页 > 经典文章 > 经典美文 > java程序员,java程序员面试题

java程序员,java程序员面试题

时间:2018-07-31   来源:经典美文   点击:

【www.gbppp.com--经典美文】

java程序员,java程序员面试题 第一篇_2017java程序员面试题及答案

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服务以及带宽、速率作为次要考虑因素的系统间数据传输起很大作用。

2017java程序员面试的知识点

一、基本数据结构

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

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

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

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

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

6. 图的基本算法

a) 最短路径Dijstra

b) 最小生成树 Prim

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

8. 树的基本表达方法

9. 树的相关算法

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

b) 平衡树(B树)

c) 其他算法(Haffman树)

二、基本概念

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

java程序员,java程序员面试题 第二篇_JAVA程序员必备面试题库(完全版)

JAVA 综合面试题

2013-02-12

目录Java面试题整理 .............................................................................................................. 9

Java面向对象................................................................................................................... 9

1. super()与this()的区别? ...................................................................................... 9

2. 作用域public,protected,private,以及不写时的区别?............................................. 9

3. 编程输出如下图形。 .......................................................................................... 9

4. JAVA的事件委托机制和垃圾回收机制 ............................................................. 10

5. 在JAVA中,如何跳出当前的多重嵌套循环? ................................................. 10

6. 什么是java序列化,如何实现java序列化?(写一个实例) ................................ 10

7. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?......... 10

8. 排序都有哪几种方法?请列举。用JAVA实现一个快速排序? ......................... 10

9. Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?....11 10.

11.【java程序员,java程序员面试题,】

12.

13.

14.

15.

16. Final类有什么特点?.....................................................................................11 继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? ................11 内部类的实现方式?....................................................................................... 12 用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? ....................... 13 如在COLLECTION框架中,实现比较要实现什么样的接口? ...................... 13 用插入法进行排序代码如下 .......................................................................... 13 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输

入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。............ 14

15、Java编程,打印昨天的当前时刻 ......................................................................... 15

16、文件读写,实现一个计数器 ................................................................................ 15

17、指出下面程序的运行结果。.............................................................................. 16

18、抽象类和接口的区别?..................................................................................... 16

19、什么是类的返射机制?....................................................................................... 16

20、类的返射机制中的包及核心类?......................................................................... 17

21、得到Class的三个过程是什么?.......................................................................... 17

22、如何唤起类中的一个方法?.............................................................................. 17

23、如何将数值型字符转换为数字(Integer,Double)? ........................................ 17

24、如何将数字转换为字符? ................................................................................. 17

25、如何去小数点前两位,并四舍五入。................................................................ 17

26、如何取得年月日,小时分秒? .......................................................................... 18

27、如何取得从1970年到现在的毫秒数 ................................................................. 18

28、如何获取某个日期是当月的最后一天? ............................................................ 18

29、如何格式化日期?............................................................................................ 19

30、编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。

............................................................................................................................... 19

32、String s = new String("xyz");创建了几个String Object? ........................................ 19

33、float型float f=3.4是否正确?............................................................................. 19

35、说出一些常用的类,包,接口,请各举5个 ..................................................... 19

36、java中会存在内存泄漏吗,请简单描述。 ......................................................... 20

37、java中实现多态的机制是什么? ....................................................................... 20

38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主

动通知虚拟机进行垃圾回收? ................................................................................. 20

39、静态变量和实例变量的区别? .......................................................................... 20

41、是否可以从一个static方法内部发出对非static方法的调用? ............................ 20

42、写clone()方法时,通常都有一行代码,是什么? .............................................. 20

43、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什

么意义?在try块中可以抛出异常吗? .................................................................... 21

45、冒泡排序法 ...................................................................................................... 21

46、String and StringBuffer的区别?........................................................................ 22

47、用java代码编写堆栈........................................................................................ 22

48、集合的作用是什么? .......................................................................................... 23

49、集合的通用方法有那些?通用方法是什么?(操作)................................................ 23

50、说出ArrayList,Vector, LinkedList的存储性能和特性HashMap和Hashtable的区别

............................................................................................................................... 24

51、Collection 和 Collections的区别。 ................................................................... 24

52、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是

equals()? 它们有何区别?用contains来区分是否有重复的对象。还是都不用。.......... 24

53、List, Set, Map是否继承自Collection接口? ........................................................ 24

54、面向对象的特征有哪些方面.............................................................................. 25

55、String是最基本的数据类型吗?.......................................................................... 25

56、int 和 Integer 有什么区别? ............................................................................ 25

57、运行时异常与一般异常有何异同? ................................................................... 25

58、&和&&的区别? .............................................................................................. 25

59、final, finally, finalize的区别? ........................................................................... 25

62、heap和stack有什么区别?............................................................................... 26

63、Static Nested Class 和 Inner Class的不同? ....................................................... 26

64、什么时候用assert? .......................................................................................... 26

65、GC是什么? 为什么要有GC? ........................................................................... 26

66、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? ....................... 26

67、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ..................................... 26

68、Java有没有goto? ............................................................................................. 27

69、给我一个你最常见到的runtime exception .......................................................... 27

70、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实

体类(concrete class)? ................................................................................................ 27

71、abstract的method是否可同时是static,是否可同时是native,是否可同时是

synchronized? .......................................................................................................... 27

72、数组有没有length()这个方法? String有没有length()这个方法? ........................ 28

73、构造器Constructor是否可被override?............................................................... 28

74、是否可以继承String类? ................................................................................... 28

75、swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上? . 28

76、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被

执行,什么时候被执行,在return前还是后? ........................................................... 28

77、编程题: 用最有效率的方法算出2乘以8等於几? ............................................. 28

78、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?

............................................................................................................................... 28

79、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可

返回变化后的结果,那么这里到底是值传递还是引用传递?...................................... 29

80、四种会话跟踪技术............................................................................................ 29

81、编程题: 写一个Singleton出来。 ...................................................................... 29

83、Java中的异常处理机制的简单原理和应用。 ..................................................... 30

84、垃圾回收的优点和原理。并考虑2种回收机制。 .............................................. 30

85、描述一下JVM加载class文件的原理机制? ....................................................... 30

86、char型变量中能不能存贮一个中文汉字?为什么?............................................... 30

88、写一个程序,从文件(c:\test.txt)中查出字符串”mobnet”出现的次数?......... 30

java基础类库(io流,集合类,线程,Socket,AWT,Swing,sql) ..................................... 30

1、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出

他们分别是哪些类? ............................................................................................... 30

2、启动一个线程是用run()还是start()?.................................................................... 31

3、线程的基本概念、线程的基本状态以及状态之间的关系 ..................................... 31

4、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 用什么关键字修

饰同步方法? stop()和suspend()方法为何不推荐使用?.............................................. 31

用synchoronized修饰同步方法。 ................................................................................. 31

5、集合框架有什么? ............................................................................................... 31

12、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写

出程序 .................................................................................................................... 32

13、同步和异步有和异同,在什么情况下分别使用他们?举例说明。...................... 33

14、sleep() 和 wait() 有什么区别? .......................................................................... 33

15、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对

象的其它方法? ........................................................................................................ 33

17、输入输出流的理解:........................................................................................... 34

18、请写一个程序的读写,要求用两种方式一种是低层流另一种是高层流。 ........... 34

19、如何列出某个目录下的所有文件....................................................................... 35

Socket ........................................................................................................................... 37

20、用socket通讯写出客户端和服务器端的通讯,要求客户发送数据后能够回显相同

的数据?................................................................................................................. 37

23、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)? ................ 38

24、请说出你所知道的线程同步的方法 ................................................................... 38

jdbc数据访问技术.......................................................................................................... 39

1、JDBC如何做事务处理? .................................................................................... 39

2、写出几个在Jdbc中常用的接口........................................................................... 39

3、简述你对Statement,PreparedStatement,CallableStatement的理解 ........................... 39

4、Java中访问数据库的步骤? ............................................................................... 39

5、JDBC中的核心类及其作用是什么? .................................................................... 40

6、执行存储过程用那一个类,如何操作输出参数?(操作) ....................................... 40

8、可能会让你写一段Jdbc连Oracle的程序. ........................................................... 40

9、Class.forName的作用?为什么要用? .................................................................... 40

10、Jdo是什么? ...................................................................................................... 40

11、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法

............................................................................................................................... 41

Web编程Jsp&Servlet技术 ............................................................................................. 42

1、简单说说tomcat的配置? .................................................................................. 42

2、JSP中动态INCLUDE与静态INCLUDE的区别? .............................................. 42

3、forward和redirect的区别? ............................................................................... 42

4、Servlet的体系结构是什么? ................................................................................. 42

Servlet ......................................................................................................................... 42

5、如何实现一个自定义的servlet?........................................................................... 42

6、Servlet的生命周期是什么? ................................................................................. 43

7、jsp就是一个servlet是否正确? ............................................................................ 43

8、请罗列jsp中的脚本、指令及动作? .................................................................... 43

9、JSP的内置对象及方法 ....................................................................................... 43

10、说出在JSP页面里是怎么分页的? ..................................................................... 44

11、include的两种实现方式的区别? ........................................................................ 46

12、jsp页面中两种跳转方式分别是什么?有什么区别? ............................................. 46

13、描述JSP和Servlet的区别、共同点、各自应用的范围 ...................................... 46

14、在JSP中如何读取客户端的请求,如何确定某个Jsp文件的真实路径? ............ 47

15、描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理。 ... 47

16、说明Jsp中errorPage的作用,应用范围。 ........................................................ 47

17、介绍在Jsp中如何使用JavaBeans...................................................................... 47

19、简单介绍JSP的标记库..................................................................................... 47

20、Servlet中的核心类有那些,各有什么特点?....................................................... 48

21、Servlet中重要的包有那些,有什么区别? .......................................................... 48

22、说出Servlet的生命周期,并说出Servlet和CGI的区别? ................................ 48

23、什么情况下调用doGet()和doPost()?................................................................ 48

25、如何现实servlet的单线程模式.......................................................................... 48

27、Request对象的主要方法: ............................................................................... 49

28、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何

输出一个某种编码的字符串? ................................................................................. 49

30、Servlet执行时一般实现哪几个方法? ............................................................... 50

5 Hibernate持久层技术 ................................................................................................... 50

1、在myeclipse加入hibernate环境的全过程是什么? ............................................... 50

2、hibernate的核心配置文件是什么及其作用? ......................................................... 50

3、hibernate的核心类是什么,它们的相互关系是什么?重要的方法是什么? ............. 50

4、关联: ................................................................................................................. 51

5、hibernate中的one-to-many或many-to-one中常用的方式是什么?......................... 51

6、Criteria 的作用? ................................................................................................. 51

7、DetachedCriteria的作用?................................................................................... 51

8、Query................................................................................................................. 52

9、继承关系的实现 ................................................................................................. 52

10、tomcat连接池:在容器中预先产生了n个连接实例,客户端不用重新实例化,可以

直接取。................................................................................................................. 53

11、对象的三大状态 ............................................................................................... 55

12、hibernate常见优化策略 .................................................................................. 55

6. iBatis持久层技术 .................................................................................................... 55

java程序员,java程序员面试题 第三篇_java程序员经典笔试题

String、StringBuffer、StringBuilder区别?

String是字符串常量,Stirng对象重新赋值,其实是两个对象

StringBuffer、StringBuilder是字符串变量,StringBuffer是线程安全的,StringBuilder是非线程安全的

执行速度:StringBuilder > StirngBuffer > String

float f = 3.4; 是否正确?

不正确,类型不匹配,3.4是double类型,应写成float f = 3.4f; 或者float f = (float)3.4;

short s1 = 1; s1 = s1 + 1; 有什么错?

short s1 = 1; s1 += 1; 有什么错?

前者s1+1为int类型,需要强制类型转换

后者无错,可正确编译

内部类?

package test;

public class OuterClass

{

private class InnerClass()

{

System.out.println(“InnerClass create”);

}

public OuterClass()

{

InnerClass ic = new InnerClass();

System.out.println(“OuterClass create”);

}

public static void main(String []args)

{

OuterClass oc = new OuterClass();

}

}

&和&&的区别?

&是位运算符,按位与

&&是逻辑运算符,表示逻辑与 and

String有length属性?数组有length属性?

数组有length属性,String有length()方法

String s = new String(“xyz”); 创建了几个String Object 对象?

两个,一个字符串对象,一个字符串对象的引用对象

String是否可以被继承?

String是final类,不可以被继承

Math.round(11.5) = ?

Math.round(-11.5) = ?

12 -11 Math.round()返回与参数最接近的整数,参数加1/2后求其floor

char型变量中能不能存储一个汉字?

可以,char在java中占2个字节,java采用unicode编码,一个中文占16位

switch(表达式)表达式的类型可以是哪些?

1.6及以前:byte short char int

1.7增加支持String类型

如果try中有return语句,那么finally中的语句会执行吗?什么时候执行?

会执行,在return语句执行之前执行

Collection和Collections的区别 ?

java.util.Collection是一个集合接口(集合类的一个顶级接口),它提供了对集合对象进行基本操作的通用接口方法,其直接继承接口有Set和List

java.util.Collections是一个包装类(工具类/帮助类),它提供各种有关集合操作的静态多态方法,不能实例化,用于排序、搜索、线程安全。

HashMap与HashTable的区别?

1. HashTable基于陈旧的Dictionary类,HashMap是接口Map的一个实现

2. HashMap是非线程安全的,HashTable是线程安全的

3. 只有HashMap允许将空值作为一个表的条目的key或value

ArrayList和Vector的区别?

1.Vector是线程安全的,即它的方法之间是线程同步的,而ArrayList是非线程安全的,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好

2.当Vector或ArrayList中的元素超过它的初始大小时,Vector会将它的容量翻倍,而ArrayList只增加50%的大小,这样,ArrayList就有利于节约内存空间。

抽象类和接口的区别?

接口中的方法全部而为抽象方法,由实现它的类全部重写,多实现

抽象类中含有抽象方法,由继承它的类重写(不一定要全部重写),单继承

接口可以继承接口

创建子类实例时,父子构造方法如何调用?

子类继承父类,创建子类实例时,会先调用父类的构造方法,再调用子类的构造方法

overload(重载)和override(重写)的区别?

overriding(重写)是父类和子类之间多态性的一种表现

overloading是一个类中多态性的一种表现

构造器Constructor是否可以被override?

构造器Constructor不能被继承,因此不能被重写,但可以被重载

多线程有几种实现方法?同步有几种实现方法?

多线程:一个程序中有多条不同的执行路径,是一种提升效率的技术。

多线程实现方法,继承Thread类

实现Runnable接口

同步实现方法:synchronized

notify、wait

java中关键词volatile的作用?

用在多线程,同步变量

一个变量声明为volatile就意味着这个变量是随时会被其他线程修改的,volatile不能保证操作的原子性,因此不能代替synchronized

abstract可与static同时修饰方法吗?abstract与native呢?abstract与synchronized呢? 都不能

static表明方法在不生成类实例时可调用,而abstract方法不能被类调用,两者矛盾 native表明方法的实现又非java语言实现,有实现体,而abstract修饰的方法无实现体 synchronized用于防止多线程同时调用该方法,显然可调用,而abstract修饰的方法不能被调用

对象克隆?

浅度克隆:实现java.lang.Cloneable接口、重载java.lang.Object.clone()方法

深度克隆:要克隆的类和类中所有非基本数据类型的属性对应的类应

1. 都实现Cloneable接口

2. 都重载clone()方法

java的垃圾回收机制?

在空闲时间以不定时的方法动态回收无任何引用的对象占据的内存空间。

java会内存泄漏吗?

会,当一个对象在逻辑上已经没有用了,但是在语法上还被某个变量所引用,那么GC是不会回收它的,这就导致了内存泄漏问题。

JVM类加载机制?

把描述类的数据从class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型

类生命周期:

堆、栈、静态存储区、字符串常量区使用?

静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序整个运行期间都存在,存放静态数据、全局数据和常量。

栈:存放局部变量、基本数据类型变量和对象的引用变量。

堆:动态内存分配。存放对象和数组。

字符串常量区:存放字符串。

本文来源:http://www.gbppp.com/jd/467307/

推荐访问:java程序员面试题 java中级程序员面试题

热门文章