更新時(shí)間:2020-02-18 11:09:07 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3973次
項(xiàng)目MySQL的數(shù)據(jù)量和并發(fā)量有多大?
評(píng)注:此題為走向題,你的回答不同,后面問(wèn)題走向就變了。
關(guān)于容量:單表行數(shù)超過(guò)500萬(wàn)行或者單表容量超過(guò)2GB,此時(shí)就要答分庫(kù)分表的中間件了!那后面題目的走向就變?yōu)閙ycat、sharing-jdbc等分庫(kù)分表中間件的底層原理了!
關(guān)于并發(fā)量:如果并發(fā)數(shù)過(guò)1200,此時(shí)就要答利用MQ或者redis等中間件,作為補(bǔ)償措施,而不能直接操作數(shù)據(jù)庫(kù)。那后面的題目走向就是redis、mq的原理了!
介于面試者還是一個(gè)應(yīng)屆生,我斗膽猜測(cè)面試者是這么答的
回答:數(shù)據(jù)量估計(jì)就三四百萬(wàn)吧,并發(fā)量就五六百左右!
你對(duì)數(shù)據(jù)庫(kù)了解多少?
評(píng)注:因?yàn)槟愦鸬臄?shù)據(jù)量和并發(fā)量不大,因此中間件這塊沒(méi)啥好問(wèn)的。因此,題目走向變?yōu)閿?shù)據(jù)庫(kù)底層!另外,此題為引導(dǎo)題,面試官在給你機(jī)會(huì)引向你最擅長(zhǎng)的方面
回答:了解常見(jiàn)數(shù)據(jù)庫(kù)調(diào)優(yōu)方法,索引優(yōu)化等!
你說(shuō)下數(shù)據(jù)庫(kù)的索引實(shí)現(xiàn)和非主鍵的二級(jí)索引
評(píng)注:這個(gè)問(wèn)題是根據(jù)上面,你的回答而問(wèn)出來(lái)的!記得引向自己最擅長(zhǎng)的數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)!默認(rèn)是回答mysql數(shù)據(jù)庫(kù)的
回答:
從數(shù)據(jù)結(jié)構(gòu)角度:
B-Tree索引,數(shù)據(jù)結(jié)構(gòu)就是一顆B+樹(shù)。
Hash索引,Hash索引比較的是進(jìn)行Hash運(yùn)算之后的Hash值,所以它只能用于等值的過(guò)濾,不能用于基于范圍的過(guò)濾?;静挥?!
R-Tree索引,僅支持geometry數(shù)據(jù)類(lèi)型,也基本不用!
至于非主鍵的二級(jí)索引,這個(gè)實(shí)際上問(wèn)的就是非聚簇索引!非聚簇索引本身就是一顆B+樹(shù),其根節(jié)點(diǎn)指向聚簇索引的B+樹(shù)。
項(xiàng)目用的是SpringBoot,你能說(shuō)下SpringBoot與Spring的區(qū)別嗎?
評(píng)注:基礎(chǔ)題,會(huì)springboot的,基本都答的上來(lái)。就算沒(méi)準(zhǔn)備過(guò),當(dāng)場(chǎng)思考下都可以回答的出來(lái)!也是屬于引導(dǎo)題!
回答:
SpringBoot可以建立獨(dú)立的Spring應(yīng)用程序;
內(nèi)嵌了如Tomcat,Jetty和Undertow這樣的容器,也就是說(shuō)可以直接跑起來(lái),用不著再做部署工作了。
無(wú)需再像Spring那樣搞一堆繁瑣的xml文件的配置;
可以自動(dòng)配置Spring;
提供了一些現(xiàn)有的功能,如量度工具,表單數(shù)據(jù)驗(yàn)證以及一些外部配置這樣的一些第三方功能;
提供的POM可以簡(jiǎn)化Maven的配置
SpringBoot的自動(dòng)配置是怎么做的?
評(píng)注:此題也是根據(jù)你的第七問(wèn),進(jìn)一步提問(wèn)而得出。
回答:
先答為什么需要自動(dòng)配置?
顧名思義,自動(dòng)配置的意義是利用這種模式代替了配置XML繁瑣模式。以前使用SpringMVC,需要進(jìn)行配置組件掃描、調(diào)度器、視圖解析器等,使用SpringBoot自動(dòng)配置后,只需要添加MVC組件即可自動(dòng)配置所需要的Bean。所有自動(dòng)配置的實(shí)現(xiàn)都在spring-boot-autoconfigure依賴(lài)中,包括SpringMVC、Data和其它框架的自動(dòng)配置。
接著答spring-boot-autoconfigure依賴(lài)的工作原理?
spring-boot-autoconfigure依賴(lài)的工作原理很簡(jiǎn)單,通過(guò)@EnableAutoConfiguration核心注解初始化,并掃描ClassPath目錄中自動(dòng)配置類(lèi)對(duì)應(yīng)依賴(lài)。比如工程中有木有添加Thymeleaf的Starter組件依賴(lài)。如果有,就按按一定規(guī)則獲取默認(rèn)配置并自動(dòng)初始化所需要的Bean。
其實(shí)還能再繼續(xù)答@EnableAutoConfiguration注解的工作原理!不過(guò)篇幅太長(zhǎng),答到上面那個(gè)地步就夠了!
MyBatis定義的接口,怎么找到實(shí)現(xiàn)的?
評(píng)注:mybatis底層原理題,考察有沒(méi)有看過(guò)mybatis的原理。博主剛好曾經(jīng)自己寫(xiě)過(guò)一個(gè)mybatis,所以此題恰巧答的上來(lái)。
博主內(nèi)心活動(dòng):"現(xiàn)在校招的都這么牛逼了么!"
回答:一共五步
1.Mapper接口在初始SqlSessionFactory注冊(cè)的。
2.Mapper接口注冊(cè)在了名為MapperRegistry類(lèi)的HashMap中,key=Mapperclassvalue=創(chuàng)建當(dāng)前Mapper的工廠(chǎng)。
3.Mapper注冊(cè)之后,可以從SqlSession中g(shù)et
4.SqlSession.getMapper運(yùn)用了JDK動(dòng)態(tài)代理,產(chǎn)生了目標(biāo)Mapper接口的代理對(duì)象。
5.動(dòng)態(tài)代理的代理類(lèi)是MapperProxy,這里邊最終完成了增刪改查方法的調(diào)用。
Java內(nèi)存結(jié)構(gòu)
評(píng)注:基礎(chǔ)題,這個(gè)應(yīng)該學(xué)JAVA的都會(huì)吧!送分題!如果博主沒(méi)理解錯(cuò)應(yīng)該是在問(wèn)JVM的內(nèi)存結(jié)構(gòu)!
回答:JVM內(nèi)存結(jié)構(gòu)主要有三大塊:堆內(nèi)存、方法區(qū)和棧。堆內(nèi)存是JVM中最大的一塊由年輕代和老年代組成,而年輕代內(nèi)存又被分成三部分,Eden空間、FromSurvivor空間、ToSurvivor空間,默認(rèn)情況下年輕代按照8:1:1的比例來(lái)分配;
方法區(qū)存儲(chǔ)類(lèi)信息、常量、靜態(tài)變量等數(shù)據(jù),是線(xiàn)程共享的區(qū)域,為與Java堆區(qū)分,方法區(qū)還有一個(gè)別名Non-Heap(非堆);棧又分為java虛擬機(jī)棧和本地方法棧主要用于方法的執(zhí)行。
MinorGC和FullGC
評(píng)注:基礎(chǔ)題,會(huì)JVM調(diào)優(yōu)的,基本都會(huì)!我只是奇怪,怎么沒(méi)問(wèn)MajorGC呢?我們還是把MajorGC也給答了吧!
回答:
堆內(nèi)存是JVM中最大的一塊由年輕代和老年代組成。
那么,從年輕代空間(包括Eden和Survivor區(qū)域)回收內(nèi)存被稱(chēng)為MinorGC。
MajorGC是清理老年代。
FullGC是清理整個(gè)堆空間—包括年輕代和老年代。
12、垃圾回收算法
評(píng)注:基礎(chǔ)題,博主斗膽猜測(cè),應(yīng)該是在問(wèn)垃圾回收算法有哪些。面試官應(yīng)該沒(méi)有耐心去聽(tīng)你一個(gè)個(gè)去背算法概念!
回答:
標(biāo)記-清除算法、標(biāo)記整理算法、復(fù)制算法、分代收集算法

以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“最新阿里高級(jí)java面試題解析”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)推薦
相關(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)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)