新的起點 新的開始

          快樂生活 !

          java 標準基礎筆試題(QA)

          Q:請大概描述一下Vector和ArrayList的區別,Hashtable和HashMap的區別。(5)

          A:thread-safe or unsafe, could contain null values or not

          Q:請問你在什么情況下會在你的JAVA代碼中使用可序列化?(5)
          為什么放到HttpSession中的對象必須要是可序列化的?(5)

          A:save, communicate

          Q:為什么在重寫了equals()方法之后也必須重寫hashCode()方法?(10)

          A:implementations of dictionaries need hashCode() and equals()

          Q:Sleep()和wait()有什么區別?(10)

          A:threads communication: wait() and notifyAll()
          sleep hold lock and wait auto release lock.

          Q:編程題:用最有效率的方法算出2乘以17等于多少?(5)

          A: 2<<4+2

          Q:JAVA是不是沒有內存泄漏問題?看下面的代碼片段,并指出這些代碼隱藏的問題。(10)

          Object[] elements = new Object[10];
          int size;

          public Object pop() {
          if (size == 0)
          return null;
          Object o = elements[--size];
          return o;
          }

          A: elements[size] = null;

          Q:請闡述一下你對JAVA多線程中“鎖”的概念的理解。(10)

          A:optimistic lock, pessimistic lock, signal, dead lock, starvation, synchronization

          Q:所有的遞歸實現都可以用循環的方式實現,請描述一下這兩種實現方式各自的優劣。
          并舉例說明在什么情況下可以使用遞歸,而在什么情況下只能使用循環而不能使用遞歸?(5)

          A:recursive: when you need a stack and stack memory is enough
             non-recursive: when you need a queue

          Q:請簡要講一下你對測試驅動開發(TDD)的認識。(10)

          A:write unit testing code first

          Q:請闡述一下你對“面向接口編程”的理解。(10)

          A:adapter, listener, bridge, decorator, proxy… patterns

          Q:在J2EE中有一個“容器(Container)”的概念,不管是EJB、PICO還是Spring都有他們
          各自實現的容器,受容器管理的組件會具有有生命周期的特性,請問,為什么需要容器?
          它的好處在哪里?它會帶來什么樣的問題?(15)

          A:encapsulation decouple.

          Q:請闡述一下你對IOC(Inversion of Control)的理解。(可以以PICO和Spring的IOC作為例子說明他們在實現上各自的特點)(10)

          A:reduce classes' dependencies

          Q:下面的代碼在絕大部分時間內都運行得很正常,請問在什么情況下會出現問題?問題的根源在哪里?(10)
          import java.util.LinkedList;

          public class Stack {

          LinkedList list = new LinkedList();

          public synchronized void push(Object x) {
          synchronized(list) {
          list.addLast( x );
          notify();
          }
          }

          public synchronized Object pop()
          throws Exception {
          synchronized(list) {
          if( list.size() <= 0 ) {
          wait();
          }
          return list.removeLast();
          }
          }
          }

          A: dead lock, synchronized on both 'list' and 'this'

          posted on 2007-09-29 12:56 advincenting 閱讀(1558) 評論(1)  編輯  收藏

          評論

          # re: java 標準基礎筆試題(QA) 2007-11-12 00:19 eric lin

          Q:編程題:用最有效率的方法算出2乘以17等于多少?(5)

          A: 17<<1

          Q:JAVA是不是沒有內存泄漏問題?看下面的代碼片段,并指出這些代碼隱藏的問題。(10)

          Object[] elements = new Object[10];
          int size;

          public Object pop() {
          if (size == 0)
          return null;
          Object o = elements[--size];
          return o;
          }

          A: elements 沒釋放,可能存在內存泄露  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          公告

          Locations of visitors to this pageBlogJava
        1. 首頁
        2. 新隨筆
        3. 聯系
        4. 聚合
        5. 管理
        6. <2007年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          統計

          常用鏈接

          留言簿(13)

          隨筆分類(71)

          隨筆檔案(179)

          文章檔案(13)

          新聞分類

          IT人的英語學習網站

          JAVA站點

          優秀個人博客鏈接

          官網學習站點

          生活工作站點

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 凉城县| 安多县| 连平县| 岳阳市| 建瓯市| 明星| 定西市| 渝中区| 谢通门县| 和平县| 亳州市| 丹寨县| 遵义市| 福海县| 云林县| 民丰县| 开远市| 山丹县| 凤翔县| 镇沅| 岳普湖县| 和顺县| 漳平市| 休宁县| 福安市| 河津市| 吴桥县| 普宁市| 望城县| 武强县| 工布江达县| 石门县| 体育| 贺州市| 托克托县| 永城市| 旬邑县| 博湖县| 岢岚县| 漳州市| 浠水县|