更新時(shí)間:2019-10-31 09:59:04 來源:動(dòng)力節(jié)點(diǎn) 瀏覽3100次
一、SpringMVC和Springboot有啥區(qū)別
1.SpringMVC和SpringBoot都是Spring的一部分,且兩者都是由IOC提供了依賴注入的容器,由AOP解決面相切面編程(IOC和AOP后續(xù)會(huì)講到),然后在此二者基礎(chǔ)上衍生的高級(jí)功能。SpringMVC的配置比Springboot的配置要復(fù)雜得多,各種xml和properties配置文件,處理起來比較繁瑣;Springboot他遵循約定優(yōu)于配置,啥意思呢,就是全都是用默認(rèn)的配置,這樣極大地降低了Sring使用的門檻。
2.Springboot的涉及面比SpringMVC要廣,Springboot不僅可以集成SpringMVC,還可以集成JPASecurity等,如下圖所示:

3.SpringMVC和Sringboot都屬于Spring,SpringMVC是基于Spring的一個(gè)MVC框架,Springboot是基于Spring的一套快速開發(fā)整合包。
總結(jié):Spring最初利用“工廠模式”(DI)和“代理模式”(AOP)解耦應(yīng)用組件。大家覺得挺好用,于是按照這種模式搞了一個(gè)MVC框架(一些用Spring解耦的組件),用開發(fā)web應(yīng)用(SpringMVC)。然后有發(fā)現(xiàn)每次開發(fā)都要搞很多依賴,寫很多樣板代碼很麻煩,于是搞了一些懶人整合包(starter),這套就是SpringBoot。
二、session和cookie的區(qū)別
1.session是存在服務(wù)器端的,cookie是存在瀏覽器端。
2.cookie相對(duì)于session是不安全的。因?yàn)閏ookie是存在瀏覽器端,別人可以通過分析本地的cookie進(jìn)行cookie欺騙,如果考慮安全問題,應(yīng)該使用session。
3.session會(huì)在一定時(shí)間內(nèi)存儲(chǔ)在服務(wù)器上。如果用戶量較大,會(huì)影響服務(wù)器性能,考慮到服務(wù)器性能因素,可以使用cookie。
4.一般單個(gè)cookie不能超過4k。很多瀏覽器設(shè)置最多保存20個(gè)cookie,而session是無限量的。
三、在HashMap中是如何比較“key”的值的
在HashMap比較兩個(gè)key值時(shí),首先使用equals進(jìn)行比較兩個(gè)key的值,如果不同則認(rèn)為是兩個(gè)不同的key;如果相同,再比較兩個(gè)key的hashcode,如果不同,則認(rèn)為是兩個(gè)不同的key;如果相同則認(rèn)為是兩個(gè)相同的key,此時(shí)的value2會(huì)覆蓋value1的值。
四、如果main方法被聲明為private會(huì)怎樣?
我們想一下,如果如果類中沒有main方法,會(huì)怎么樣?當(dāng)然是沒啥問題!
如果將修飾符改為private,其實(shí)也沒啥問題。
如果將修飾符改為private,就相當(dāng)于我們自己定義了一個(gè)方法,名字叫main,當(dāng)我們運(yùn)行這個(gè)類的時(shí)候,會(huì)提示我們“找不到main方法,請(qǐng)將main方法定義為publicstaticvoidmain(String[]args)”,因?yàn)檫@里只有我們自定義的一個(gè)privatemain方法,而沒有系統(tǒng)默認(rèn)的publicmain方法。
如果這時(shí)我們?cè)賹懸粋€(gè)publicstaticvoidmain(String[]args),這時(shí)候也會(huì)報(bào)錯(cuò),因?yàn)橐呀?jīng)存在了一個(gè)privatestaticvoidmain(String[]args),同一個(gè)類中不能存在方法名和參數(shù)相同的兩個(gè)方法,因?yàn)橹剌d的定義為“方法名相同,參數(shù)不同的兩個(gè)方法叫重載”,所以和修飾符無關(guān)。
五、char類型的變量能不能存儲(chǔ)一個(gè)中文?為什么
答案是可以的,但是兩個(gè)中文不行。因?yàn)閏har占兩個(gè)字節(jié),一個(gè)中文也占兩個(gè)字節(jié),所以是可以存儲(chǔ)的。
六、a=a+b和a+=b的區(qū)別
a=a+b是先進(jìn)行“+”運(yùn)算,然后進(jìn)行賦值運(yùn)算,如果當(dāng)a(short)與b(int)的類型不同時(shí),會(huì)報(bào)錯(cuò),若進(jìn)行強(qiáng)轉(zhuǎn),可能會(huì)導(dǎo)致精度丟失。
a+=b中,“+=”是一個(gè)運(yùn)算符,而不是兩個(gè),所以在運(yùn)算時(shí)會(huì)進(jìn)行自動(dòng)類型轉(zhuǎn)換。
總結(jié)一下,在兩個(gè)變量的數(shù)據(jù)類型一樣時(shí):a+=b和a=a+b是沒有區(qū)別的。
但是當(dāng)兩個(gè)變量的數(shù)據(jù)類型不同時(shí),就需要考慮一下數(shù)據(jù)類型自動(dòng)轉(zhuǎn)換的問題了。
也就是涉及到精度了。
面試總結(jié):項(xiàng)目中盡量多思考,迎難而上,如碰到復(fù)雜的性能,內(nèi)存泄露等問題的問題,往往是提升自己的機(jī)會(huì),千萬要仔細(xì)研究解決,可以參考其他解決類似問題的文章和實(shí)踐經(jīng)驗(yàn),對(duì)技術(shù)深度的提升是很大的,關(guān)鍵時(shí)候可以讓你的面試官突然覺得面耳目一新。
很多技術(shù)人員的項(xiàng)目和技術(shù)相對(duì)單一,長(zhǎng)久以往,容易造成技術(shù)思路和視野的狹窄,接觸不到行業(yè)最新思路和動(dòng)態(tài)或者當(dāng)前疑難問題的最佳解決方案。
以上就是動(dòng)力節(jié)點(diǎn)java學(xué)院小編分享的“2019年最新Java網(wǎng)絡(luò)工程師面試總結(jié)”的內(nèi)容,希望能夠幫助到大家,更多java最新面試題請(qǐng)繼續(xù)關(guān)注動(dòng)力節(jié)點(diǎn)java學(xué)院官網(wǎng),每天會(huì)有精彩內(nèi)容分享與你。
相關(guān)面試題推薦
最新最全java面試題及答案(從初級(jí)到高級(jí))
10道中高級(jí)Java面試題詳解,弄懂offer拿到手軟
相關(guān)閱讀
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)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)