java面试题

目前国内的面试模式来讲,在面试前积极的准备面试,复习整个Java知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。

IBM、SUN等公司的Java面试题集 (一)

标签:笔试题目 时间:2018-04-19
【yjbys.com - 笔试题目】

面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票, 说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很 有可能你就被拒之门外了。  

  当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。  

  好了废话少说,开始正题。  

  第一,谈谈final, finally, finalize的区别。

  最常被问到。  

  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?  

  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。  

  第四,&和&&的区别。

  这个问得很少。  

  第五,HashMap和Hashtable的区别。

  常问。  

  第六,Collection 和 Collections的区别。

  你千万别说一个是单数一个是复数。  

  第七,什么时候用assert。

  API级的技术人员有可能会问这个。  

  第八,GC是什么? 为什么要有GC?

  基础。  

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

  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?  

  第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?

  面试题都是很变态的,要做好受虐的准备。  

  第十二,sleep() 和 wait() 有什么区别?

  搞线程的最爱。  

  第十三,Java有没有goto?

  很十三的问题,如果哪个面试的问到这个问题,我劝你还是别进这家公司。

IBM、SUN等公司Java面试题集

标签:笔试题目 时间:2018-04-09
【yjbys.com - 笔试题目】

面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票, 说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很 有可能你就被拒之门外了。  

  当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。  

  好了废话少说,开始正题。  

  第一,谈谈final, finally, finalize的区别。

  最常被问到。  

  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?  

  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。  

  第四,&和&&的区别。

  这个问得很少。  

  第五,HashMap和Hashtable的区别。

  常问。  

  第六,Collection 和 Collections的区别。

java面试题及答案

标签:面试问题 时间:2018-04-02
【yjbys.com - 面试问题】

  1)抽象类和接口有什么区别?

  1.abstract class 在 Java 语言中表示的是一种继承关系,一个类只能使用一次继承关系。但是,一个类却可以实现多个interface。

  2.在abstract class 中可以有自己的数据成员,也可以有非abstarct的成员方法,而在interface中,只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在 interface中一般不定义数据成员),所有的成员方法都是abstract的。

  3.abstract class和interface所反映出的设计理念不同。其实abstract class表示的是"is-a"关系,interface表示的是"like-a"关系。

  4.实现抽象类和接口的类必须实现其中的所有方法。抽象类中可以有非抽象方法。接口中则不能有实现方法。

  5.接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

  6.抽象类中的变量默认是 friendly 型,其值可以在子类中重新定义,也可以重新赋值。

  7.接口中的方法默认都是 public,abstract 类型的。

  2)能说一下java的反射(reflection)机制吗?

  开放性和原因连接(causally-connected)是反射系统的两大基本要素

java程序员面试题

标签:面试问题 时间:2018-03-14
【yjbys.com - 面试问题】

  下面是java程序员面试题,现在跟大家一起分享一下。

  第一,谈谈final, finally, finalize的区别。
  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
  第四,&和&&的区别。
  第五,HashMap和Hashtable的区别。
  第六,Collection 和 Collections的区别。
  第七,什么时候用assert.
  第八,GC是什么? 为什么要有GC?
  第九,String s = new String("xyz");创建了几个String Object?
  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
  第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
  第十二,sleep() 和 wait() 有什么区别?
  第十三,Java有没有goto?
  第十四,数组有没有length()这个方法? String有没有length()这个方法?
  第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
  第十六,Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
  第十七,给我一个你最常见到的runtime exception.
  第十八,error和exception有什么区别?
  第十九,List, Set, Map是否继承自Collection接口?
  第二十,abstract class和interface有什么区别?
  第二十一,abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
  第二十二,接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?
  第二十三,启动一个线程是用run()还是start()?
  第二十四,构造器Constructor是否可被override?
  第二十五,是否可以继承String类?
  第二十六,当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
  第二十七,try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
  第二十八,编程题: 用最有效率的方法算出2乘以8等於几?
  第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
  第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
  第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?
  第三十二,编程题: 写一个Singleton出来。
  答案 :
  第一,谈谈final, finally, finalize的区别。
  final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为 final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally?再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。
  finalize?方法名。Java 技术允许使用 finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个对象调用的。它是在 Object 类中定义的,因此所有的类都继承了它。子类覆盖 finalize() 方法以整理系统资源或者执行其他清理工作。 finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的。
  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
  匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现。
  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。
  Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。具体可见http: //www.frontfree.net/articles/services/view.asp?id=704&page= 1
  注: 静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象#p#副标题#e#
  第四,&和&&的区别。
  &是位运算符。&&是布尔逻辑运算符。
  第五,HashMap和Hashtable的区别。
  都属于Map接口的类,实现了将惟一键映射到特定的值上。
  HashMap 类没有分类或者排序。它允许一个 null 键和多个 null 值。
  Hashtable 类似于 HashMap,但是不允许 null 键和 null 值。它也比 HashMap 慢,因为它是同步的。
  第六,Collection 和 Collections的区别。
  Collections是个java.util下的类,它包含有各种有关集合操作的静态方法。
  Collection是个java.util下的接口,它是各种集合结构的父接口。
第七,什么时候用assert。
  断言是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true。如果表达式计算为 false,那么系统会报告一个 AssertionError。它用于调试目的:
  assert(a > 0); // throws an AssertionError if a <= 0
  断言可以有两种形式:
  assert Expression1 ;
  assert Expression1 : Expression2 ;
  Expression1 应该总是产生一个布尔值。
  Expression2 可以是得出一个值的任意表达式。这个值用于生成显示更多调试信息的 String 消息。
  断言在默认情况下是禁用的。要在编译时启用断言,需要使用 source 1.4 标记:
  javac -source 1.4 Test.java
  要在运行时启用断言,可使用 -enableassertions 或者 -ea 标记。
  要在运行时选择禁用断言,可使用 -da 或者 -disableassertions 标记。
  要系统类中启用断言,可使用 -esa 或者 -dsa 标记。还可以在包的基础上启用或者禁用断言。
  可以在预计正常情况下不会到达的任何位置上放置断言。断言可以用于验证传递给私有方法的参数。不过,断言不应该用于验证传递给公有方法的参数,因为不管是否启用了断言,公有方法都必须检查其参数。不过,既可以在公有方法中,也可以在非公有方法中利用断言测试后置条件。另外,断言不应该以任何方式改变程序的状态。
  第八,GC是什么? 为什么要有GC? (基础)。
  GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:
  System.gc()
  Runtime.getRuntime().gc()
  第九,String s = new String("xyz");创建了几个String Object?
  两个对象,一个是“xyx”,一个是指向“xyx”的引用对象s。
  第十,Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
  Math.round(11.5)返回(long)12,Math.round(-11.5)返回(long)-11;
  第十一,short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
  short s1 = 1; s1 = s1 + 1;有错,s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1; s1 += 1正确。
  第十二,sleep() 和 wait() 有什么区别? 搞线程的最爱
  sleep()方法是使线程停止一段时间的方法。在sleep 时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非(a)“醒来”的线程具有更高的优先级,(b)正在运行的线程因为其它原因而阻塞。
  wait()是线程交互时,如果线程对一个同步对象x 发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。
  第十三,Java有没有goto?
  Goto?java中的保留字,现在没有在java中使用。
  第十四,数组有没有length()这个方法? String有没有length()这个方法?
  数组没有length()这个方法,有length的属性。
  String有有length()这个方法。
  第十五,Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
  方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

java面试题

标签:面试问题 时间:2018-03-14
【yjbys.com - 面试问题】

下面跟大家分享的是java面试题。

基础知识:

1.C++或Java中的异常处理机制的简单原理和应用。

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

2. Java的接口和C++的虚类的相同和不同处。

由于Java不支持多继承,而有可能某个类或对象要使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高的灵活性,因为接口中没有任何实现代码。当一个类实现了接口以后,该类要实现接口里面所有的方法和属性,并且接口里面的属性在默认状态下面都是public static,所有方法默认情况下是public.一个类可以实现多个接口。

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

Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理。由于有个垃圾回收机制,Java中的对象不再有“作用域”的概念,只有对象的引用才有“作用域”。垃圾回收可以有效的防止内存泄露,有效的使用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。

Java类面试题目

标签:面试问题 时间:2018-03-13
【yjbys.com - 面试问题】

1.xml在项目中的作用

2.s-EJB 与 e-EJB的区别

3.会话面的作用

4.cmp与bmp的优缺点

5.j2me程序的必需的几个部分

6.c/s与b/s的区别

7.构建一个connect pool,然后再调用它,

8.j2ee平台与dotnet平台的区别

9.ejb的life cycle

10.session bean 和 entity bean的区别

11.ejb中的transaction机制

12.synchronized (生产者和消费)

13.String 和 StringBuffer

14.Serializable

15.MVC (Struts的工作流程)

16.什么是MDA

17.tcp与udp的区别

18.链表与散列表和数组的区别

19.堆和栈的区别

20.ejb的分类及区别

21.你对现在软件业以及国内软件业的看法

22.谈谈java多线程

23.谈谈文件加密技术

24.软件开发生命周期

25.路由协议种类及特点

26.java的awt和swing组件的GUI设计的关键

27.对于java流的认识

28.简单描述一下awt与swing区别。

29.简述java编程中事件处理模式。

30.你编写过applet吗?applet的安全权限如何?试列举java application或者applet中与servlet/jsp通信可以采用的方式。

31.简述逻辑操作(如&,|)与条件操作(如&&,||)的区别。

SUN公司Java面试题

标签:面试问题 时间:2018-03-03
【yjbys.com - 面试问题】

  面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票, 说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很 有可能你就被拒之门外了。  

  当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。  

  好了废话少说,开始正题。  

  第一,谈谈final, finally, finalize的区别。

  最常被问到。  

  第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?  

  第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。  

  第四,&和&&的区别。

  这个问得很少。  

  第五,HashMap和Hashtable的区别。

  常问。  

  第六,Collection 和 Collections的区别。

java常见面试题

标签:面试问题 时间:2018-02-28
【yjbys.com - 面试问题】

用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在COLLECTION框架中,实现比较要实现什么样的接口?
答:用插入法进行排序代码如下
package test;
import java.util.*;
class  InsertSort
{
ArrayList al;
public InsertSort(int num,int mod)
{
al = new ArrayList(num);
Random rand = new Random();
System.out.println(”The ArrayList Sort Before:”);
for (int i=0;i<num ;i++ )
{
al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1));
System.out.println(”al["+i+"]=”+al.get(i));
}
}
public void SortIt()
{
Integer tempInt;
int MaxSize=1;
for(int i=1;i<al.size();i++)
{
tempInt = (Integer)al.remove(i);
if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue())
{
al.add(MaxSize,tempInt);
MaxSize++;
System.out.println(al.toString());
} else {
for (int j=0;j<MaxSize ;j++ )
{
if

Java程序员面试题详解

标签:面试问题 时间:2018-02-28
【yjbys.com - 面试问题】

 

  找工作要面试,有面试就有对付面试的办法。以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel,Motorola, SUN,以及其它大小公司。

  面试是没什么道理可讲的,它的题目有的不合情理、脱离实际。有在纸上写的,有当面考你的,也有在电话里问的,给你IDE的估计很少(否则你赶快去买彩票,说不定中)。所以如果你看完此文后,请不要抱怨说这些问题都能用IDE来解决。你必须在任何情况下准确回答这些问题,在面试中如果出现一两题回答不准确很有可能你就被拒之门外了。

  当然这些都是Java的基本题,那些面试的人大多数不会问你Hibernate有多先进,Eclipse的三个组成部分,或command design pattern,他们都是老一辈了,最喜欢问的就是基础知识。别小看了这些基础,我朋友水平一流,结果就栽在一到基础知识的问题下,和高薪无缘。

  好了废话少说,开始正题。

  第一,谈谈final, finally, finalize的区别

  最常被问到。

  第二,Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?

  第三,Static Nested Class和Inner Class的不同,说得越多越好(面试题有的很笼统)。

如何进行Java面试题

标签:如何面试 时间:2018-01-22
【yjbys.com - 如何面试】

  1、面向对象的特征有哪些方面?

  答:面向对象的特征主要有以下几个方面:

  1)抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。抽象只关注对象有哪些属性和行为,并不关注这些行为的细节是什么。

  2)继承:继承是从已有类得到继承信息创建新类的过程。提供继承信息的类被称为父类(超类、基类);得到继承信息的类被称为子类(派生类)。继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段(如果不能理解请阅读阎宏博士的《Java与模式》或《设计模式精解》中关于桥梁模式的部分)。

  3)封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们编写一个类就是对数据和数据操作的封装。可以说,封装就是隐藏一切可隐藏的东西,只向外界提供最简单的编程接口(可以想想普通洗衣机和全自动洗衣机的差别,明显全自动洗衣机封装更好因此操作起来更简单;我们现在使用的智能手机也是封装得足够好的,因为几个按键就搞定了所有的事情)。

  4)多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应。简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情。多态性分为编译时的多态性和运行时的多态性。如果将对象的方法视为对象向外界提供的服务,那么运行时的多态性可以解释为:当A系统访问B系统提供的服务时,B系统有多种提供服务的方式,但一切对A系统来说都是透明的(就像电动剃须刀是A系统,它的供电系统是B系统,B系统可以使用电池供电或者用交流电,甚至还有可能是太阳能,A系统只会通过B类对象调用供电的方法,但并不知道供电系统的底层实现是什么,究竟通过何种方式获得了动力)。方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定)。运行时的多态是面向对象最精髓的东西,要实现多态需要做两件事:1. 方法重写(子类继承父类并重写父类中已有的或抽象的方法);2. 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。