JAVA面試題最全集(9)

16應用服務器有那些?

17你所知道的集合類都有哪些?主要方法?

18給你一個:驅動程序A,數據源名稱爲B,用戶名稱爲C,密碼爲D,數據庫表爲T,請用JDBC檢索出表T的所有數據。

19.說出在JSP頁面裏是怎麼分頁的?

頁面需要保存以下參數:

總行數:根據sql語句得到總行數

每頁顯示行數:設定值

當前頁數:請求參數

頁面根據當前頁數和每頁行數計算出當前頁第一行行數,定位結果集到此行,對結果集取出每頁顯示行數的行即可。

數據庫方面:

1. 存儲過程和函數的區別

存儲過程是用戶定義的一系列sql語句的集合,涉及特定表或其它對象的任務,用戶可以調用存儲過程,而函數通常是數據庫已定義的方法,它接收參數並返回某種類型的值並且不涉及特定用戶表。

2. 事務是什麼?

事務是作爲一個邏輯單元執行的一系列操作,一個邏輯工作單元必須有四個屬性,稱爲 ACID(原子性、一致性、隔離性和持久性)屬性,只有這樣才能成爲一個事務:

原子性

事務必須是原子工作單元;對於其數據修改,要麼全都執行,要麼全都不執行。

一致性

事務在完成時,必須使所有的數據都保持一致狀態。在相關數據庫中,所有規則都必須應用於事務的修改,以保持所有數據的完整性。事務結束時,所有的內部數據結構(如 B 樹索引或雙向鏈表)都必須是正確的。

隔離性

由併發事務所作的修改必須與任何其它併發事務所作的修改隔離。事務查看數據時數據所處的狀態,要麼是另一併發事務修改它之前的狀態,要麼是另一事務修改它之後的狀態,事務不會查看中間狀態的數據。這稱爲可串行性,因爲它能夠重新裝載起始數據,並且重播一系列事務,以使數據結束時的狀態與原始事務執行的狀態相同。

持久性

事務完成之後,它對於系統的影響是永久性的。該修改即使出現系統故障也將一直保持。

3. 遊標的作用?如何知道遊標已經到了最後?

遊標用於定位結果集的行,通過判斷全局變量@@FETCH_STATUS可以判斷是否到了最後,通常此變量不等於0表示出錯或到了最後。

4. 觸發器分爲事前觸發和事後觸發,這兩種觸發有和區別。語句級觸發和行級觸發有何區別。

事前觸發器運行於觸發事件發生之前,而事後觸發器運行於觸發事件發生之後。通常事前觸發器可以獲取事件之前和新的字段值。

語句級觸發器可以在語句執行前或後執行,而行級觸發在觸發器所影響的每一行觸發一次。

中遠面試題

1、面向對象的三個基本特徵

2、方法重載和方法重寫的概念和區別

3、接口和內部類、抽象類的特性

4、文件讀寫的基本類

**5、串行化的注意事項以及如何實現串行化

6、線程的基本概念、線程的基本狀態以及狀態之間的關係

7、線程的同步、如何實現線程的同步

8、幾種常用的數據結構及內部實現原理。

9、Socket通信(TCP、UDP區別及Java實現方式)

**10、Java的事件委託機制和垃圾回收機制

11、JDBC調用數據庫的基本步驟

**12、解析XML文件的幾種方式和區別

13、Java四種基本權限的定義

14、Java的國際化

二、JSP
1、至少要能說出7個隱含對象以及他們的區別

** 2、forward 和redirect的區別

3、JSP的常用指令

三、servlet
1、什麼情況下調用doGet()和doPost()?

2、servlet的init()方法和service()方法的區別

3、servlet的生命週期

4、如何現實servlet的單線程模式

5、servlet的配置

6、四種會話跟蹤技術

四、EJB
**1、EJB容器提供的服務

主要提供聲明週期管理、代碼產生、持續性管理、安全、事務管理、鎖和併發行管理等服務。

2、EJB的角色和三個對象

EJB角色主要包括Bean開發者 應用組裝者 部署者 系統管理員 EJB容器提供者 EJB服務器提供者

三個對象是Remote(Local)接口、Home(LocalHome)接口,Bean類

2、EJB的幾種類型

會話(Session)Bean ,實體(Entity)Bean 消息驅動的(Message Driven)Bean

會話Bean又可分爲有狀態(Stateful)和無狀態(Stateless)兩種

實體Bean可分爲Bean管理的持續性(BMP)和容器管理的持續性(CMP)兩種

3、bean 實例的生命週期

對於Stateless Session Bean、Entity Bean、Message Driven Bean一般存在緩衝池管理,而對於Entity Bean和Statefull Session Bean存在Cache管理,通常包含創建實例,設置上下文、創建EJB Object(create)、業務方法調用、remove等過程,對於存在緩衝池管理的Bean,在create之後實例並不從內存清除,而是採用緩衝池調度機制不斷重用實例,而對於存在Cache管理的Bean則通過激活和去激活機制保持Bean的狀態並限制內存中實例數量。

4、激活機制

以Statefull Session Bean 爲例:其Cache大小決定了內存中可以同時存在的Bean實例的數量,根據MRU或NRU算法,實例在激活和去激活狀態之間遷移,激活機制是當客戶端調用某個EJB實例業務方法時,如果對應EJB Object發現自己沒有綁定對應的Bean實例則從其去激活Bean存儲中(通過序列化機制存儲實例)回覆(激活)此實例。狀態變遷前會調用對應的ejbActive和ejbPassivate方法。

5、remote接口和home接口主要作用

remote接口定義了業務方法,用於EJB客戶端調用業務方法

home接口是EJB工廠用於創建和移除查找EJB實例

6、客服端調用EJB對象的幾個基本步驟

一、 設置JNDI服務工廠以及JNDI服務地址系統屬性

二、 查找Home接口

三、 從Home接口調用Create方法創建Remote接口

四、 通過Remote接口調用其業務方法

五、數據庫
1、存儲過程的編寫

2、基本的SQL語句

六、weblogic
1、 如何給weblogic指定大小的內存?

在啓動Weblogic的腳本中(位於所在Domian對應服務器目錄下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以調整最小內存爲32M,最大200M

2、 如何設定的weblogic的熱啓動模式(開發模式)與產品發佈模式?

可以在管理控制檯中修改對應服務器的啓動模式爲開發或產品模式之一。或者修改服務的啓動文件或者commenv文件,增加set PRODUCTION_MODE=true。

3、 如何啓動時不需輸入用戶名與密碼?

修改服務啓動文件,增加 WLS_USER和WLS_PW項。也可以在boot.properties文件中增加加密過的用戶名和密碼.

4、 在weblogic管理制臺中對一個應用域(或者說是一個網站,Domain)進行jms及ejb或連接池等相關信息進行配置後,實際保存在什麼文件中?

保存在此Domain的config.xml文件中,它是服務器的核心配置文件。

5、 說說weblogic中一個Domain的缺省目錄結構?比如要將一個簡單的helloWorld.jsp放入何目錄下,然的在瀏覽器上就可打入http://主機:端口號//helloword.jsp就可以看到運行結果了? 又比如這其中用到了一個自己寫的javaBean該如何辦?

Domain目錄/服務器目錄/applications,將應用目錄放在此目錄下將可以作爲應用訪問,如果是Web應用,應用目錄需要滿足Web應用目錄要求,jsp文件可以直接放在應用目錄中,Javabean需要放在應用目錄的WEB-INF目錄的classes目錄中,設置服務器的缺省應用將可以實現在瀏覽器上無需輸入應用名。

6、 如何查看在weblogic中已經發布的EJB?

可以使用管理控制檯,在它的Deployment中可以查看所有已發佈的EJB

7、 如何在weblogic中進行ssl配置與客戶端的認證配置或說說j2ee(標準)進行ssl的配置

缺省安裝中使用DemoIdentity.jks和DemoTrust.jks KeyStore實現SSL,需要配置服務器使用Enable SSL,配置其端口,在產品模式下需要從CA獲取私有密鑰和數字證書,創建identity和trust keystore,裝載獲得的密鑰和數字證書。可以配置此SSL連接是單向還是雙向的。

8、在weblogic中發佈ejb需涉及到哪些配置文件

不同類型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP實體Bean一般還需要weblogic-cmp-rdbms-jar.xml

9、EJB需直接實現它的業務接口或Home接口嗎,請簡述理由.

遠程接口和Home接口不需要直接實現,他們的實現代碼是由服務器產生的,程序運行中對應實現類會作爲對應接口類型的實例被使用。

10、說說在weblogic中開發消息Bean時的persistent與non-persisten的差別

persistent方式的MDB可以保證消息傳遞的可靠性,也就是如果EJB容器出現問題而JMS服務器依然會將消息在此MDB可用的時候發送過來,而non-persistent方式的消息將被丟棄。

11、說說你所熟悉或聽說過的j2ee中的幾種常用模式?及對設計模式的一些看法

Session Facade Pattern:使用SessionBean訪問EntityBean

Message Facade Pattern:實現異步調用

EJB Command Pattern:使用Command JavaBeans取代SessionBean,實現輕量級訪問

Data Transfer Object Factory:通過DTO Factory簡化EntityBean數據提供特性

Generic Attribute Access:通過AttibuteAccess接口簡化EntityBean數據提供特性

Business Interface:通過遠程(本地)接口和Bean類實現相同接口規範業務邏輯一致性

EJB架構的設計好壞將直接影響系統的性能、可擴展性、可維護性、組件可重用性及開發效率。項目越複雜,項目隊伍越龐大則越能體現良好設計的重要性  
發佈了4 篇原創文章 · 獲贊 0 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章