面試集錦

1. Hibernate的工作原理

通過文件把值對象和數據庫表之間建立起一個映射關係,這樣,我們只需要通過操作這些值對象和Hibernate提供的一些基本類,就可以達到使用數據庫的目的。

2. MVC的工作原理

3. 什麼是Web Service

答: Web Service就是爲了使原來各孤立的站點之間的信息能夠相互通信、共享而提出的一種接口。
   Web Service所使用的是Internet上統一、開放的標準,如HTTP、XML、SOAP(簡單對象訪問協議)、WSDL等,所以Web Service可以在任何支持這些標準的環境(Windows,Linux)中使用。

 優勢:
     (1).跨平臺。
     (2).SOAP協議是基於XML和HTTP這些業界的標準的,得到了所有的重要公司的支持。
     (3).由於使用了SOAP,數據是以ASCII文本的方式而非二進制傳輸,調試很方便;並且由於這樣,它的數據容易通過防火牆,不需要防火    牆爲了程序而單獨開一個“漏洞”。
     (4).此外,WebService實現的技術難度要比CORBA和DCOM小得多。
     (5).要實現B2B集成,EDI比較完善與比較複雜;而用WebService則可以低成本的實現,小公司也可以用上。
     (6).在C/S的程序中,WebService可以實現網頁無整體刷新的與服務器打交道並取數。
 缺點:
     (1).WebService使用了XML對數據封裝,會造成大量的數據要在網絡中傳輸。
     (2).WebService規範沒有規定任何與實現相關的細節,包括對象模型、編程語言,這一點,它不如CORBA。

4. Hashtable的原理,並說出HashMap與Hashtable的區別   Vector 和ArrayList有什麼區別?
  答:HashTable的原理:通過節點的關鍵碼確定節點的存儲位置,即給定節點的關鍵碼k,通過一定的函數關係H(散列函數),得到函數值H(k),將此值解釋爲該節點的存儲地址.

就ArrayList與Vector主要從二方面來說.

   一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的

   二.數據增長:當需要增長時,Vector 默認增長爲原來一培,而ArrayList卻是原來的一半

就HashMap與HashTable主要從三方面來說。

   一.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
   二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的

   三.值:只有HashMap可以讓你將空值作爲一個表的條目的key或value


5. 解析XML主要方法有哪些?各有什麼區別?

答: 有DOM,SAX,STAX等

DOM:處理大型文件時其性能下降的非常厲害。這個問題是由DOM的樹結構所造成的,這種結構佔用的內存較多,而且DOM必須在解析文件之前把整個文檔裝入內存,

適合對XML的隨機訪問SAX:不現於DOM,SAX是事件驅動型的XML解析方式。它順序讀取XML文件,不需要一次全部裝載整個文件。當遇到像文件開頭,文檔結束,或者標籤開頭與標籤結束時,它會觸發一個事件,用戶通過在其回調事件中寫入處理代碼來處理XML文件,適合對XML的順序訪問

STAX:Streaming API for XML (StAX)

6. 設計模式 和 架構設計 的理解

架構設計也類似一種工作流,它是動態的,這點不象建築設計那樣,一開始就能完全確定,架構設計伴隨着整個項目的進行過程之中,有兩種具體操作保證架構設計的正確完成,那就是設計模式(靜態)和工程項目方法(RUP或XP 動態的)。

設計模式是支撐架構的一種重要組件,這與建築有很相象的地方,一個建築物建立設計需要建築架構設計,在具體施工中,有很多建築方面的規則和模式。

架構設計的總體目標,可以概括下面幾點:

1. 最大化的重用:這個重用包括組件重用 和設計模式使用等多個方面。

2. 儘可能的簡單明瞭

3. 最靈活的拓展性:架構設計要具備靈活性 拓展性,這樣,用戶可以在你的架構上進行二次開發或更加具體的開發。


http://www.ibm.com/developerworks/cn/web/1107_chengfu_nodejs/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章