教育行業A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

java軟件工程師面試試題

更新時間:2019年01月25日13時15分 來源:java培訓 瀏覽次數:

我們找工作的人都會面臨一個難題,那就是面試,根據工作性質的不同,面試的要求也會不公,好點的工作,面試官都會問我們一些問題,尤其是學術性較強的工作。那么今天我們就來說說我們學JAVA的求職者面試時會遇到的一些面試題及答案吧。

問題一:struts中的prepare怎么用?

答:prepare是在validate攔截器之前執行

在使用struts2 checkboxlist,select綁定list時,有時候會出現 以下異常

The requested list key 'users' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name}

- [unknown location]這樣的錯誤。是因為list的值為空

解決辦法是把初始化list的工作放到prepare攔截器中

public class RoleAction extends ActionSupport implemen

ts Preparable{

@Override

public void prepare() throws Exception {

//初始化list

} }

問題二:haShtable的原理

答:原理:通過節點的關鍵碼確定節點的存儲位置,即給定節點的關鍵碼k,通過一定的函數關系H(散列函數),得到函數值H(k),將此值解釋為該節點的存儲地址問題三:java 是如何進行異常處理的Java通過面向對象的方法進行異常處理,把各種不同的異常進行分類,并提供了良好的接口。在Java中,每個異常都是一個對象,它是Throwable類或其它子類的實例。當一個方法出現異常后便拋出一個異常對象,該對象中包含有異常信息,調用這個對象的方法可以捕獲到這個異常并進行處理。Java的異常處理是通過5個關鍵詞來實現的:try、catch、throw、throws和finally。一般情況下是用try來執行一段程序,如果出現異常,系統會拋出(throws)一個異常,這時候你可以通過它的類型來捕捉(catch)它,或最后(finally

)由缺省處理器來處理

問題四:dao 是什么及作用

dao 是數據訪問對象 DAO負責管理與數據源的連接來獲取和儲存其中的數據

問題五:簡述spring 的事務傳播行為和 隔離級別

spring 的事務傳播行為: Spring在TransactionDefinition接口中規定了7種類型的事務傳播行為,它們規定了事務方法和事務方法發生嵌套調用時事務如何進行傳播:

PROPAGATION_REQUIRED:如果當前沒有事務,就新建一個事務,如果已經存在一個事務中,加入到這個事務中。這是最常見的選擇。

PROPAGATION_SUPPORTS:支持當前事務,如果當前沒有事務,就以非事務方式執行。

PROPAGATION_MANDATORY:使用當前的事務,如果當前沒有事務,就拋出異常。

PROPAGATION_REQUIRES_NEW:新建事務,如果當前存在事

務,把當前事務掛起。

PROPAGATION_NOT_SUPPORTED:以非事務方式執行操作,如果當前存在事務,就把當前事務掛起。

PROPAGATION_NEVER:以非事務方式執行,如果當前存在事務,則拋出異常。

PROPAGATION_NESTED:如果當前存在事務,則在嵌套事務內執行。如果當前沒有事務,則執行與PROPAGATION_REQUIRED類似的操作。

Spring 的隔離級別

1、Serializable:最嚴格的級別,事務串行執行,資源消耗最大;

2、REPEATABLE READ:保證了一個事務不會修改已經由另

一個事務讀取但未提交(回滾)的數據。避免了“臟讀取”和“不可重復讀取”的情況,但是帶來了更多的性能損失。

3、READ COMMITTED:大多數主流數據庫的默認事務等級,保證了一個事務不會讀到另一個并行事務已修改但未提交的數據,避免了“臟讀取”。該級別適用于大多數系統。

4、Read Uncommitted:保證了讀取過程中不會讀取到非法數據。

問題六:Struts2實現攔截器的原理?

實現原理:Struts2攔截器是在訪問某個Action或Action的

某個方法、字段之前或之后實施攔截,并且Struts2攔截器是可插拔的,攔截器是AOP的一種實現。當請求struts2的action時,Struts 2會查找配置文件,并根據其配置實例化相對的攔截器對象,然后串成一個列表,最后一個一個地調用列表中的攔截器。

問題七:forward與redirect 的區別?有哪些方式實現1).重定向后url地址欄地址不變還是原來的地址;而response.sendRedirect()重定向后url地址欄地址顯示的請求后的新地址。

2).重定向的時候可以保存回話信息,因此可以使用request來進行參數傳遞,在新頁面可以使用request.getAttribute ()來得到參數。而response.sendRedirect()不支持此通過request進行參數傳遞。它唯一的傳值方式為response.sendRedirect(“example.jsp?aa=123”),在新的頁面通過request.getParameter(“aa”)來得到參數值

問題八:靜態的多態和動態的多態的區別

靜態的多態: 即為重載 ;方法名相同,參數個數或類型不相同。(overloading)

動態的多態: 即為重寫;子類覆蓋父類的方法,將子類的實例傳與父類的引用調用的是子類的方法 實現接口的實例傳與接口的引用調用的實現類的方法。

問題九:extends和implement的不同

extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼承,JAVA中不支持多重繼承,但是可以用接口來實現,這樣就要用到implements,繼承只能繼承一個類,但implements可以實現多個接口,用逗號分開就行了 比如 class A extends B implements C,D,E

問題十:Hibernate中離線查詢與在線查詢的區別

Criteria 和 DetachedCriteria 的主要區別在于創建的形式不一樣, Criteria 是在線的,所以它是由 Hibernate Session 進行創建的;而DetachedCriteria 是離線的,創建時無需 Session,DetachedCriteria 提供了 2 個靜態方法 forClass(Class) 或 forEntityName(Name) 進行DetachedCriteria 實例的創建。
java培訓
0 分享到:
久久精品一本到99热免费-男女18禁啪啪无遮挡剧烈-强奷漂亮少妇高潮A片-少妇性饥渴VIDEOFREE