国产精品亚洲综合久久系列,一本大道香蕉青青久久,播放高清的播放器,国产在线观看无码不卡

蜜蜂職場文庫 > 面試技巧 >

java軟件測試面試題及答案

時間: 小龍 面試技巧

  Java軟件測試的技術(shù)員在求職面試中,提前了解面試問題很重要,那么你知道Java測試面試題及答案了嗎?下面小編已經(jīng)為你們整理了java軟件測試面試題及答案,歡迎閱讀。

  java軟件測試面試題及答案篇一

  1.簡要描述如何結(jié)合struts、hibernate、spring開發(fā)Web應用?

  解答:Struts可以將jsp頁面的表單關(guān)聯(lián)起來,就是把JSP頁面的表單數(shù)據(jù)封裝成javaBean,這樣的話,在action中你再也不需要使用傳統(tǒng)的request.getParameter(“name”);還有struts有一個控制器,你在struts編程中的控制器(XxxAction)都是繼承總的ActionServlet,它能集中處理請求,然后轉(zhuǎn)到相關(guān)的頁面。還有struts的表單驗證組件,不用你寫js驗證了,只需要你配置一下文件就可以了。另外struts的令牌機制可以防表單重復提交。

  Spring 是一個輕量級容器,非侵入性.包含依賴注入,AOP等。它是為了解決企業(yè)應用程序開發(fā)復雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢之一就是其分層架構(gòu),分層架構(gòu)允許您選擇使用哪一個組件,同時為 J2EE 應用程序開發(fā)提供集成的框架。

  Hibernate:它可以讓我們以O(shè)O的方式操作數(shù)據(jù)庫,這讓我們看到了hibernate的強大之處,體驗到操作數(shù)據(jù)的方便。但hibernate最耀眼之處是hibernate的緩存機制,而不是以O(shè)O的方式操作數(shù)據(jù)庫。Hibernate的緩存機制不外乎是一級緩存session,二級緩存sessionFactory,和第三方緩存如ehcache。也就是hibernate的最強大的地方是它的緩存,理解了這個才能真正的理解hibernate,Hibernate的命名查詢/命名參數(shù)查詢,就是將hql語句放在一個單獨的xml文件之中,它仍然讓人們以面向?qū)ο蟮姆绞饺ゲ倏v數(shù)據(jù),而不用在以O(shè)O的方式寫著代碼的同時,然后再轉(zhuǎn)變思維,用面向關(guān)系的方式去寫那些sql語句。但hibernate不僅做了這些,它的native sql查詢方式,完全滿足sql語句的偏愛者,它像ibatis一樣,將sql語句放在配置文件之中。

  2.說明反轉(zhuǎn)控制(IOC)和面向方向編程(AOP)在spring中的應用

  解答:Spring 核心容器(Core)提供Spring框架的基本功能。核心容器的主要組件是BeanFactory,它是工廠模式的實現(xiàn)。BeanFactory使用控制反轉(zhuǎn)(Ioc)模式將應用程序的配置和依賴性規(guī)范與實際的應用代碼程序分開。Spring的聲明式事務基于AOP實現(xiàn),卻并不需要程序開發(fā)者成為AOP專家,亦可輕易使用Spring的聲明式事務管理。

  java軟件測試面試題及答案篇二

  1.List、Map、Set三個接口存儲元素時各有什么特點?

  解答:

  1)List是有序的Collection,使用此接口能夠精確的控制每個元素插入的位置。用戶能夠使用索引(元素在List中的位置,類似于數(shù)組下標)來訪問List中的元素,這類似于Java的數(shù)組。

  2)Set是一種不包含重復的元素的Collection,即任意的兩個元素e1和e2都有e1.equals(e2)=false,Set最多有一個null元素。

  3)Map接口 :請注意,Map沒有繼承Collection接口,Map提供key到value的映射

  2. 簡述基于Struts框架Web應用的工作流程

  解答:在web應用啟動時就會加載初始化ActionServlet,ActionServlet從struts-config.xml文件中讀取配置信息,把它們存放到各種配置對象中, 當ActionServlet接收到一個客戶請求時,將執(zhí)行如下流程.

  1)檢索和用戶請求匹配的ActionMapping實例,如果不存在,就返回請求路徑無效信息;

  2)如果ActionForm實例不存在,就創(chuàng)建一個ActionForm對象,把客戶提交的表單數(shù)據(jù)保存到ActionForm對象中;

  3)根據(jù)配置信息決定是否需要表單驗證.如果需要驗證,就調(diào)用ActionForm的validate()方法;

  4)如果ActionForm的validate()方法返回null或返回一個不包含ActionMessage的ActionErrors對象, 就表示表單驗證成功;

  5)ActionServlet根據(jù)ActionMapping所包含的映射信息決定將請求轉(zhuǎn)發(fā)給哪個Action,如果相應的Action實例不存在,就先創(chuàng)建這個實例,然后調(diào)用Action的execute()方法;

  6)Action的execute()方法返回一個ActionForward對象,ActionServlet在把客戶請求轉(zhuǎn)發(fā)給ActionForward對象指向的JSP組件;

  7)ActionForward對象指向JSP組件生成動態(tài)網(wǎng)頁,返回給客戶;

  3. 在項目中用過Spring的哪些方面?及用過哪些Ajax框架?

  解答:在項目使用過Spring IOC ,AOP,DAO,ORM,還有上下文環(huán)境。

  在項目使用過Ext,Juery等Ajax框架.

  4、abstract class和interface有什么區(qū)別?

  解答:聲明方法的存在而不去實現(xiàn)它的類被叫做抽象類(abstract class),它用于要創(chuàng)建一個體現(xiàn)某些基本行為的類,并為該類聲明方法,但不能在該類中實現(xiàn)該類的情況。不能創(chuàng)建abstract 類的實例。然而可以創(chuàng)建一個變量,其類型是一個抽象類,并讓它指向具體子類的一個實例。不能有抽象構(gòu)造函數(shù)或抽象靜態(tài)方法。Abstract 類的子類為它們父類中的所有抽象方法提供實現(xiàn),否則它們也是抽象類。取而代之,在子類中實現(xiàn)該方法。知道其行為的其它類可以在類中實現(xiàn)這些方法。接口(interface)是抽象類的變體。新型多繼承性可通過實現(xiàn)這樣的接口而獲得。

  接口中的所有方法都是抽象的,所有成員變量都是public static final的。一個類可以實現(xiàn)多個接口,當類實現(xiàn)接口時,必須實現(xiàn)接口的所有方法。抽象類在Java語言中表示的是一種單繼承的關(guān)系,對于interface 來說則不然,并不要求interface的實現(xiàn)者和interface定義在概念本質(zhì)上是一致的,僅僅是實現(xiàn)了interface定義的契約而已。;抽象類中可以定義自己的成員變量,也可以包含非抽象的方法,而在接口中只能有靜態(tài)的常量,所有方法必須是抽象的;實現(xiàn)抽象類時可以只實現(xiàn)其中的部分方法,而要是實現(xiàn)一個接口的話就必須實現(xiàn)這個接口中的所有抽象方法。

  java軟件測試面試題及答案篇三

  1.MVC模式中M,V,C每個代表意義,并簡述在Struts中MVC的表現(xiàn)方式。

  解答:

  MVC是Model-View-Controller 的縮寫,Model代表的是應用的業(yè)務邏輯(通過JavaBean,EJB組件實現(xiàn)),View 是應用的表示層(由JSP頁面產(chǎn)生)Controller是通過應用的處理過程控制,(一般是一個servert)通過這種設(shè)計模型把應用邏輯,處理過程和顯示邏輯分成不同的組件實現(xiàn),這些組件可以進行交互和重用。

  在Struts框架中Controller功能由ActionServlet和ActionMapping對象構(gòu)成,核心是一個Servlet類型的對象ActionServlet,它用來接收客戶端的請求。ActionServlet包括一組基于配置的ActionMapping對象,每個ActionMapping對象實現(xiàn)了一個請求到一個具體的Model部分的Action處理器對象之間的映射。Model部分由Action和ActionForm對象構(gòu)成。所有的Action處理器對象都是開發(fā)者從Struts的Action類派生的子類。Action處理器對象封裝了具體的處理邏輯,調(diào)用業(yè)務邏輯模塊,并且把響應提交到合適的View組件以產(chǎn)生響應。Struts提供的ActionForm組件對象可以通過定義屬性描述客戶端表單數(shù)據(jù),開發(fā)者可以從它派生子類對象,并利用它和Struts提供的自定義標記庫相結(jié)合,可以實現(xiàn)對客戶端的表單數(shù)據(jù)的良好封裝和支持,Action處理器對象可以直接對它進行讀寫,而不再需要和request、response對象進行數(shù)據(jù)交互。通過ActionForm組件對象實現(xiàn)了對View和Model之間交互的支持(View部分是通過JSP技術(shù)實現(xiàn)的)。Struts提供了自定義的標記庫,通過這些自定義標記庫可以非常容易地和系統(tǒng)的Model部分交互,通過使用這些自定義標記庫創(chuàng)建的JSP表單,可以實現(xiàn)對Model部分中的ActionForm的映射,完成對用戶數(shù)據(jù)的封裝。

  2.java語言中public、private、protected三個關(guān)鍵字的用法,重寫和重載的區(qū)別。

  解答:

  作用域 當前類 同包 子類 其它

  public √ √ √ √ protected √ √ √ × default √ √ × × private √ × × ×

  重寫:發(fā)生在父子類之間,方法名相同,參數(shù)的類型、個數(shù)、順序相同,返回值相同,訪問權(quán)限不能更封閉,拋出異常不能寬泛;

  重載:發(fā)生在同一個類中,方法名相同,但是參數(shù)不同(類型不同或個數(shù)不同或參數(shù)的順序不同),返回值可以不相同。

  3.JSP頁面之間傳遞參數(shù)的方法有哪些?

  解答:

  1)request

  2)session

  3)application

  4)提交表單

  5)超鏈接

  4.forward 和redirect的區(qū)別

  解答:forward是容器中控制權(quán)的轉(zhuǎn)向,是服務器請求資源,服務器直接訪問目標地址的URL,把那個URL的響應內(nèi)容讀取過來,然后把這些內(nèi)容再發(fā)給瀏覽器,瀏覽器根本不知道服務器發(fā)送的內(nèi)容是從哪兒來的,所以它的地址欄中還是原來的地址。 redirect就是服務端根據(jù)邏輯,發(fā)送一個狀態(tài)碼,告訴瀏覽器重新去請求那個地址,一般來說瀏覽器會用剛才請求的所有參數(shù)重新請求,并且從瀏覽器的地址欄中可以看到跳轉(zhuǎn)后的鏈接地址。前者更加高效,在前者可以滿足需要時,盡量使用forward()方法,并且,這樣也有助于隱藏實際的鏈接;在有些情況下,比如,需要跳轉(zhuǎn)到一個其它服務器上的資源,則必須使用sendRedirect()方法。

  
看了“java軟件測試面試題及答案”

51054