新的起點 新的開始

          快樂生活 !

          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站點

          優秀個人博客鏈接

          官網學習站點

          生活工作站點

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 青海省| 六安市| 滨海县| 洱源县| 连云港市| 勐海县| 石河子市| 深泽县| 海城市| 台湾省| SHOW| 宽城| 潞西市| 章丘市| 鄂托克前旗| 贺州市| 辉县市| 峨边| 雷山县| 扬州市| 两当县| 徐州市| 伊吾县| 赣州市| 扶绥县| 鸡西市| 开江县| 襄垣县| 崇仁县| 景洪市| 澜沧| 图木舒克市| 忻州市| 鄂尔多斯市| 全南县| 岱山县| 虎林市| 博湖县| 克拉玛依市| 天柱县| 汶川县|