更新時間:2020-10-28 17:39:50 來源:動力節(jié)點 瀏覽2326次
Java接口,Java語言中存在的結(jié)構(gòu),有特定的語法和結(jié)構(gòu),是Java面試中經(jīng)常出現(xiàn)的考點,本文為大家準(zhǔn)備了7道經(jīng)典Java接口面試題。
1、什么是接口
接口就是內(nèi)部模塊對模塊,外部系統(tǒng)對其他服務(wù)提供的一種可調(diào)用或者連接的能力的標(biāo)準(zhǔn)
接口的種類和分類:webservice和http api接口
1)webservice接口是走soap協(xié)議通過http傳輸,請求報文和返回報文都是xm格式,可以通過jme、soapui工具進(jìn)行測試;
2)http api接口是走h(yuǎn)ttp協(xié)議通過路徑來區(qū)分調(diào)用的方法,請求報文格式都是key-value形式,返回報文一般是json串,常見的請求方式有g(shù)et、post請求等;
2、什么是接口測試,接口測試流程
接口測試是測試系統(tǒng)組件間接口的一種測試。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點。測試的重點是要檢查數(shù)據(jù)的交換,傳遞和控制管理過程,以及系統(tǒng)間的相互邏輯依賴關(guān)系等
需求討論,需求評審,場景設(shè)計,編寫用列,準(zhǔn)備數(shù)據(jù),執(zhí)行測試
a)需求評審,熟悉業(yè)務(wù)和需求
b)開發(fā)提供接口文檔(必須提供接口說明、url、請求方法、請求參數(shù)、參數(shù)類型、請求參數(shù)說明及返回參數(shù)說明)
c)編寫接口測試用例
d)進(jìn)行用例評審
e)提測后開始測試
f)提交測試報告
3、http協(xié)議get和post請求方式區(qū)別
get請求:從指定的服務(wù)器中獲取數(shù)據(jù),直接在瀏覽器里輸入就可以獲取信息
post的請求:提交數(shù)據(jù)給指定的服務(wù)器處理,可以向服務(wù)器發(fā)送修改請求,從而修改服務(wù)器的,需要借助測試工具;
4、做接口測試如何分析是前段還是后端的問題?
如果發(fā)送的數(shù)據(jù)是正確的,但是后臺反饋的數(shù)據(jù)是不符合需求的,那就是后臺的問題;如果前端沒有請求接口,或者請求的時候發(fā)送數(shù)據(jù)與需求不符,那這個時候就是前端的問題了
5、session和cookies區(qū)別?
1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
2、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙
考慮到安全應(yīng)當(dāng)使用session。
3、session會在一定時間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會比較占用你服務(wù)器的性能
考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用COOKIE。
4、單個cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個站點最多保存20個cookie。
6. Java抽象類可以實現(xiàn)接口嗎?它們需要實現(xiàn)所有的方法嗎?
可以,抽象類可以通過使用關(guān)鍵字implements來實現(xiàn)接口。因為它們是抽象的,所以它們不需要實現(xiàn)所有的方法。好的做法是,提供一個抽象基類以及一個接口來聲明類型 。這樣的例子是,java.util.List接口和相應(yīng)的java.util.AbstractList抽象類。因為AbstractList實現(xiàn)了所有的通用方法,具體的實現(xiàn)像LinkedList和ArrayList不受實現(xiàn)所有方法的負(fù)擔(dān),它們可以直接實現(xiàn)List接口。這對兩方面都很好,你可以利用接口聲明類型的優(yōu)點和抽象類的靈活性在一個地方實現(xiàn)共同的行為。
7. Java抽象類和接口有何不同?
這是最重要的經(jīng)典Java面試題之一。我已經(jīng)記不清多少次看到這個問題了。這個問題有趣的原因是可以舉出例子。很容易回答核心OOPS的概念,如抽象,封裝,多態(tài)和繼承,但是,當(dāng)涉及到微妙點就是這樣,候選人往往失手。
相同點:
(1)都不能直接實例化對象
(2)都包含抽象方法,其子類都必須覆寫這些抽象方法
不同點:
(1)抽象類為部分方法提供實現(xiàn),避免子類重復(fù)實現(xiàn)這些方法,提高代碼重用性;接口只能包含抽象方法;
(2)一個類只能繼承一個直接父類(可能是抽象類), 卻可以實現(xiàn)多個接口;(接口彌補了 Java 的單繼承)
(3)接口是這個事物中的額外內(nèi)容,繼承體系是一種 like..a 關(guān)系
(4)抽象類是這個事物中應(yīng)該具備的你內(nèi)容, 繼承體系是一種 is..a 關(guān)系
以上內(nèi)容就是為大家準(zhǔn)備的Java接口面試題,當(dāng)然這只是Java眾多題海中的滄海一粟,想要迎接挑戰(zhàn)的小伙伴可以觀看本站的Java面試題庫,在題海中披荊斬棘,一往無前!
初級 202925
初級 203221
初級 202629
初級 203743