文档库 最新最全的文档下载
当前位置:文档库 › 1JAVA面试题汇总

1JAVA面试题汇总

1JAVA面试题汇总
1JAVA面试题汇总

目录

概念题 ---------------------------------------------------------------------------------------------------------- 1

一、JAVA基础 -------------------------------------------------------------------------------------------------------- 1

1)面向对象的特征 ------------------------------------------------------------------------------------------------------------------1

2)什么是OOP?什么是类?请对比类和对象实例之间的关系。 --------------------------------------------------1

3)简述类与对象的概念 -----------------------------------------------------------------------------------------------------------2

4)什么是属性与方法? -----------------------------------------------------------------------------------------------------------2

5)什么是封装? ---------------------------------------------------------------------------------------------------------------------2

6)描述一下JVM加载class文件的原理机制 ------------------------------------------------------------------------------2

7)Java程序怎么优化? -----------------------------------------------------------------------------------------------------------2

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

9)char型变量中能不能存贮一个中文汉字 --------------------------------------------------------------------------------3

10)逻辑操作符(&,|,^)与条件操作符(&&,||)的区别------------------------------------------------------------------3

11)Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ----------------------------------------------------3

12)Java有没有goto?-----------------------------------------------------------------------------------------------------------3

13)int 和Integer 的区别 ------------------------------------------------------------------------------------------------------3

14)如何将数值型字符转换为数字?如何去小数四舍五入保留小数点后两位。 ---------------------------3

15)short s1 = 1; s1 = s1 + 1;和short s1 = 1; s1 += 1;有什么错误 -----------------------------------------------------3

16)float f=3.4是否正确? --------------------------------------------------------------------------------------------------------4

17)String 和StringBuffer的区别 ---------------------------------------------------------------------------------------------4

18)String是否是最基本的数据类型,能否被继承 --------------------------------------------------------------------4

19)String s = new String("xyz");创建了几个String Object? ----------------------------------------------------------4

20)数组有没有length()这个方法? String有没有length()这个方法? -------------------------------------------4

21)排序都有哪几种方法?用JAVA实现一个快速排序 --------------------------------------------------------------4

22)swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上-----------------------5

23)在JAVA中,如何跳出当前的多重嵌套循环? ---------------------------------------------------------------------5

24)关于日期和时间的几个问题----------------------------------------------------------------------------------------------5

25)一个对象被当作参数传递到一个方法,是值传递还是引用传递--------------------------------------------5

26)什么时候用assert?---------------------------------------------------------------------------------------------------------5

27)GC是什么? 为什么要有GC? -------------------------------------------------------------------------------------------5

28)垃圾回收的优点和原理 ----------------------------------------------------------------------------------------------------5

29)垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? --------------------6

30)java中会存在内存泄漏吗,请简单描述 -----------------------------------------------------------------------------6

31)java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,他们分别是哪些

类?6

32)文件和目录(I/O)操作 ---------------------------------------------------------------------------------------------------6

33)什么是java序列化?如何实现java序列化?----------------------------------------------------------------------7

34)JAVA事件委托机制的概念 ------------------------------------------------------------------------------------------------7

35)谈谈你对Swing的MVC模式的理解? -------------------------------------------------------------------------------7

36)MVC结构在JTable中怎样实现的,这种结构有什么好处? --------------------------------------------------8

二、类与继承---------------------------------------------------------------------------------------------------------- 9

37)说出一些常用的类,包,接口,请各举5个 ----------------------------------------------------------------------9

38)接口有什么优点? -----------------------------------------------------------------------------------------------------------9

39)静态变量和实例变量的区别----------------------------------------------------------------------------------------------9

40)是否可以从一个static方法内部发出对非static方法的调用? ----------------------------------------------9

41)java 有几种修饰符?分别用来修饰什么? -------------------------------------------------------------------------9

42)作用域public,private,protected,以及不写时的区别 ------------------------------------------------------------- 10

43)final, finally, finalize的区别 ---------------------------------------------------------------------------------------------- 10

44)内部类可以引用他包含类的成员吗?有没有什么限制?---------------------------------------------------- 10

45)匿名内部类是否可以继承其它类?是否可以实现接口?---------------------------------------------------- 10

46)java中实现多态的机制是什么? ------------------------------------------------------------------------------------- 11

47)Overload和Override的区别,Overloaded的方法能否改变返回值的类型? ------------------------- 11

48)abstract class和interface的区别-------------------------------------------------------------------------------------- 11

49)接口是否可继承接口? 抽象类是否可实现接口? 抽象类是否可继承实体类? ------------------------ 11

50)abstract的method是否可同时是static或native或synchronized? ------------------------------------- 11

51)构造器Constructor是否可被override ------------------------------------------------------------------------------ 11

52)写clone()方法时,通常都有一行代码,是什么?-------------------------------------------------------------- 12

53)Object类的概述------------------------------------------------------------------------------------------------------------- 12

三、异常 -------------------------------------------------------------------------------------------------------------- 13

54)Java中的异常处理机制的简单原理和应用。--------------------------------------------------------------------- 13

55)JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try

块中可以抛出异常吗? ------------------------------------------------------------------------------------------------------------- 13

56)error和exception的区别 ------------------------------------------------------------------------------------------------ 13

57)运行时异常与一般异常的区别 ---------------------------------------------------------------------------------------- 14

58)给我一个你最常见到的runtime exception(运行时异常) ------------------------------------------------------ 14

59)try 里有一个return语句,那finally 里的代码会不会被执行?在return前还是后执行? ----- 14

四、集合 -------------------------------------------------------------------------------------------------------------- 15

60)集合类都有哪些 ------------------------------------------------------------------------------------------------------------ 15

61)介绍JAVA中的Collection FrameWork ------------------------------------------------------------------------------- 15

62)ArrayList和Vector的区别 ----------------------------------------------------------------------------------------------- 15

63)HashMap和Hashtable的区别 ----------------------------------------------------------------------------------------- 15

64)Collection 和Collections的区别-------------------------------------------------------------------------------------- 16

65)说出ArrayList,Vector, LinkedList的存储性能和特性 ------------------------------------------------------------- 16

66)heap和stack的区别 ------------------------------------------------------------------------------------------------------ 16

67)List, Set, Map是否继承自Collection接口?----------------------------------------------------------------------- 16

68)List, Set, Map三个接口,存取元素时,各有什么特点?----------------------------------------------------- 16

69)Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有

何区别? --------------------------------------------------------------------------------------------------------------------------------- 17

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

五、多线程 ----------------------------------------------------------------------------------------------------------- 18

71)启动一个线程是用run()还是start()? ------------------------------------------------------------------------------ 18

72)sleep() 和wait() 的区别 ------------------------------------------------------------------------------------------------ 18

73)stop()和suspend()方法为何不推荐使用? ------------------------------------------------------------------------- 18

74)同步和异步有何异同,在什么情况下分别使用他们 ---------------------------------------------------------- 18

75)当一线程进入一对象的一个synchronized方法后,其它线程可否进入此对象的其它方法------ 18

76)线程同步的方法 ------------------------------------------------------------------------------------------------------------ 19

77)多线程有几种实现方法 -------------------------------------------------------------------------------------------------- 19

78)线程的基本概念、线程的基本状态以及状态之间的关系---------------------------------------------------- 19

79)简述synchronized和java.util.concurrent.locks.Lock的异同 -------------------------------------------------- 19

80)多线程的优点---------------------------------------------------------------------------------------------------------------- 19

六、JDBC及数据库相关------------------------------------------------------------------------------------------ 21

81)Class.forName的作用?为什么要用? ---------------------------------------------------------------------------------- 21

82)JDBC调用数据库的基本步骤------------------------------------------------------------------------------------------- 21

83)说出数据连接池的工作机制是什么? ------------------------------------------------------------------------------ 21

84)JDO是什么? ------------------------------------------------------------------------------------------------------------------ 21

85)动态查询如何实现?表的结构变化后,如果不需要修改程序,如何设计和实现查询? -------- 21

86)如何优化数据库,如何提高数据库的性能? -------------------------------------------------------------------- 21

87)设计数据库应注意那些问题-------------------------------------------------------------------------------------------- 22

88)表与表之间的关联关系 -------------------------------------------------------------------------------------------------- 22

89)主键和外键的区别 --------------------------------------------------------------------------------------------------------- 22

90)名词解释:批、触发器、事务、锁、子查询、索引、视图、存储过程-------------------------------- 22

91)游标的作用?如何知道游标已经到了最后? -------------------------------------------------------------------- 23

92)事前触发和事后触发有何区别?语句级触发和行级触发有何区别? ----------------------------------- 23

93)数据库设计的必要性及设计步骤 ------------------------------------------------------------------------------------- 24

94)什么是数据模型?什么是规范化?---------------------------------------------------------------------------------- 24

95)谈谈数据库设计的三范式 ----------------------------------------------------------------------------------------------- 24

七、JSP和Servlet -------------------------------------------------------------------------------------------------- 25

96)forward 和sendRedirect的区别--------------------------------------------------------------------------------------- 25

97)JSP中动态INCLUDE与静态INCLUDE的区别 --------------------------------------------------------------------- 25

98)JSP的内置对象及方法 ---------------------------------------------------------------------------------------------------- 25

99)JSP的常用指令 -------------------------------------------------------------------------------------------------------------- 25 100)说出Servlet的生命周期,并说出Servlet和CGI的区别 ----------------------------------------------------- 26 101)什么情况下调用doGet()和doPost() ---------------------------------------------------------------------------------- 26 102)如何现实servlet的单线程模式---------------------------------------------------------------------------------------- 26 103)描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理 ------------------------- 26 104)页面间对象传递的方法 -------------------------------------------------------------------------------------------------- 27 105)JSP和Servlet有哪些相同点和不同点,他们之间的联系 ---------------------------------------------------- 27 106)四种会话跟踪技术 --------------------------------------------------------------------------------------------------------- 27 107)Request对象的主要方法------------------------------------------------------------------------------------------------- 27 108)Servlet执行时一般实现哪几个方法 --------------------------------------------------------------------------------- 28 109)说出在JSP页面里是怎么分页的? ------------------------------------------------------------------------------------ 28

八、J2EE基础-------------------------------------------------------------------------------------------------------- 29

110)J2EE是什么?---------------------------------------------------------------------------------------------------------------- 29 111)J2EE中常用的名词解释 -------------------------------------------------------------------------------------------------- 29 112)名词解释:WEB SERVICE、JAXP、JAXM、SOAP、UDDI、WSDL -------------------------------------------- 30 113)J2EE是技术还是平台还是框架? ------------------------------------------------------------------------------------- 30 114)XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?----------- 30 115)你在项目中用到了xml技术的哪些方面?如何实现的? ------------------------------------------------------- 31 116)j2ee常用的设计模式?说明工厂模式 ------------------------------------------------------------------------------ 31

九、STRUTS ----------------------------------------------------------------------------------------------------------- 32

117)MVC的各个部分都有那些技术来实现?如何实现? ------------------------------------------------------------- 32 118)概述struts,以及struts如何实现MVC架构的? -------------------------------------------------------------- 32 119)简单描述STRUTS的主要功能------------------------------------------------------------------------------------------ 32 120)Struts的处理流程 ---------------------------------------------------------------------------------------------------------- 32

十、EJB ---------------------------------------------------------------------------------------------------------------- 34

121)EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? ---------------------------------------- 34 122)EJB与JAVA BEAN的区别? --------------------------------------------------------------------------------------------- 34 123)EJB是基于哪些技术实现的?并说出SessionBean和EntityBean,StatefulBean和StatelessBean 的区别 34

124)EJB包括SessionBean和EntityBean,说出他们的生命周期,及如何管理事务的?---------------- 35 125)EJB的角色和三个对象---------------------------------------------------------------------------------------------------- 35 126)EJB容器提供的服务 ------------------------------------------------------------------------------------------------------- 35 127)EJB规范规定EJB中禁止的操作有哪些?-------------------------------------------------------------------------- 35 128)remote接口和home接口主要作用 --------------------------------------------------------------------------------- 36 129)bean 实例的生命周期 ---------------------------------------------------------------------------------------------------- 36 130)EJB的激活机制-------------------------------------------------------------------------------------------------------------- 36 131)EJB的几种类型-------------------------------------------------------------------------------------------------------------- 36 132)客服端调用EJB对象的几个基本步骤 ------------------------------------------------------------------------------- 36 133)EJB需直接实现它的业务接口或Home接口吗,请简述理由----------------------------------------------- 36

十一、应用服务器 ------------------------------------------------------------------------------------------------- 37 134)应用服务器有那些?------------------------------------------------------------------------------------------------------ 37 135)应用服务器与WEB 服务器的区别? ------------------------------------------------------------------------------- 37 136)如何给weblogic指定大小的内存? ----------------------------------------------------------------------------------- 37 137)如何设定的weblogic的热启动模式(开发模式)与产品发布模式? ----------------------------------------- 37 138)如何启动时不需输入用户名与密码? -------------------------------------------------------------------------------- 37 139)在weblogic管理制台中对一个应用域进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? ------------------------------------------------------------------------------------------------------------------------- 37 140)说说weblogic中一个Domain的缺省目录结构------------------------------------------------------------------ 37 141)在weblogic中发布ejb需涉及到哪些配置文件 ----------------------------------------------------------------- 37 142)如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 --------- 38 143)如何查看在weblogic中已经发布的EJB? -------------------------------------------------------------------------- 38 改错题 -------------------------------------------------------------------------------------------------------- 39

1)-------------------------------------------------------------------------------------------------------------------------------------------- 39

2)-------------------------------------------------------------------------------------------------------------------------------------------- 39

3)-------------------------------------------------------------------------------------------------------------------------------------------- 39

4)-------------------------------------------------------------------------------------------------------------------------------------------- 39

5)-------------------------------------------------------------------------------------------------------------------------------------------- 40

6)-------------------------------------------------------------------------------------------------------------------------------------------- 40

7)-------------------------------------------------------------------------------------------------------------------------------------------- 40

8)-------------------------------------------------------------------------------------------------------------------------------------------- 41

9)-------------------------------------------------------------------------------------------------------------------------------------------- 41

10) ------------------------------------------------------------------------------------------------------------------------------------------ 41

11) ------------------------------------------------------------------------------------------------------------------------------------------ 42

●编程题 -------------------------------------------------------------------------------------------------------- 44

1)在控制台中输入一个字符串,然后按照逆序打印出来----------------------------------------------------------- 44

2)设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。 ----- 44

3)将一个键盘输入的数字转化成中文输出(例如:输入1234567,输出:一百二拾三万四千五百六拾七),

请用java语言编一段程序实现! ------------------------------------------------------------------------------------------------- 45

4)写一个Singleton出来 -------------------------------------------------------------------------------------------------------- 49

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

编码的字符串 -------------------------------------------------------------------------------------------------------------------------- 50

6)现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按

什么排序,结果为,提供reset -------------------------------------------------------------------------------------------------- 51

7)继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么? --------------------------------------- 52

8)同上,关于内部类的实现方式 -------------------------------------------------------------------------------------------- 52

9)关于内部类实现的一道选择题 -------------------------------------------------------------------------------------------- 53

10)用JAVA实现一种排序 ---------------------------------------------------------------------------------------------------- 54

11)编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但

是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。-------------------------------------------------------------------------------- 55

12)用JAVA SOCKET编程,读服务器几个字符,再写入本地显示---------------------------------------------- 56

13)写一段Jdbc连Oracle的程序,并实现数据查询. ----------------------------------------------------------------- 58

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

15)用JAVA解析XML的方式. ----------------------------------------------------------------------------------------------- 61

16)用jdom解析xml文件时如何解决中文问题?如何解析? ----------------------------------------------------- 63

●其它 ----------------------------------------------------------------------------------------------------------- 65

1)描述一下你最常用的编程风格。----------------------------------------------------------------------------------------- 65

概念题

一、JAVA基础

1)面向对象的特征

1. 抽象:

抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象包括两个方面,一是过程抽象,二是数据抽象。

2.继承:

继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。

3.封装:

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。

4.多态:

多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。

2)什么是OOP?什么是类?请对比类和对象实例之间的关系。

OOP是Object_oriented Programming(面向对象编程)的缩写。这主要是为了区别于以前的面向过程的程序设计!指的是用对象的观点来组织与构建系统,它综合了功能抽象和数据抽象,这样可以减少数据之间的耦合性和代码的出错几率。使用面向对象编程技术可以使得软件开发者按照现实世界里人们思考问题的模式编写代码,可以让软件开发者更好地利用代码直接表达现实中存在的对象,将问题空间直接映射到解空间!

类:即class 在面向对象的程序设计中,专门用“类”来表示用户定义的抽象数据类型(user_defined abstract type)。它将具有相同状态、操作和访问机制的多个对象进行了抽象。类具有继承、数据隐藏和多态三种主要特性。利用类的这三种特性可以更好地表示现实世界中事物。

类是同一类对象实例的共性的抽象,对象是类的实例化。对象通常作为计算机模拟思维,表示真实世界的抽象,一个对象就像一个软件模块,可以为用户提供一系列的服务---可以改变对象的状态、测试、传递消息等。类定义了对象的实现细节或数据结构。类是静态的,对象是动态的,对象可以看作是运行中的类。类负责产生对象,可以将类当成生产对象的工厂(Object factory)

3)简述类与对象的概念

所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。

类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。

4)什么是属性与方法?

不同对象具有相同特点,就可能抽象为一定的类,那么这些特点基本上可以分为两类,一类是描述对象静态状态的,就是对象的属性,在程序设计中,可以称之为变量;另一类是描述对象的动作,就是对象的方法,在程序设计中我们称之为函数。属性和方法是一个对象所具备的两大基本要素,也是我们后面编程工作的核心。

5)什么是封装?

只要有足够的方法,就没必要直接去操作对象属性,只要调用这些方法就可以实现要完成的任务,这种现象称为封装,它通过对象方法对其属性的操作把对象属性封装在一个对象内部,对象与外界打交道全部通过其自身的方法来实现,有效的把对象属性隐藏在对象内部。

6)描述一下JVM加载class文件的原理机制

JVM中类的装载是由ClassLoader和它的子类来实现的,Java ClassLoader 是一个重要的Java运行时系统组件。它负责在运行时查找和装入类文件的类。

7)Java程序怎么优化?

答:提高JAVA的性能,一般考虑如下的四个主要方面:

1、程序设计的方法和模式

2、AVA布署的环境。

3、JAVA应用程序的实现

4、硬件和操作系统

为了提高JAVA程序的性能,需要遵循如下的六个步骤。a) 明确对性能的具体要求b) 了解当前程序的性能c) 找到程序的性能瓶颈d) 采取适当的措施来提高性能e) 只进行某一方面的修改来提高性能f) 返回到步骤c) 继续作类似的工作,一直达到要求的性能为止。

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

可以。必须只有一个类名与文件名相同。

9)char型变量中能不能存贮一个中文汉字

能够定义成为一个中文的,因为java中以unicode编码,一个char占16个字节,所以放一个中文是没问题的

10)逻辑操作符(&,|,^)与条件操作符(&&,||)的区别

1. 条件操作符:

只能用于关系运算,会产生短路,即该符号左边的表达式可以确定整个关系表达式的值时,便不再运算右边的表达式

2. 逻辑操作符:

不仅可以用于关系运算,还可以用于位运算。不会产生短路,即无论左边表达式取什么值都要运算右边的表达式

11)Math.round(11.5)等於多少? Math.round(-11.5)等於多少?

Math.round(11.5)等于12;Math.round(-11.5)等于-11。

12)Java有没有goto?

Java中的保留字,现在没有在Java中使用。

13)int 和Integer 的区别

Java 提供两种不同的类型:引用类型和原始类型(基本数据类型)。int是java的原始类型,Integer 是java为int提供的封装类。Java为每个原始类型提供了封装类:

Boolean-Boolean char-Character byte-Byte short-Short

int-Integer long-Long float-Float double-Double

引用类型和原始类型具有不同的特征和方法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储等。当引用类型和原始类型用作某个类的实例数据时所指定的缺省值不同:对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

14)如何将数值型字符转换为数字?如何去小数四舍五入保留小数点后两位。

1、Integer.parseInt(“111”);Double.parseDouble(“11.22”);

2、double num = 2.625; double tmp = Math.round(num * 100) / 100d;

15)short s1 = 1; s1 = s1 + 1;和short s1 = 1; s1 += 1;有什么错误

short s1 = 1; s1 = s1 + 1;有错,数据库类型不匹配

short s1 = 1; s1 += 1;没有错误

16)float f=3.4是否正确?

不正确。精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4或者float f = 3.4f;

17)String 和StringBuffer的区别

String类提供了数值不可改变的字符串,而StringBuffer类提供的字符串可以进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffer来动态构造字符数据。

18)String是否是最基本的数据类型,能否被继承

不是。基本数据类型包括byte、short、int、long、char、float、double和boolean。String类是final类型的,因此不可以继承这个类、不能修改这个类。

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

创建了两个String Object对象

"xyz"本身作为字符常量,在汇编语言中应该作为常量放在数据段,Java有一个类似数据段的constant pool保存这个常量,在classloader加载这个类的时候就把"xyz"和这个类的其他一些信息放在constant pool。new String("xyz")根据常量"xyz"在heap上创建String对象。所以,一共两个对象

20)数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有length()这个方法。

21)排序都有哪几种方法?用JAVA实现一个快速排序

排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)

快速排序的伪代码。

/ /使用快速排序方法对a[ 0 :n- 1 ]排序

从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点

把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点

递归地使用快速排序方法对left 进行排序

递归地使用快速排序方法对right 进行排序

所得结果为l e f t + m i d d l e + r i g h t

22)swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上

switch(expr1)中,expr1是一个整数表达式。因此传递给switch 和case 语句的参数应该是int、short、char 或者byte。Long,string 都不能作用于swtich。

23)在JAVA中,如何跳出当前的多重嵌套循环?

用break; return 方法。

24)关于日期和时间的几个问题

1、如何取得年、月、日,小时、分、秒:

Date dat=new Date();dat.getYear();dat.getMonth();dat.getDay();dat.getHours();...

2、如何取得从1970年到现在的毫秒数:

long now=dat.getTime();

3、如何格式化日期

DateFormate df=DateFormate.getInstance();df.Format(dat);

25)一个对象被当作参数传递到一个方法,是值传递还是引用传递

是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。

26)什么时候用assert?

assertion (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion 检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的。

27)GC是什么? 为什么要有GC?

GC是垃圾收集的意思(Gabage Collection),内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统的不稳定甚至崩溃,Java提供的GC功能可以自动监测对象是否超过作用域从而达到自动回收内存的目的,Java语言没有提供释放已分配内存的显示操作方法。

28)垃圾回收的优点和原理

垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单

独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。

29)垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?

对于GC来说,当程序员创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。可以。程序员可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC 一定会执行。

30)java中会存在内存泄漏吗,请简单描述

会。如:int i,i2; return (i-i2); //when i为足够大的正数,i2为足够大的负数。结果会造成溢位,导致错误。

Java的一个重要优点就是通过垃圾收集器(Garbage Collection,GC)自动管理内存的回收,程序员不需要通过调用函数来释放内存。因此,很多程序员认为Java不存在内存泄漏问题,或者认为即使有内存泄漏也不是程序的责任,而是GC或JVM的问题。其实,这种想法是不正确的,因为Java也存在内存泄露,但它的表现与C++不同。

31)java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,他们分别是哪些

类?

字节流,字符流。字节流继承于InputStream、OutputStream,字符流继承于Reader 、Writer。

32)文件和目录(I/O)操作

1、如何列出某个目录下的所有文件,如何列出某个目录下的所有子目录:

public void listFile(String rp) {

File file=new File(rp);

File list[]=file.listFiles();

for(int i=0;i

if (list[i].isDirectory()) {

new ListFiles().listFile(list[i].toString());

}

else {

listFileStr+=list[i].getAbsolutePath()+"\r\n";

System.out.println(list[i].getAbsolutePath());

}

}

2、判断一个文件或目录是否存在:

File file=new File(“c:\aa.txt”);if(file.exists()){System.out.print(“存在”)};

3、如何读写文件

读:BufferdReader br = new BufferdReader(new FileReader(“c:\aa.txt”));br.readLine();

写:BufferdWriter bw = new BufferdWriter (new FileWriter(“c:\aa.txt”));bw.write(“Hello”);

33)什么是java序列化?如何实现java序列化?

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

34)JAVA事件委托机制的概念

java 事件委托机制的概念:一个源产生一个事件并将它送到一个或多个监听器那里。在这种方案中,监听器简单的等待,直到它收到一个事件。一旦事件被接受,监听器将处理这个事件,然后返回。

35)谈谈你对Swing的MVC模式的理解?

Swing号称是完全按照MVC的思路来进行设计的。在设计开始前,Swing的希望能够达到的目标就包括:

模型驱动(Model-Driven)的编程方式。提供一套单一的API,但是能够支持多种视感(look-and-feel),为用户提供不同的界面。严格的说,Swing中的MVC实际上是MVC的一个变体:M-VC。Swing中只显示的定义了Model接口,而在一个UI对象中集成了视图和控制器的部分机制。View和Control比较松散的交叉组合在一起,而更多的控制逻辑是在事件监听者部分引入的。但是,这并没有妨碍在Swing中体现MVC的精髓。事实上,在Swing的开发初期,Swing确实是按照标准的MVC模式来设计的,但是很快的问题就出现了:View和Controller实际上是紧密耦合的,很难作出一个能够适应不同View的一般化的Controller来,而且,一般也没有很大的必要。

36)MVC结构在JTable中怎样实现的,这种结构有什么好处?

在JTable中不存储它的单元数据,它的所有实例把它们的单元值交给实现了TableModel接口的对象来维护和管理,所以在MVC结构中,Jtable的表格主要体现了一个V的作用,其表格将数据变化体现出来,而数据模型则体现了M的作用,封装数据和业务逻辑。

在这种MVC结构中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。

二、类与继承

37)说出一些常用的类,包,接口,请各举5个

常用的类:String,BufferedReader,Integer,ArrayList,Vector

常用的包:https://www.wendangku.net/doc/e216335091.html,ng ,java.awt ,java.io ,java.util ,java.sql

常用的接口:Collection,List,Map,Serializable,Runnable

38)接口有什么优点?

答:接口有以下优点:

1、接口只是一个框架而没有实现,因此在接口定义时不需要考虑接口中的方法如何实现。

2、利用接口可达到实现多继承的目地。

3、可以在不暴露对象的类的前提下,暴露对象的编程接口。

4、不用强迫类关系在无关类中截获相似处(采用适配器就可以了)。

5、声明想执行的一个或多个方法。

39)静态变量和实例变量的区别

静态变量也称作类变量,由static修饰,如:static int ss; ss就是静态变量,它只能通过类来访问。

实例变量没有static修饰符,它只能通过实例对象来访问。

同一类的不同的实例对象有自己的实例变量,但是它们共享同一个静态变量。当一个实例对象修改了它的实例变量时,不会影响其他的实例对象。如果一个实例对象修改了静态变量,则会影响其他的对象实例。

40)是否可以从一个static方法内部发出对非static方法的调用?

不可以,如果其中包含对象的method(),不能保证对象初始化.

41)java 有几种修饰符?分别用来修饰什么?

答:(注:修饰符是影响类、变量及成员方法的生存空间和可访问性的关键字)

修饰符类成员方法成员变量局部变量

abstract √√--

static -√√-

public √√√-

protected -√√-

private -√√-

private -√√-

protected -√√-

synchronized -√--

native -√--

volatile --√-

final √√√-

transient --√√

42)作用域public,private,protected,以及不写时的区别

区别如下:

作用域当前类同包子孙类不同包

public √√√√

protected √√√×

friendly √√××

private √×××

不写时默认为friendly

43)final, finally, finalize的区别

1.final :

用于声明属性,方法和类,分别表示属性不可变(为常量),方法不可覆盖(不可重写),类不可继承。

2.finally:

是异常处理语句结构的一部分,表示总是执行。

3.finalize:

是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

44)内部类可以引用他包含类的成员吗?有没有什么限制?

根据内部类是否为static分为两种讨论:

1.静态内部类可以有静态和非静态的成员,但它们只能访问包含类的静态成员

2.非静态内部类不能有静态成员,它可以访问包含类的任何成员,无论它们有什么访问属性。它还可以访问包含类下任何静态内部类的静态成员

45)匿名内部类是否可以继承其它类?是否可以实现接口?

可以继承其他类,也可以实现接口。

46)java中实现多态的机制是什么?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。

47)Overload和Override的区别,Overloaded的方法能否改变返回值的类型?

方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

48)abstract class和interface的区别

声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。

接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final 成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。

49)接口是否可继承接口? 抽象类是否可实现接口? 抽象类是否可继承实体类?

接口可以继承接口。抽象类可以实现接口,抽象类可继承实体类,但前提是实体类必须有明确的构造函数。

50)abstract的method是否可同时是static或native或synchronized?

都不能

51)构造器Constructor是否可被override

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

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

Clone 有缺省行为,super.clone();他负责产生正确大小的空间,并逐位复制。

53)Object类的概述

Object类是所有其他的类的超类,Object的一个变量可以引用任何其他类的对象。因为数组是作为类实现的,所以Object的一个变量也可以引用任何数组,它包括以下几种方法:

clone() equals() finalize() getClass() in notify() notifyAll() toString() wait()

三、异常

54)Java中的异常处理机制的简单原理和应用。

当JAVA 程序违反了JAVA的语义规则时,JAVA虚拟机就会将发生的错误表示为一个异常。违反语义规则包括2种情况。一种是JAVA类库内置的语义检查。例如数组下标越界,会引发IndexOutOfBoundsException;访问null的对象时会引发NullPointerException。另一种情况就是JAVA允许程序员扩展这种语义检查,程序员可以创建自己的异常,并自由选择在何时用throw 关键字引发异常。所有的异常都是https://www.wendangku.net/doc/e216335091.html,ng.Thowable的子类。

55)JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在

try块中可以抛出异常吗?

Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。

在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。

一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。

用try来指定一块预防所有"异常"的程序。紧跟在try程序后面,应包含一个catch子句来指定你想要捕捉的"异常"的类型。

throw语句用来明确地抛出一个"异常"。

throws用来标明一个成员函数可能抛出的各种"异常"。

finally为确保一段代码不管发生什么"异常"都被执行一段代码。

可以在一个成员函数调用的外面写一个try语句,在这个成员函数内部写另一个try语句保护其他代码。每当遇到一个try语句,"异常"的框架就放到堆栈上面,直到所有的try语句都完成。如果下一级的try语句没有对某种"异常"进行处理,堆栈就会展开,直到遇到有处理这种"异常"的try语句。

56)error和exception的区别

error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。

exception 表示一种设计或实现问题。也就是说,它表示如果程序运行正常,从不会发生的情况。

一般要求程序对其进行捕获及处理。

57)运行时异常与一般异常的区别

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

58)给我一个你最常见到的runtime exception(运行时异常)

ArithmeticException, ArrayStoreException, BufferOverflowException, BufferUnderflowException, CannotRedoException, CannotUndoException, ClassCastException, CMMException, ConcurrentModificationException, DOMException, EmptyStackException, IllegalArgumentException, IllegalMonitorStateException, IllegalPathStateException, IllegalStateException, ImagingOpException, IndexOutOfBoundsException, MissingResourceException, NegativeArraySizeException, NoSuchElementException, NullPointerException, ProfileDataException, ProviderException, RasterFormatException, SecurityException, SystemException, UndeclaredThrowableException, UnmodifiableSetException, UnsupportedOperationException

59)try 里有一个return语句,那finally 里的代码会不会被执行?在return前还是后执行?

会执行,在return前执行。

四、集合

60)集合类都有哪些

最常用的集合类是List 和Map。List 的具体实现包括ArrayList 和Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象的元素列表。List 适用于按数值索引访问元素的情形。

Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作"键"和"值"),其中每个键映射到一个值。

61)介绍JAVA中的Collection FrameWork

答:Collection FrameWork如下:

Collection

├List

│├LinkedList

│├ArrayList

│└Vector

│└Stack

└Set

Map

├Hashtable

├HashMap

└WeakHashMap

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)

Map提供key到value的映射

62)ArrayList和Vector的区别

答:就ArrayList与Vector主要从二方面来说:

1、同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同

步的

2、数据增长:当需要增长时,Vector默认增长为原来一倍,而ArrayList却是原来的一半

63)HashMap和Hashtable的区别

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区

慕课网分享:40个Java集合面试问题和答案

慕课网分享:40个Java集合面试问题和答案 Java集合框架为Java编程语言的基础,也是Java面试中很重要的一个知识点。这里,慕课网列出了一些关于Java集合的重要问题和答案,程序员们,你能回答出几道问题呢? 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Java集合框架的基础接口有哪些?

Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java 平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。 List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List 更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。 一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。 4.为何Collection不从Cloneable和Serializable接口继承? Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。 当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。 在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。 5.为何Map接口不继承Collection接口? 尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。 如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key或value列表集合的方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭代过程中移除元素。 7.Enumeration和Iterator接口的区别? Enumeration的速度是Iterator的两倍,也使用更少的内存。Enumeration是非常基础的,也满足了基础的需要。但是,与Enumeration相比,Iterator更加安全,因为当一个集合正在被遍历的时候,它会阻止其它线程去修改集合。 迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者从集合中移除元素,而Enumeration不能做到。为了使它的功能更加清晰,迭代器方法名已经经过改善。

BI常见面试问题总结

一、 现在是否在项目上? 1、刚出项目,目前在看机会; 2、还在项目上,大概XX时间出项目。 二十二、你最快可以什么时候到位? 1、如果前面回答不在项目上,就可说拿到OFFER后随时都可以; 2、如果前面回答是在项目上,可回答项目结束后马上到位; 3、也可以反问下这个项目最迟要求什么时候进?等他回答后,就说时间OK,没问题。 二十三、你的简历上的项目都是外部的吗? 1、根据自己的简历回答。要注意的是入行的逻辑。这其实是考察你的真实性,最好简 历上有一个符合逻辑的入行轨迹。如:KEY USER—内部顾问—外部顾问。 二十四、你在项目上主要负责哪一块? 1、BW建模、数据抽取、建一般数据源、建信息对象; 2、BO报表、UNI创建; 3、写些技术文档、业务蓝图、测试文档; 4、参与业务需求调研、讨论业务方案、模型设计。 二十五、列举一些你做过的报表。 1、财务:资产负债表、增值税商品明细表。。。 2、业务:销售多维分析表、采购多维分析表、库存及逾期情况表、库龄情况分析表。。。 3、人资:人员异动分析表、入职统计表、离职统计表、离职原因分析统计表。。。 二十六、你最近的一个项目上有几个人? 1、5个人:3个BW,1个BO,1个PM; 2、7个人:3个BW,2个BO,1个ABAP,1个PM。 二十七、你项目上人员是怎样分工的? 1、3个BW按FICO\MM\SD每人负责一个模块,2个BO一个主要做FICO的报表、一个 主要做业务的报表,也就是MM\SD,PM负责沟通、协调; 2、总共60多张报表,我们三个BW顾问平均每人背20张左右,BO他们每人30张左 右,有一些需要开发的ABAP做。 二十八、你英语怎么样? 1、没问题; 2、文档没问题,沟通会差一点。 二十九、你希望入职还是FREE? 1、都可以。优先考虑入职吧。主要看他们优先考虑入职还是FREE。 三十、你目前RATE多少?期望是多少? 1、以2-3年为例:8K,期望10K。其他待遇一般为:一天100补助,一月一到两次FLYBACK.

各大知名公司校园招聘经典常见面试题集锦

各大知名公司校园招聘经典常见面试题集锦 一.自我认识类 1.你的缺点是什么?如果我们淘汰你,你认为原因是什么? (华为公司2011校招面试题,分享人:彭红) 2.你最骄傲的经历是什么?描述一个你与人合作共同完成目标的经历。 (2011宝洁校招面试题,分享人:彭红) 3.请详细描述一下你理想中的未来工作环境及每日工作内容。举例说明一件在 校期间你认为最有成就感和最失败的事。 (三星集团2010校招面试题,分享人:李玉娇) 4.你能不能喝酒? (中国银行总行2009招聘面试题,分享人:何轶男) 5.依靠你的专业素养能给团队带来哪些帮助?用三个词形容你的大学生活。(中 国建设银行苏州分行2010校招面试题,分享人:张栩萌) 6.你的梦想是什么,为此做了哪些努力?(优衣库2010校招面试题,分享人: 张栩萌) 7.你生活中有没有遇到过挫折?是如何面对的? (腾讯2009校招面试题,分享人:刘妍) 8.你心目中的另一半是什么样子? (东莞银行2012面试题,分享人:刁媛、万宝军) 9.请用一句话总结自己二十年的人生感悟。 (飞亚达2012面试题,分享人:吴念菲)

10.你遇到的最大挫折和获得的最大成就是什么? (上海交通大学2012研究生复试题,分享人:游昕琦、李如诗) 11.你最大的缺点是什么? (汇丰银行2012管培生面试,分享人:李立彬、杨玮希) 12.你平时有什么爱好?你一开始是选择银行作为实习单位,后来为什么要来中 国移动呢? (深圳移动2012面试题,分享人:陈奥、江程) 13.举例说明你怎样获得一种技能,并将其转化为实践。 (宝洁2012面试题,分享人:陈思蕾、杨媛颖) 14.你对未来的职业规划是怎么样的? (毕马威2012面试题,分享人:唐寅、雷静晗) 15.说说你所知道的RBS。讲一个你所遇到的困难,如何克服?说说你最大的缺 点。 (苏格兰皇家银行2012全球实习生面试,分享人:杨玮希) 16.你平时爱看什么书报杂志?你除了专业课,最喜欢的课是什么? (淡马锡投资2012中国管培生面试题,分享人:杨玮希) 17.你希望与什么样的上级共事? (中国农业银行宜昌分行2012面试题,分享人:向思凤、赵长龙) 18.你认为将来会是什么原因让你离职? (建行四川省分行2012面试题,分享人:李冀明、李阳) 19.请简要谈谈你的兴趣爱好。 (建行江苏分行2012面试题,分享人:王秋蕾、张静秋)

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错 答:short s1 = 1; s1 = s1 + 1; (s1+1运算结果是int型,需要强制转换类型)short s1 = 1; s1 += 1;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

hr常见面试问题总结

软件测试常见面试问题(偏HR方向) 1、自我介绍及工作经验介绍? 2、为什么要来学习或做测试工作?为什么要离职? 3、你爱好是什么特长是什么?优点缺点是什么? 4、假如你面试上了有两个人,另外一个人是组长,你会怎么做?假如你的组长在某些方面不如你,你会怎么做? 5、你三到五年的职业发展方向或职业规划是什么? 6、假如你来公司工作,你认为你能为公司作出什么贡献? 7、你希望的薪资待遇是? 8、你对公司加班的问题怎么看?周六日也加班呢? 9、你大学生活是什么?你大学课程是什么?什么给你留下的印象最深? 10、工作中出现不同意见了,如何与开发人员进行沟通?你认为如何才能与客户进行良好的沟通? 11、测试与开发沟通如何提高效率和改善沟通效果?测试工程师的素质和技能? 12、软件测试是一个什么样的行业?你希望以后的软件测试是怎么样的一个行业? 13、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈 14、通常你对于别人批评你会有什么样的反应? 15、你的好友是如何评价你的?你的项目组长是如何评价你的? 16、谈谈自己对软件测试的理解,包括测试的流程和应注意的地方是什么。 17、为什么要在一个团队中开展软件测试工作? 18、你找工作时,最重要的考虑因素为何? 19、你对我们公司了解有多少? 20、居住在哪里?离公司远不远? 21、在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 22、测一个三角形是普通三角形、等腰三角形、等边三角形的流程图,测试用例。 23、你觉得什么样的人最难相处? 24、你觉得你来应聘有哪些优势?

经典--500强企业面试题-附答案

【经典·面试】世界500强经典面试题,附答案 1、有十筐苹果,每筐里有十个,共100个,每筐里苹果的重量都是一样,其中有九筐每个苹果的重量都是1斤,另一筐中每个苹果的重量都是0.9斤,但是外表完全一样,用眼看或用手摸无法分辨。现在要你用一台普通的大秤一次把这筐重量轻的找出来。 答案:从第一筐中拿出一个,第二筐中拿出两个,第十筐拿出十个,一起放在称上称。如果每个苹果一斤重,就应该是55斤。假设称出是54.9斤,则说明,从第一筐中拿出那个苹果是九两的,也就是说第一筐的苹果是九两重的。如果称出是54.8斤,也就是说差2两,而又只有一筐苹果中的每个都是九两重的,所以一定是第二筐中拿出两个是9两重,也就是说第二筐的苹果是九两重的。按这样推理下去,应该明白吧!! 2、我有一堆绳子,这些绳子之间粗细长短各不相同,每一条绳子本身各处的粗细长短也各不相同。但是每条绳子的燃烧时间都是60秒,试问我要测量15秒的时间,我该如何做? 1. 同时点燃任意两根绳子,第一根绳子点两头,第二根绳子点一头; 2. 等第一根绳子烧完后,点燃第二根绳子的另一头,让两头同时燃烧,并开始计时; 3. 在第二根绳子烧尽时停止计时,即可得15秒的时间。 因为题目中给出一个条件:一堆绳子,长短粗细各不相同,也不均匀。 也就是说每根绳子从头到尾都是不均匀的,并非只是绳子与绳子不同。 那么~~虽然单根绳子总的燃烧时间为60秒,但若取半根则未必是30秒, 四分之一根未必是15秒啊~~~~~~~ 若假定了一个默认的条件:就是单根绳子是均匀的。因此,必然会导致错误的结果。 3、有一堆垃圾,规定要由王三户人家清理。户因外出没能参加,留下9元钱做代劳费。王户上午起早干了5小时,户下午接着干了4小时刚好干完。问王户和户应怎样分配这9元钱? 答案:不能简单地认为王户应得5元,户应得4元。不加分析而想当然办事往往搞错。应该知道,王两户所做的工作中,除帮户外,还有他们自己的任务。很明显,每户的工作量为3小时。王帮干了2小时,帮干了1小时,王帮的工作量是帮的2倍,得到的报酬当然也应该是的2倍。因此,王应得6元,应得3元。 4、一天有个年轻人来到王老板的店里买了一件礼物这件礼物成本是18元,标价是21元。结果是这个年轻人掏出100元要买这件礼物。王老板当时没有零钱,用那100元向街坊换了100元的零钱,找给年轻人79元。但是街坊後来发现那100元是假钞,王老板无奈还了街坊100元。现在问题是:王老板在这次交易中到底损失了多少钱?

JAVA框架面试题汇总

1.SpringMVC Framework的理解: 1、它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件。并且和Spring提供的其他基础结构紧密集成 2、不依赖于Servlet API(目标虽是如此,但是在实现的时候确实是依赖于Servlet的) 3、可以任意使用各种视图技术,而不仅仅局限于JSP 4、支持各种请求资源的映射策略 5、它应是易于扩展的 2.简单的谈一下SpringMVC的工作流程? 流程? 1、用户发送请求至前端控制器DispatcherServlet? 2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。? 3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。? 4、DispatcherServlet调用HandlerAdapter处理器适配器? 5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。? 6、Controller执行完成返回ModelAndView? 7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet? 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器? 9、ViewReslover解析后返回具体View? 10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。? 11、DispatcherServlet响应用户 3.如何解决POST请求中文乱码问题,GET的又如何处理呢? 在web.xml中加入: . .CharacterEncodingFilter . .???? .????????encoding .?????? utf-8

集合面试题

###1.请讲下Java里面的容器 分两大类,Map和Collection。而Collection又有子接口List (数据存储顺序和插入顺序是一样的)、Set(里面的元素具有唯一性) Map是存储键值对的,里面的健不可以重复,但值可以重复 List主要有ArrayList和LinkedList两种实现。实现的数据结构不同, 所以主要的区别也都是和数据结构相关的。ArrayList基于数组,随机访问快, 而对于中间元素的插入删除效率比较低,而且需要考虑扩容问题。 LinkedList,则基于链表,和ArrayList提到的正相反,随机访问慢, 但对于中间元素的插入和删除更有效率。 Set也是一种Collection,和List比起来主要体现在元素唯一性。 ###2.请说下Iterator的作用 迭代器可以实现Collection接口的方法,可以一个一个地获取集合中的元素特性:在遍历集合时可判断是否有下一个元素 ###3.说下ArrayList和LinkedList的区别和联系,并说明什么情况下用它们 区别:ArrayList用于对象的随机访问速度快,没有顺序 LinkedList实现机制是链表式的,和顺序有关,速度比ArrayList慢 --->联系:ArrayList和LinkedList都是List接口的实现类 当要快速获取一个值时,用ArrayList,用于顺序插入操作时,用LinkedList. ###4.说下List,Set,Map三种集合各有什么特征 List集合中的元素可以重复, Set集合中的元素不可以重复 Map集合用键-值映射存放对象,Map容器中的键对象不能重复,值对象可以重复 ###5.HashSet和TreeSet有什么区别,什么时候用它们 区别:HashSet中的元素不能重复,没有顺序 TreeSet中的元素不能重复,但有顺序 当集合中的元素需要排序时,用TreeSet 一般情况下用HashSet,因为不需要排序,速度比TreeSet快 ###6.什么是泛型,怎么使用的,有什么好处? 答案 泛型又分为:方法泛型和类泛型。 定义一个集合时,可以知道里面定义的是什么类型 使用:在集合类型后面加< 数据类型> 使用泛型后,从集合中取得元素后就不用再用强转

医院招聘面试真题:卫生类典型面试题汇总及解析(1)

中公卫生人才网https://www.wendangku.net/doc/e216335091.html,/医院招聘面试真题:卫生类典型面试题汇总及解析(1) 【经典话题一】 一个医生给国王看病,看病的时候,国王问医生:“你给我看病,和给别人看病,有什么不一样吗?”医生说:“在我眼里,只有病人,没有国王”请你对这个故事谈一谈自己的看法。 【答案参考】 这个故事体现的核心思想是一个人要具有基本的职业素养和操守。点出寓意。病人代表被服务对象,国王代表权势,故事寓意即为在服务上,服务者对服务对象应一视同仁,没有特权的存在。 在医生眼里,国王和普通人都是患者,不会区别对待。这个医生遵守医疗行业最基本的职业操守和道德。在现实社会中,病人代表被服务的对象,国王代表权势,故事寓意即服务者对服务对象应一视同仁,没有特权的存在。 如果说职业规定着人们的社会角色,职业道德则是这种角色必须遵循的最基本的道德底线。每一个人在从事某项工作的时候,都必须信奉和遵守职业道德,这是人们的天职,也是社会秩序的需要。 从服务对象角度来讲,应恪守职业纪律,不能以权谋私。我们每个人都要立足于自己的角色,遵守自己的职业操守,切实做好自己该做的事情。 【经典话题二】 手术后护士发现,只剩下六块纱布,而她记得明明是七块,医生却说我是主任还是你是主任,谈谈你的看法? 【答案参考】 首先应该肯定护士这种认真负责的态度是正确的,如果一块纱布真的被遗忘在病人体内,后果将是不堪设想的。而对病人负责的态度就是医生应该具备的基本医德。对于医生来

中公卫生人才网https://www.wendangku.net/doc/e216335091.html,/说在自己没有十分把握的情况下要验证护士所说的话的正确性,本着为病人着想的态度。医生和护士的关系就相当于领导和下属的关系,由此引申出作为领导,对下属提出的建议要认真分析,正确的建议要予以采纳,而作为下属对于领导的不同意见要冷静对待,正确分析。非原则性问题上服从领导,重大原则性问题要向上级反映。如果自己正确的意见未得到采纳,也不因此消极工作。 【经典话题三】 对于终生学习,你怎么理解? 【答案参考】 首先,终生学习可以温故而知新。通过理论学习,可以很好地与临床病症相结合,有利于全面分析病情,有效防止漏诊误诊。 其次,终生学习可以更新知识。现代医学知识日新月异,不断有新的技术和新的研究出现,终生学习可以使自身不断发展,站在科学的前沿,更好地为病人服务。 另外,我们常说“活到老学到老”。终身学习是一种积极的生活态度。学习使人不断成长,如果终身学习,我们就会时刻完善自己。 查看更多医院招聘面试备考指导,尽在医疗人才网

各大知名公司校园招聘经典常见面试题集锦教学教材

各大知名公司校园招聘经典常见面试题集锦一.自我认识类 1. 你的缺点是什么?如果我们淘汰你,你认为原因是什么? (华为公司2011校招面试题,分享人:彭红) 2. 你最骄傲的经历是什么?描述一个你与人合作共同完成目标的经历。 (2011宝洁校招面试题,分享人:彭红) 3. 请详细描述一下你理想中的未来工作环境及每日工作内容。举例说明一件在 校期间你认为最有成就感和最失败的事。 (三星集团2010校招面试题,分享人:李玉娇) 4. 你能不能喝酒? (中国银行总行2009招聘面试题,分享人:何轶男)5. 依靠你的专业素养能给团队带来哪些帮助?用三个词形容你的大学生活。(中

国建设银行苏州分行2010校招面试题,分享人:张栩萌) 6. 你的梦想是什么,为此做了哪些努力?(优衣库2010校招面试题,分享人: 张栩萌) 7. 你生活中有没有遇到过挫折?是如何面对的? (腾讯2009校招面试题,分享人:刘妍) 8. 你心目中的另一半是什么样子? (东莞银行2012面试题,分享人:刁媛、万宝军)9. 请用一句话总结自己二十年的人生感悟。 (飞亚达2012面试题,分享人:吴念菲) 10.你遇到的最大挫折和获得的最大成就是什么? (上海交通大学2012研究生复试题,分享人:游昕琦、李如诗) 11.你最大的缺点是什么? (汇丰银行2012管培生面试,分享人:李立彬、杨玮希)

12.你平时有什么爱好?你一开始是选择银行作为实习单位,后来为什么要来中 国移动呢? (深圳移动2012面试题,分享人:陈奥、江程) 13.举例说明你怎样获得一种技能,并将其转化为实践。 (宝洁2012面试题,分享人:陈思蕾、杨媛颖)14.你对未来的职业规划是怎么样的? (毕马威2012面试题,分享人:唐寅、雷静晗)15.说说你所知道的RBS。讲一个你所遇到的困难,如何克服?说说你最大的缺 点。 (苏格兰皇家银行2012全球实习生面试,分享人:杨玮希) 16.你平时爱看什么书报杂志?你除了专业课,最喜欢的课是什么? (淡马锡投资2012中国管培生面试题,分享人:杨玮希)

2019最新Java面试题,常见面试题及答案汇总

ava最新常见面试题+ 答案汇总 1、面试题模块汇总 面试题包括以下十九个模块:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql、Redis、JVM 。如下图所示: 可能对于初学者不需要后面的框架和JVM 模块的知识,读者朋友们可根据自己的情况,选择对应的模块进行阅读。 适宜阅读人群 需要面试的初/中/高级java 程序员 想要查漏补缺的人 想要不断完善和扩充自己java 技术栈的人 java 面试官 具体面试题 下面一起来看208 道面试题,具体的内容。 一、Java 基础 1.JDK 和JRE 有什么区别? 2.== 和equals 的区别是什么? 3.两个对象的hashCode()相同,则equals()也一定为true,对吗? 4.final 在java 中有什么作用? 5.java 中的Math.round(-1.5) 等于多少? 6.String 属于基础的数据类型吗? 7.java 中操作字符串都有哪些类?它们之间有什么区别? 8.String str="i"与String str=new String(“i”)一样吗? 9.如何将字符串反转? 10.String 类的常用方法都有那些? 11.抽象类必须要有抽象方法吗? 12.普通类和抽象类有哪些区别? 13.抽象类能使用final 修饰吗?

14.接口和抽象类有什么区别? 15.java 中IO 流分为几种? 16.BIO、NIO、AIO 有什么区别? 17.Files的常用方法都有哪些? 二、容器 18.java 容器都有哪些? 19.Collection 和Collections 有什么区别? 20.List、Set、Map 之间的区别是什么? 21.HashMap 和Hashtable 有什么区别? 22.如何决定使用HashMap 还是TreeMap? 23.说一下HashMap 的实现原理? 24.说一下HashSet 的实现原理? 25.ArrayList 和LinkedList 的区别是什么? 26.如何实现数组和List 之间的转换? 27.ArrayList 和Vector 的区别是什么? 28.Array 和ArrayList 有何区别? 29.在Queue 中poll()和remove()有什么区别? 30.哪些集合类是线程安全的? 31.迭代器Iterator 是什么? 32.Iterator 怎么使用?有什么特点? 33.Iterator 和ListIterator 有什么区别? 34.怎么确保一个集合不能被修改?

百一测评——Java经典面试题 带答案

职业技能题库&在线云笔试平台https://www.wendangku.net/doc/e216335091.html, 试卷名称:Java经典面试题带答案 试卷描述:java笔试题目、招聘笔试、微信考试、在线考试 试卷链接:https://www.wendangku.net/doc/e216335091.html,/store/open/paperInfo/41651 试卷限时:50分 一.单项选择题 每题分值:2.5分 是否题目乱序:是 是否选项乱序:是 是否可回溯:是 难度:中 1.[单选]Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.[单选]下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确

职业技能题库&在线云笔试平台https://www.wendangku.net/doc/e216335091.html, 答案:B 3.[单选]下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名 C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.[单选]提供Java存取数据库能力的包是() A.java.sql B.java.awt C.https://www.wendangku.net/doc/e216335091.html,ng D.java.swing 答案:A 5.[单选]下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.[单选]执行如下程序代码 a=0;c=0;

职业技能题库&在线云笔试平台https://www.wendangku.net/doc/e216335091.html, do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环 答案:C 7.[单选]下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.[单选]下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象

Java程序员集合框架面试题-java集合框架面试题

Java程序员集合框架面试题:java集合框 架面试题 Java集合框架是最常被问到的Java面试问题,要理解Java技术强大特性,就有必要掌握集合框架。下面就由小编为大家介绍一下Java程序员集合框架面试题的文章,欢迎阅读。 Java程序员集合框架面试题篇1 1、什么是Java集合API Java集合框架API是用来表示和操作集合的统一框架,它包含接口、实现类、以及帮助程序员完成一些编程的算法。简言之,API 在上层完成以下几件事: ●编程更加省力,提高城程序速度和代码质量 ●非关联的API提高互操作性 ●节省学习使用新API成本 ●节省设计新API的时间 ●鼓励、促进软件重用 具体来说,有6个集合接口,最基本的是Collection接口,由三个接口Set、List、SortedSet继承,另外两个接口是Map、SortedMap,这两个接口不继承Collection,表示映射而不是真正的集合。 2、什么是Iterator 一些集合类提供了内容遍历的功能,通过java.util.Iterator 接口。这些接口允许遍历对象的集合。依次操作每个元素对象。当使

用Iterators时,在获得Iterator的时候包含一个集合快照。通常在遍历一个Iterator的时候不建议修改集合本省。 3、 Iterator与ListIterator有什么区别? Iterator:只能正向遍历集合,适用于获取移除元素。ListIerator:继承Iterator,可以双向列表的遍历,同样支持元素的修改。 Java程序员集合框架面试题篇2 1、什么是HaspMap和Map? Map是接口,Java 集合框架中一部分,用于存储键值对,HashMap 是用哈希算法实现Map的类。 2、 HashMap与HashTable有什么区别?对比Hashtable VS HashMap 两者都是用keyvalue方式获取数据。Hashtable是原始集合类之一(也称作遗留类)。HashMap作为新集合框架的一部分在Java2的 1.2版本中加入。它们之间有一下区别: ● HashMap和Hashtable大致是等同的,除了非同步和空值(HashMap允许null值作为key和value,而Hashtable不可以)。 ● HashMap没法保证映射的顺序一直不变,但是作为HashMap 的子类LinkedHashMap,如果想要预知的顺序迭代(默认按照插入顺序),你可以很轻易的置换为HashMap,如果使用Hashtable就没那么容易了。 ● HashMap不是同步的,而Hashtable是同步的。

各大公司面试题目

微软十五道面试题 1、有一个整数数组,请求出两两之差绝对值最小的值, 记住,只要得出最小值即可,不需要求出是哪两个数。 2、写一个函数,检查字符是否是整数,如果是,返回其整数值。 (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?) 3、给出一个函数来输出一个字符串的所有排列。 4、请编写实现malloc()内存分配函数功能一样的代码。 给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。 5、怎样编写一个程序,把一个有序整数数组放到二叉树中? 6、怎样从顶部开始逐层打印二叉树结点数据?请编程。 7、怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)? 8、请编写能直接实现int atoi(const char * pstr)函数功能的代码。 9、编程实现两个正整数的除法 编程实现两个正整数的除法,当然不能用除法操作符。 // return x/y. int div(const int x, const int y) { .... } 10、在排序数组中,找出给定数字的出现次数 比如[1, 2, 2, 2, 3] 中2的出现次数是3次。 11、平面上N个点,每两个点都确定一条直线, 求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。 12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。 注意: - 5个数值允许是乱序的。比如:8 7 5 0 6 - 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4 - 0可以多次出现。 - 复杂度如果是O(n2)则不得分。 13、设计一个算法,找出二叉树上任意两个结点的最近共同父结点。 复杂度如果是O(n2)则不得分。 14、一棵排序二叉树,令f=(最大值+最小值)/2, 设计一个算法,找出距离f值最近、大于f值的结点。 复杂度如果是O(n2)则不得分。 15、一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。 设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。 复杂度最好是O(n),如果是O(n2)则不得分。 谷歌八道面试题 16、正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12 (1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项 (2)、设计测试数据来验证函数程序在各种输入下的正确性。 17、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法c语言函数原型void proc(char *str)也可以采用你自己熟悉的语言 18、如何随机选取1000个关键字 给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.wendangku.net/doc/e216335091.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

集合面试题汇总

集合面试题总结 1.Java集合框架是什么?说出一些集合框架的优点? 每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java 并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下: (1)使用核心集合类降低开发成本,而非实现我们自己的集合类。 (2)随着使用经过严格测试的集合框架类,代码质量会得到提高。 (3)通过使用JDK附带的集合类,可以降低代码维护成本。 (4)复用性和可操作性。 2.集合框架中的泛型有什么优点? Java1.5引入了泛型,所有的集合接口和实现都大量地使用它。泛型允许我们为集合提供一个可以容纳的对象类型,因此,如果你添加其它类型的任何元素,它会在编译时报错。这避免了在运行时出现ClassCastException,因为你将会在编译时得到报错信息。泛型也使得代码整洁,我们不需要使用显式转换和instanceOf操作符。它也给运行时带来好处,因为不会产生类型检查的字节码指令。 3.Java集合框架的基础接口有哪些? Collection为集合层级的根接口。一个集合代表一组对象,这些对象即为它的元素。Java平台不提供这个接口任何直接的实现。 Set是一个不能包含重复元素的集合。这个接口对数学集合抽象进行建模,被用来代表集合,就如一副牌。 List是一个有序集合,可以包含重复元素。你可以通过它的索引来访问任何元素。List更像长度动态变换的数组。 Map是一个将key映射到value的对象.一个Map不能包含重复的key:每个key最多只能映射一个value。 一些其它的接口有Queue、Dequeue、SortedSet、SortedMap和ListIterator。 4.为何Collection不从Cloneable和Serializable接口继承? Collection接口指定一组对象,对象即为它的元素。如何维护这些元素由Collection的具体实现决定。例如,一些如List的Collection实现允许重复的元素,而其它的如Set就不允许。很多Collection实现有一个公有的clone方法。然而,把它放到集合的所有实现中也是没有意义的。这是因为Collection是一个抽象表现。重要的是实现。 当与具体实现打交道的时候,克隆或序列化的语义和含义才发挥作用。所以,具体实现应该决定如何对它进行克隆或序列化,或它是否可以被克隆或序列化。 在所有的实现中授权克隆和序列化,最终导致更少的灵活性和更多的限制。特定的实现应该决定它是否可以被克隆和序列化。 5.为何Map接口不继承Collection接口? 尽管Map接口和它的实现也是集合框架的一部分,但Map不是集合,集合也不是Map。因此,Map继承Collection毫无意义,反之亦然。 如果Map继承Collection接口,那么元素去哪儿?Map包含key-value对,它提供抽取key 或value列表集合的方法,但是它不适合“一组对象”规范。 6.Iterator是什么? Iterator接口提供遍历任何Collection的接口。我们可以从一个Collection中使用迭代器方法来获取迭代器实例。迭代器取代了Java集合框架中的Enumeration。迭代器允许调用者在迭

相关文档
相关文档 最新文档