架構師面試問題指導性框架_第1頁
架構師面試問題指導性框架_第2頁
架構師面試問題指導性框架_第3頁
架構師面試問題指導性框架_第4頁
架構師面試問題指導性框架_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、.架構師面試問題指導性框架1. Java 基礎問題31.1. 所有 Java 類的基類是什么?31.2. Object 類中有哪些方法?(說出三個)31.3. equals 和 =的差別?31.4. hashCode 的作用31.5. hashCode 和 equals 方法的關系31.6. 如何停止一個線程?41.7. Thread.setDeamon()的含義?51.8. ClassLoader 的功能和工作模式?51.9. 列舉幾個 Java Collection 類庫中的常用類,試簡述其類結構。61.10. Input/OutputStream 和 Reader/Writer 有何區(qū)別

2、?何為字符,何為字節(jié)?71.11. 如何在字符流和字節(jié)流之間轉換?71.12. GC 垃圾收集是什么意思?怎樣的對象會被收集?72. JavaEE 的問題72.1. Serlvet/JSP 相關72.1.1. JSP 的工作原理72.1.2. Servlet 中的 session 工作原理72.1.3. WEB 層如何實現(xiàn)Cluster72.2. EJB 相關72.2.1. EJB 的類型72.2.2. EJB 的工作原理72.2.3. EJB 的應用領域72.3. JMS 相關82.3.1. JMS 的模式82.4. JDBC/JTA/JTS 相關82.4.1. 用 JDBC 怎樣從數(shù)據(jù)庫中

3、查詢一條記錄?82.4.2. Transaction 有哪幾種隔離級別?(Isolation Level )82.4.3. Global transaction 的原理是什么?82.5. WebService 相關82.5.1. 簡述 WebService 是怎么實現(xiàn)的?82.6. Ant/maven 的知識92.6.1. 用過 ant 或 maven 嗎?它們是什么?有什么特點(或好處)?93. 開源軟件的問題93.1. Spring 相關93.1.1. Spring 的核心理念是什么?93.2. iBatis/hibernate 相關93.2.1. 簡介 hibernate 和(或) ib

4、atis,及它們的異同、優(yōu)缺點。93.3. 其它軟件93.3.1. Web 層框架93.3.2. 數(shù)據(jù)層框架93.3.3. 普通工具類9;.3.3.4. 框架 .93.3.5. Service 框架 .93.3.6. .104. OOA/OOD .104.1. OOD 的原 .104.1.1. 類 A 依 B ,會 生什么 ? .104.1.2. 怎 解除 種耦合? .104.2. 模式? .104.2.1. 列 一兩個 模式, 例 明其用途。.104.2.2. 述 M-V-C 模式解決了什么 ? .105. 目相關 .105.1. 目相關的技 .106. 新技 敏感度 .106.1. Jav

5、a 5 言的新特性? 我 有什么幫助?.107.其他 .117.1. 展道路?愿意做技 ?愿意做 ?.117.2.愿意在杭州 期 展 ? .118.其它方面的基 知 .118.1.操作系 相關 ,如虛 內(nèi)存管理.118.2.數(shù)據(jù) 構相關:如 列 用 .118.3.網(wǎng) 相關:如 TCP/IP 基 .118.4. http 以及相關內(nèi)容 .118.5.對 uml 以及 健模的考察 .118.6.群集技 .118.7.版本管理 :svn/cvs .11;.1.Java 基礎問題1.1. 所有 Java 類的基類是什么?java.lang.Object1.2.Object 類中有哪些方法?(說出三個)

6、/ 對象相關getClass()clone() - protectedtoString()equals(Object)hashCode()/ 線程相關notify()notifyAll()wait(long, int)/ GC 相關finalize()1.3.equals 和=的差別?equals 為對象相等。=代表引用相等(即同一個對象)。Object.equals 的實現(xiàn)和 =相同,但子類可以覆蓋此方法,以便實現(xiàn)不同的比較算法,例如String.equals 逐字比較。1.4.hashCode 的作用在 HashMap 或 HashSet 中,作為雜湊值,以提高查找的性能。Object.h

7、ashCode 實際上返回的是對象的引用地址,但子類可以覆蓋此方法,實現(xiàn)不同的雜湊算法。1.5.hashCode 和 equals 方法的關系如果兩個對象equals 相等,那么hashCode 必須相等。反之,則不一定:hashCode 相等,可能equals 不等。但這個概率不能太高,否則將增加HashMap 的沖突可能性,而降低查找的效率。;.1.6. 如何停止一個線程?設置一個標記,讓線程自行停止。必要時,主線程執(zhí)行join 方法等待子線程完全退出。publicclassTestThread privatebooleanexit=false;privatevoid go()throws

8、Exception Thread thread =new Thread(new MyRunnable(),my_thread);System.out .println(Press Enter to exit.);thread.start();System.in .read();exit=true ;thread.join();privateclassMyRunnableimplementsRunnable publicvoidrun() for( inti = 1; !exit; i+) System.out .println(Thread.currentThread ().getName()

9、 +: + i);tryThread.sleep (1000);catch(InterruptedException e) publicstaticvoidmain(String args)throwsException new TestThread().go();事實上, Thread 自己有 interrupted 標志,可以通過 Terrupted() 或某些方法的 InterruptedException 來捕獲中斷標志。程序可改進為:publicclassTestThread privatebooleanexit=false;privatevoidgo()throw

10、sException exit=true ;.errupt();thread.join();privateclassMyRunnableimplementsRunnable publicvoidrun() for( inti = 1; !exit; i+) System.out .println(Thread.currentThread ().getName() +: + i);tryThread.sleep (1000);catch(InterruptedException e) return;1.7.Thread.setDeamon()的含義?一個 Daemon 線程是

11、一個在背景執(zhí)行服務的線程, 例如網(wǎng)絡服務器傾聽連接端口的服務、 隱藏的系統(tǒng)線程如垃圾收集線程或其它 JVM 建立的線程,如果所有的非 Daemon 的線程都結束了,則 Daemon 線程自動就會終止。Thread.setDaemon(true)就是設置一個線程為 daemon 線程。該方法必須在 Thread.start()之前執(zhí)行。 并且 daemon 線程創(chuàng)建的子線程,自動成為 daemon 線程。1.8.ClassLoader的功能和工作模式?ClassLoader 的功能是讀取二進制碼,生成Class 對象。ClassLoader 使用的是委托模式( delegation 模式)。Cl

12、assLoader 呈樹狀結構, 每個結點代表一個ClassLoader。一般來說,ClassLoader 查找一個類時,會先詢問parent ClassLoader,如果找不到,才會在自身查找。下面是JavaEE ClassLoader 的常見結構:( System Class Loader 之前其實省略了一個Bootstrap Class Loader ,用來裝載jre/lib 下的 JDK 基本類);.1.9. 列舉幾個 Java Collection類庫中的常用類,試簡述其類結構。InterfaceImplementationHistoricalSetHashSetTreeSetLis

13、tArrayListVectorLinkedListStackMapHashMapHashtableTreeMapProperties還有包裝器:Unmodifiable collectionsSynchronized collectionsSingleton collections等。;.1.10.Input/OutputStream和 Reader/Writer 有何區(qū)別?何為字符,何為字節(jié)?1.11. 如何在字符流和字節(jié)流之間轉換?1.12.GC 垃圾收集是什么意思?怎樣的對象會被收集?2.JavaEE的問題2.1.Serlvet/JSP相關2.1.1.JSP 的工作原理JSP 會先轉換

14、成Servlet 類,然后再執(zhí)行。2.1.2.Servlet 中的 session工作原理通過 JSESSIONID 來索引 session的數(shù)據(jù)。通常將 JSESSIONID 保存在 cookie 中,但也可以編碼到URL 中。Session 的數(shù)據(jù)是保存在服務端的。具體的實現(xiàn)方式由應用服務器決定。2.1.3.WEB 層如何實現(xiàn) Cluster關鍵是解決session的問題??梢酝ㄟ^sticky server 的方式,也可以通過session 復制的機制。如果 Web 應用不使用session(無狀態(tài)的),則可以將請求隨機分發(fā)到任何一臺對等的應用服務器上。2.2.EJB 相關2.2.1.EJ

15、B 的類型Stateless Session Beans、 Stateful Session Beans、Entity Beans 、 Message-Driven Beans。2.2.2.EJB 的工作原理Session Bean和 Entity Bean 通過 Stub 來實現(xiàn) Remote 和 Local 調(diào)用。 調(diào)用時, 可以插入特殊的邏輯:如安全、 事務管理。Message-Driven Bean 通過監(jiān)聽JMS 對象來觸發(fā)。同樣支持安全、事務。2.2.3.EJB 的應用領域Stateless Session Bean 和 Message-Driven Bean 目前用得比較多。前者

16、常用于遠程 /本地訪問業(yè)務邏輯;后者常用于異步調(diào)用。由于使用了Spring 這樣的輕量框架,EJB 的應用越來越少。;.2.3.JMS 相關2.3.1.JMS 的模式Queue 模式: point-to-point (點對點),一頭發(fā)消息,一頭收消息。消息收掉就沒了,兩個接收者不能收到同一個消息。Topic 模式: publish-subscriber(發(fā)布、訂閱) ,一個人發(fā)消息,多個訂閱 topic 的人接收消息。多個接收者能夠收到同一個 topic 中的同一個消息。2.4.JDBC/JTA/JTS相關2.4.1.用 JDBC 怎樣從數(shù)據(jù)庫中查詢一條記錄?2.4.2.Transaction

17、 有哪幾種隔離級別?(Isolation Level )數(shù)據(jù)在修改過程中的中間狀態(tài)對其它事務的可見程度,和其它事務修改數(shù)據(jù)的中間狀態(tài)對本事務的可見性。1. READ UNCOMMITTED -Dirty reads, non-repeatable reads, and phantom reads are all allowed;2. READ COMMITTED -Dirty reads are prevented; non-repeatable reads and phantom reads are allowed.;3. REPEATABLE READ -Dirty reads and n

18、on-repeatable reads are prevented; phantom reads are allowed;4. SERIALIZABLE -Dirty reads, non-repeatable reads, and phantom reads are all prevented;Oracle 支持兩種: READ COMMITTED(默認 )、 SERIALIZABLE。2.4.3.Global transaction 的原理是什么?兩階段提交。不僅可對數(shù)據(jù)庫,也可對其它資源如JMS 進行 transaction 操作。2.5.WebService相關2.5.1.簡述 Web

19、Service 是怎么實現(xiàn)的?說出 soap、 wsdl 之類的就可以了。;.2.6.Ant/maven 的知識2.6.1.用過 ant 或 maven 嗎?它們是什么?有什么特點(或好處)?3.開源軟件的問題3.1.Spring 相關3.1.1.Spring 的核心理念是什么?核心是 IoC ( Inversion of Control 、反 控制)或DI ( Dependency Injection 、依 注入) 。通 IoC 或 DJ 的方式來裝配 象,解除 象與 象之 的耦合性,從而 化 用的開 、 程。和 IoC 或 DJ 密切相關的, 有 AOP( Aspect Oriented

20、Programming 、面向切面的 程) 。有了 IoC ,就很容易 AOP。通 AOP ,可以將 外的功能透明地附著于 象上,而不會影響到使用 象的代 。通 此種機制,就可 很多功能: 程、異步 用、Transaction、Security 、Intercepter3.2.iBatis/hibernate相關3.2.1.簡介 hibernate 和(或) ibatis ,及它們的異同、優(yōu)缺點。3.3. 其它軟件3.3.1.Web 層框架Webwork 、 Struts、 Tapestry、 Turbine 、 Spring MVC 3.3.2.數(shù)據(jù)層框架Hibernate、 iBatis 、 Torque、 OJB3.3.3.普通工具類Jakarta commons模板工具: Velocity 、 Freemarker3.3.4.測試框架Junit、Testn

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論