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