大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 資深Java面試題目及答案

資深Java面試題目及答案

更新時間:2020-02-18 10:49:06 來源:動力節(jié)點(diǎn) 瀏覽4062次


資深Java面試題目及答案


  有哪些集合實現(xiàn),對應(yīng)的線程安全集合?


  主要考察集合框架的兩大類:集合(collection)和圖(map),集合下面主要了解list和set,如ArrayList、LinkedList、HashSet、TreeSet;map下主要了解HashMap、TreeMap。


  劃重點(diǎn)(加分項):


  ①線程安全集合選兩個代表性的:ConcurrentHashMap和CopyOnWriteArrayList,了解它們是如何做到線程安全的。


  hashmap底層結(jié)構(gòu),為什么使用鏈表?(hashmap是面試必考題)


  HashMap的底層結(jié)構(gòu)(數(shù)組)實現(xiàn),一定要了解透徹,如put()、get()兩塊源碼花點(diǎn)心思;


  hash碰撞后產(chǎn)生的鏈表、紅黑樹順帶了解,有能力的最好看下源碼實現(xiàn)(加分項)。


  線程池常用參數(shù)、如何設(shè)置?


  核心線程數(shù)、最大線程數(shù)、阻塞隊列容量、線程空閑時間及單位、拒絕策略,每個的具體含義一定要了解。


  劃重點(diǎn):


  當(dāng)線程數(shù)小于核心線程數(shù)時,創(chuàng)建線程。


  當(dāng)線程數(shù)大于等于核心線程數(shù),且任務(wù)隊列未滿時,將任務(wù)放入任務(wù)隊列。


  當(dāng)線程數(shù)大于等于核心線程數(shù),且任務(wù)隊列已滿:


  若線程數(shù)小于最大線程數(shù),創(chuàng)建線程若線程數(shù)等于最大線程數(shù),看拒絕策略


  如何設(shè)置具體參數(shù)值(個人經(jīng)驗及看法,供參考):


  核心線程數(shù)=每秒需要處理的最大任務(wù)數(shù)量*處理一個任務(wù)需要的時間,業(yè)界有常用的8020原則、6040原則,實際還是要根據(jù)自己應(yīng)用的承載能力來看,假設(shè)系統(tǒng)每秒任務(wù)數(shù)為10~100,每個任務(wù)耗時0.1秒,則需要10*0.1~100*0.1,即1~10個線程。那么corePoolSize應(yīng)該設(shè)置為大于1,若根據(jù)8020原則,即80%情況下系統(tǒng)每秒任務(wù)數(shù)不超過20,則corePoolSize=0.1*20=2。


  阻塞隊列容量=核心線程數(shù)/處理一個任務(wù)需要的時間*系統(tǒng)允許任務(wù)最大的響應(yīng)時間


  最大線程數(shù)=(每秒需要處理的最大任務(wù)數(shù)量-隊列容量)*每秒的線程處理任務(wù)能力,假設(shè)每秒200個任務(wù)需要20個線程,那么當(dāng)每秒達(dá)到1000個任務(wù)時,則需要(1000-隊列容量)*(20/200),即60個線程。


  阻塞隊列的實現(xiàn)原理?


  lock鎖的多條件(condition)阻塞控制,基礎(chǔ)薄弱的需要提前了解一下同步鎖synchronized、lock及Condition類,這一塊考驗高級和中級研發(fā)人員的界限,需要挖一下源碼,多用心。


  加分項:另外輻射出來可能會順帶直接問你AQS,建議仔細(xì)了解其實現(xiàn)原理,如其內(nèi)部如何利用雙向鏈表的,重點(diǎn)看acquire()方法實現(xiàn)。


  內(nèi)存模型(必考題)


  無論你關(guān)注jdk1.8之前還是之后,不重要,關(guān)鍵是能正常理解每一塊的作用、是否線程共享/私有。


  堆、虛擬機(jī)棧、本地方法棧、程序計數(shù)器、方法區(qū),需要了解每一部分的作用。


  劃重點(diǎn):


  虛擬機(jī)棧包含哪些部分、程序計數(shù)器的作用這兩塊著重了解。


  GC發(fā)生在哪一塊,GC算法?


  發(fā)生在堆內(nèi)存,GC算法主要了解:標(biāo)記清除、復(fù)制、標(biāo)記整理,需要知道其執(zhí)行步驟及各自的區(qū)別。


  劃重點(diǎn):


  年輕代劃分成哪幾部分(E、S0、S1),使用哪種算法(復(fù)制),老年代使用哪種算法(標(biāo)記清除),為什么?這里需要耐心理解透徹,很容易輻射到此類問題。


  事務(wù)隔離級別,默認(rèn)哪一個,解釋幻讀、不可重復(fù)讀及二者區(qū)別?


  隔離級別:讀未提交、讀提交、不可重復(fù)讀、串行化,默認(rèn)是不可重復(fù)讀,具體幻讀問題,請參考筆者此前文章幻讀、不可重復(fù)讀,其中進(jìn)行了詳細(xì)說明。


  索引失效場景、索引數(shù)據(jù)結(jié)構(gòu)?


  主要分為非組合索引和組合索引:


  1、非組合索引主要注意or、like(若like非左模糊情形,如xxx%,則可以使用索引),索引列存在表達(dá)式、聚合函數(shù)等等;


  2、組合索引主要注意是否遵循最左原則。


  還有些其它小點(diǎn)靠大家自己去積累,筆者這會是蒙圈狀態(tài),沒反應(yīng)過來。


  索引數(shù)據(jù)結(jié)構(gòu):主要關(guān)注B+樹,花心思了解透,且需要了解聚簇索引和非聚簇索引。


  加分項:InnoDB與MyisAM索引方面的區(qū)別。


  數(shù)據(jù)庫引擎


  主要可以說說InnoDB、MyISAM這兩個常用的即可,需要了解二者的區(qū)別,InnoDB支持事務(wù),二者使用場景,二者之間如何轉(zhuǎn)變。


  mysql分表中間件、如何監(jiān)聽binlog


  中間件:tddl,MyCat(其實考驗?zāi)愕闹R儲備廣度,一般不要求細(xì)說中間件的實現(xiàn))。


  監(jiān)聽時可以使用duckula中間件或者binlog監(jiān)聽獨(dú)立jar包(common-binlog-alone)。


  筆者認(rèn)為高級或資深人員必須要了解的知識儲備:InnoDB的MVCC機(jī)制


  mysql自身的并發(fā)控制如何實現(xiàn)的,原理主要從其新增、更新、刪除三方面去了解其內(nèi)部的操作過程,其版本號如何控制等等。


資深Java面試題目及答案


  以上就是動力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“資深Java面試題目及答案”的內(nèi)容,希望對大家有幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。


相關(guān)推薦


最新最全java面試題及答案(初級到高級)


史上最全的中高級JAVA工程師面試題及答案匯總


Java高級開發(fā)工程師面試題


2019史上最全java面試題題庫大全800題


哪有資深java工程師面試題


提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 伊人精品在线视频 | 久久久久国产精品 | 91香蕉嫩草| 美日韩视频 | 高清中文字幕视频在线播 | 久久这里只有精品99 | 欧美激情视频二区三区 | 波多野吉衣一区二区三区四区 | 337p欧美超大胆日本人术艺术 | 一级特级欧美aaaaa毛片 | 99精品一区二区三区 | 欧美 日韩 高清 | 91久久精品都在这里 | 免费一级毛片在线观看 | 日韩久久一区二区三区 | 99精品在线观看 | 女性牲交一级毛片 | 久久五月天婷婷 | 天天综合天天添夜夜添狠狠添 | 十大黄色免费网站 | 精品玖玖玖视频在线观看 | 在线观看国产精品入口 | 福利视频91 | 91成人午夜精品福利院在线观看 | 成人夜色视频网站在线观看 | 99成人精品 | 中文字幕在线观看亚洲日韩 | 国产精品二 | 久久精品这里是免费国产 | 天天干天天草天天 | 亚洲成精品动漫久久精久 | 草久久免费视频 | 日本不卡在线观看 | 国内精品伊人久久久影院 | 日韩精品国产自在欧美 | 久久精品国产一区二区三区 | 欧美日韩不卡中文字幕在线 | 九九夜夜 | 毛片激情永久免费 | 精品国产呦系列在线看 | 老太做爰xxxx视频 |