java測(cè)試面試題
Java測(cè)試員在面試中,我們應(yīng)該學(xué)會(huì)提前做好準(zhǔn)備,了解面試題很重要。下面小編已經(jīng)為你們整理了java測(cè)試面試題,希望可以幫到你。
java測(cè)試面試題(一)
1. 運(yùn)行時(shí)異常與一般異常有何異同?
解答:異常表示程序運(yùn)行過(guò)程中可能出現(xiàn)的非正常狀態(tài),運(yùn)行時(shí)異常表示虛擬機(jī)的通常操作中可能遇到的異常,是一種常見(jiàn)運(yùn)行錯(cuò)誤。java編譯器要求方法必須聲明拋出可能發(fā)生的非運(yùn)行時(shí)異常,但是并不要求必須聲明拋出未被捕獲的運(yùn)行時(shí)異常。
2. Hibernate中:不看數(shù)據(jù)庫(kù),不看XML文件,不看查詢語(yǔ)句,怎么樣能知道表結(jié)構(gòu)?
解答:可以看與XML文件對(duì)應(yīng)的域模型。
3.存儲(chǔ)過(guò)程和函數(shù)的區(qū)別
解答:
從參數(shù)的返回情況來(lái)看:
如果返回多個(gè)參數(shù)值最好使用存儲(chǔ)過(guò)程,如果只有一個(gè)返回值的話可以使用函數(shù)。
從調(diào)用情況來(lái)看:
如果在SQL語(yǔ)句(DML或SELECT)中調(diào)用的話一定是存儲(chǔ)函數(shù)或存儲(chǔ)的封裝函數(shù)不可以是存儲(chǔ)過(guò)程,但調(diào)用存儲(chǔ)函數(shù)的時(shí)候還有好多限制以及函數(shù)的純度等級(jí)的問(wèn)題,如果是在過(guò)程化語(yǔ)句中調(diào)用的話,就要看你要實(shí)現(xiàn)什么樣的功能。函數(shù)一般情況下是用來(lái)計(jì)算并返回一個(gè)計(jì)算結(jié)果而存儲(chǔ)過(guò)程一般是用來(lái)完成特定的數(shù)據(jù)操作(比如修改、插入數(shù)據(jù)庫(kù)表或執(zhí)行某些DDL語(yǔ)句等等),所以雖然他們的語(yǔ)法上很相似但用戶在使用他們的時(shí)候所需要完成的功能大部分情況下是不同的。
4.試述數(shù)據(jù)庫(kù)完整保護(hù)的主要任務(wù)和措施。
解答:數(shù)據(jù)庫(kù)的完整性保護(hù)也就是數(shù)據(jù)庫(kù)中數(shù)據(jù)正確性的維護(hù)。數(shù)據(jù)庫(kù)完整性包括三個(gè)內(nèi)容:實(shí)體完整性規(guī)則,參照物完整性規(guī)則以及用戶定義完整性規(guī)則。 前兩個(gè)是有DBMS自動(dòng)處理。
實(shí)體完整性規(guī)則是說(shuō)針對(duì)于基表中的關(guān)鍵字中屬性值不能為空值,是數(shù)據(jù)庫(kù)完整性的基本要求,主關(guān)鍵字和元組的唯一性對(duì)應(yīng)。
參照物完整性規(guī)則是不允許引用不存在的元組:即基表中的外關(guān)鍵字要么為空,要么關(guān)聯(lián)基表中必存在元組。
用戶定義完整性規(guī)則針對(duì)具體的數(shù)據(jù)環(huán)境由用戶具體設(shè)置的規(guī)則,它反應(yīng)了具體應(yīng)用中的語(yǔ)義要求。 一個(gè)完整性規(guī)則一般由下面三部分組成:完整性約束條件設(shè)置,完整性約束條件的檢查以及完整性約束條件的處理.后兩部分在數(shù)據(jù)庫(kù)中一般有相應(yīng)的模塊處理。另外觸發(fā)器也可以做完整性的保護(hù),但觸發(fā)器大量用于主動(dòng)性領(lǐng)域。
java測(cè)試面試題(二)
1.請(qǐng)說(shuō)明SQLServer中delete from tablea & truncate table tablea的區(qū)別
解答:兩者都可以用來(lái)刪除表中所有的記錄。區(qū)別在于:truncate是DDL操作,它移動(dòng)HWK,使HWK值為0,不需要 rollback segment .而Delete是DML操作需要rollback segment 且花費(fèi)較長(zhǎng)時(shí)間.
2. Oracle安裝完成后,如何用命令行啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)?
解答:
打開(kāi):STARTUP [FORCE] [RESTRICT] [PFILE= filename] [OPEN [RECOVER][ database] | MOUNT | NOMOUNT] STARTUP OPEN:STARTUP缺省的參數(shù)就是OPEN,打開(kāi)數(shù)據(jù)庫(kù),允許數(shù)據(jù)庫(kù)的訪問(wèn)。當(dāng)前實(shí)例的控制文件中所描述的所有文件都已經(jīng)打開(kāi)。 STARTUP MOUNT:MOUNT數(shù)據(jù)庫(kù),僅僅給DBA進(jìn)行管理操作,不允許數(shù)據(jù)庫(kù)的用戶訪問(wèn)。僅僅只是當(dāng)前實(shí)例的控制文件被打開(kāi),數(shù)據(jù)文件未打開(kāi)。 STARTUP NOMOUNT:僅僅通過(guò)初始化文件,分配出SGA區(qū),啟動(dòng)數(shù)據(jù)庫(kù)后臺(tái)進(jìn)程,沒(méi)有打開(kāi)控制文件和數(shù)據(jù)文件。不能訪問(wèn)任何數(shù)據(jù)庫(kù)。 STARTUP PFILE= filename:以filename為初始化文件啟動(dòng)數(shù)據(jù)庫(kù),不是采用缺省初始化文件。 STARTUP FORCE:中止當(dāng)前數(shù)據(jù)庫(kù)的運(yùn)行,并開(kāi)始重新正常的啟動(dòng)數(shù)據(jù)庫(kù)。 STARTUP RESTRICT:只允許具有RESTRICTED SESSION權(quán)限的用戶訪問(wèn)數(shù)據(jù)庫(kù)。 STARTUP RECOVER:數(shù)據(jù)庫(kù)啟動(dòng),并開(kāi)始介質(zhì)恢復(fù)
關(guān)閉
SHUTDOWN有四個(gè)參數(shù):NORMAL、TRANSACTIONAL、IMMEDIATE、ABORT。缺省不帶任何參數(shù)時(shí)表示是NORMAL。
命令SHUTDOWN NORMAL:不允許新的連接、等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。 SHUTDOWN TRANSACTIONAL:不允許新的連接、不等待會(huì)話結(jié)束、等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。 SHUTDOWN IMMEDIATE:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、做一個(gè)檢查點(diǎn)并關(guān)閉數(shù)據(jù)文件。沒(méi)有結(jié)束的事務(wù)是自動(dòng)rollback的。啟動(dòng)時(shí)不需要實(shí)例恢復(fù)。 SHUTDOWN ABORT:不允許新的連接、不等待會(huì)話結(jié)束、不等待事務(wù)結(jié)束、不做檢查點(diǎn)且沒(méi)有關(guān)閉數(shù)據(jù)文件。啟動(dòng)時(shí)自動(dòng)進(jìn)行實(shí)例恢復(fù)。 另外,對(duì)于NORMAL、TRANSACTIONAL、IMMEDIATE,DB Buffer Cache的內(nèi)容寫入了數(shù)據(jù)文件,沒(méi)有提交的事務(wù)被回滾,所有的資源被釋放,數(shù)據(jù)庫(kù)被“干凈”的關(guān)閉。 對(duì)于ABORT,DB Buffer Cache的內(nèi)容沒(méi)有寫入數(shù)據(jù)文件,沒(méi)有提交的事務(wù)也沒(méi)有回滾。數(shù)據(jù)庫(kù)沒(méi)有dismount和關(guān)閉,數(shù)據(jù)文件也沒(méi)有關(guān)閉。當(dāng)數(shù)據(jù)庫(kù)啟動(dòng)時(shí),需要通過(guò)redo log恢復(fù)數(shù)據(jù),通過(guò)回滾
段對(duì)事務(wù)回滾,對(duì)資源進(jìn)行釋放。
java測(cè)試面試題(三)
1. J2EE是什么?它包括哪些技術(shù)?
解答:從整體上講,J2EE是使用Java技術(shù)開(kāi)發(fā)企業(yè)級(jí)應(yīng)用的工業(yè)標(biāo)準(zhǔn),它是Java技術(shù)不斷適應(yīng)和促進(jìn)企業(yè)級(jí)應(yīng)用過(guò)程中的產(chǎn)物。適用于企業(yè)級(jí)應(yīng)用的J2EE,提供一個(gè)平臺(tái)獨(dú)立的、可移植的、多用戶的、安全的和基于標(biāo)準(zhǔn)的企業(yè)級(jí)平臺(tái),從而簡(jiǎn)化企業(yè)應(yīng)用的開(kāi)發(fā)、管理和部署。J2EE是一個(gè)標(biāo)準(zhǔn),而不是一個(gè)現(xiàn)成的產(chǎn)品。
主要包括以下這些技術(shù):
1) Servlet Servlet是Java平臺(tái)上的CGI技術(shù)。Servlet在服務(wù)器端運(yùn)行,動(dòng)態(tài)地生成Web頁(yè)面。與傳統(tǒng)的CGI和許多其它類似CGI的技術(shù)相比,Java Servlet具有更高的效率并更容易使用。對(duì)于Servlet,重復(fù)的請(qǐng)求不會(huì)導(dǎo)致同一程序的多次轉(zhuǎn)載,它是依靠線程的方式來(lái)支持并發(fā)訪問(wèn)的。 2)JSP JSP(Java Server Page)是一種實(shí)現(xiàn)普通靜態(tài)HTML和動(dòng)態(tài)頁(yè)面輸出混合編碼的技術(shù)。從這一點(diǎn)來(lái)看,非常類似Microsoft ASP、PHP等技術(shù)。借助形式上的內(nèi)容和外觀表現(xiàn)的分離,Web頁(yè)面制作的任務(wù)可以比較方便地劃分給頁(yè)面設(shè)計(jì)人員和程序員,并方便地通過(guò)JSP來(lái)合成。在運(yùn)行時(shí)態(tài),JSP將會(huì)被首先轉(zhuǎn)換成Servlet,并以Servlet的形態(tài)編譯運(yùn)行,因此它的效率和功能與Servlet相比沒(méi)有差別,一樣具有很高的效率。 3) EJB EJB定義了一組可重用的組件:Enterprise Beans。開(kāi)發(fā)人員可以利用這些組件,像搭積木一樣建立分布式應(yīng)用。 4)JDBC
JDBC(Java Database Connectivity,Java數(shù)據(jù)庫(kù)連接)API是一個(gè)標(biāo)準(zhǔn)SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)數(shù)據(jù)庫(kù)訪問(wèn)接口,它使數(shù)據(jù)庫(kù)開(kāi)發(fā)人員能夠用標(biāo)準(zhǔn)Java API編寫數(shù)據(jù)庫(kù)應(yīng)用程序。JDBC API主要用來(lái)連接數(shù)據(jù)庫(kù)和直接調(diào)用SQL命令執(zhí)行各種SQL語(yǔ)句。利用JDBC API可以執(zhí)行一般的SQL語(yǔ)句、動(dòng)態(tài)SQL語(yǔ)句及帶IN和OUT參數(shù)的存儲(chǔ)過(guò)程。Java中的JDBC相當(dāng)于Microsoft平臺(tái)中的ODBC(Open Database Connectivity)。
2.測(cè)試生命周期、測(cè)試過(guò)程分為幾個(gè)階段,以及各階段的含義?
解答:軟件測(cè)試生命周期一般包括6個(gè)階段:1)計(jì)劃 2)分析,3)設(shè)計(jì),4)構(gòu)建,5)測(cè)試周期,6)最后測(cè)試和實(shí)施,
1) 計(jì)劃:產(chǎn)品定義階段
2). 分析:外部文檔階段
3). 設(shè)計(jì):文檔架構(gòu)階段
4). 構(gòu)建:單元測(cè)試階段
5). 測(cè)試周期:錯(cuò)誤修正,重復(fù)系統(tǒng)測(cè)試階段
6). 最后的測(cè)試和實(shí)施:代碼凍結(jié)階段
看了“java測(cè)試面試題”