招聘笔试试卷 第1页
笔试题目
(工程师)
姓名: 电话: 邮箱:
1. 下面的代码运行后,将输出什么结果?
String s1 = new String(\String s2 = new String(\if (s1==s2)
System.out.println(\if (s1.equals(s2))
System.out.println(\
A. Same Equals B. Equals C. Same编译错误
2. 一个班级里的学生有左撇子、右撇子,还有既不是左撇子也不是右撇子的学生。在这道
题目里,我们把那些既不是左撇子也不是右撇子的学生看作既是左撇子又是右撇子的学生。班上七分之一的左撇子同时也是右撇子,而九分之一的右撇子同时也是左撇子。问班上是不是有一半以上的人都是右撇子(请写出推理过程)?
答案:设N是既是左撇子又是右撇子的学生数 7N的人是左撇子,9N的人是右撇子 那么N+6N+8N=15N,即全班的学生数
而右撇子在学生总数中所占的比例是9N/15N,即3/5,超过班上一半的人数。
3. 说出各种排序的优缺点,适用于什么场景。
4. 写出面向对象的四个特征。
抽象、继承、封装、多态
5. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的
其它synchronized方法?
不能,一个对象的synchronized方法只能由一个线程访问。
6. Java中的线程有四种状态分别是:运行、就绪、挂起、结束
招聘笔试试卷 第2页
7. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变
化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
8. 写出两种Singleton(单例模式)的实现代码,并说明其特点。
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton { private Singleton(){}
//在自己内部定义自己一个实例,是不是很奇怪? //注意这是private 只供内部调用
private static Singleton instance = new Singleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() { return instance; } }
第二种形式: public class Singleton {
private static Singleton instance = null;
public static synchronized Singleton getInstance() {
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 //使用时生成实例,提高了效率! if (instance==null)
instance=new Singleton(); return instance; } }
在多线程情况下第一种形式要更加安全些
9. 数据表中的primarykey意思?请写出数据库中的索引的利弊?
招聘笔试试卷 第3页
10. HashMap和Hashtable的区别
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。
Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
11. 是否可以继承String类?
A.是
B.否
12. 两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
A.对
13. 一个\源文件中是否可以包括多个类(不是内部类)?
A.可以
B.不可以 B.不对
14. 是否可以从一个static方法内部发出对非static方法的调用?
A.可以
15. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?
A.可以
B.不可以 B.不可以
16. Anonymous Inner Class (匿名内部类) 是否可以implements(实现)interface(接口)?
A.可以
17. 下表是一公司的部门变迁记录表 DEPT_CHG : Id 1 2 Deptcode (部门编码) 101 102 Deptname 部门名称) 财务部1 行政部1 Effectivedate (生效日期) 2000/5/1 2000/6/5 Reason 变动原因) 成立 成立 B.不可以