给个英文的java笔试题。
大概题目有:
1.hashtable与hashmap是什么,区别和联系
哈希表由数组+链表组成,一个长度为16的数组中,每个元素存储的是一个链表的头结点。而HashMap和Hashtable就是哈希表结构
-
继承类不同:
A.HashMap继承AbstractMap
B.Hashtable继承Dictionary
-
A.HashMap是非线程安全的,是Hashtable的轻量级实现,效率较高
B.Hashtable是线程安全的,效率较低
-
A.HashMap允许Entry的key或value为null
B.Hashtable不允许Entry的key或value为null,否则出现NullPointerException
-
A.HashMap没有contains方法
B.Hashtable有contains方法
2.sleep和wait什么意思,区别
sleep指线程被调用时,占着CPU不工作,形象地说明为“占着CPU睡觉”,此时,系统的CPU部分资源被占用,其他线程无法进入,会增加时间限制。
wait指线程处于进入等待状态,形象地说明为“等待使用CPU”,此时线程不占用任何资源,不增加时间限制。
所以
sleep(100L)意思为:占用CPU,线程休眠100毫秒
wait(100L)意思为:不占用CPU,线程等待100毫秒
3.java多线程
http://blog.jobbole.com/76308/
JAVA多线程实现方式主要有三种:继承http://blog.jobbole.com/76308/Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。
4.类图UML设计
5.迭代和递归是什么,区别。迭代的缺点是什么
6.垃圾回收机制
7.sql和NOSql区别
8.抽象类和接口区别
http://www.cnblogs.com/dolphin0520/p/3811437.html
9..JVM
三个面试官问的题
10.c++ 引用传递,值传递,指针传递
11.三个硬币跑出去,2个反面的概率。
12,一万个数里找到最大的5个
13.项目介绍 还有,其他忘了。