找工作要面试,有面试就有对付面试的办法。以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括 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 的不同,说得越多越好 ( 面试题有的很笼统 ) 。
第四, & 和 && 的区别。
第五, 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 出来。
【出处: WEB 开发资源联盟】 |