給個英文的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.項目介紹 還有,其他忘了。