黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

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

資深Java面試題目及答案

更新時間:2020-02-18 10:49:06 來源:動力節點 瀏覽4085次


資深Java面試題目及答案


  有哪些集合實現,對應的線程安全集合?


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


  劃重點(加分項):


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


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


  HashMap的底層結構(數組)實現,一定要了解透徹,如put()、get()兩塊源碼花點心思;


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


  線程池常用參數、如何設置?


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


  劃重點:


  當線程數小于核心線程數時,創建線程。


  當線程數大于等于核心線程數,且任務隊列未滿時,將任務放入任務隊列。


  當線程數大于等于核心線程數,且任務隊列已滿:


  若線程數小于最大線程數,創建線程若線程數等于最大線程數,看拒絕策略


  如何設置具體參數值(個人經驗及看法,供參考):


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


  阻塞隊列容量=核心線程數/處理一個任務需要的時間*系統允許任務最大的響應時間


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


  阻塞隊列的實現原理?


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


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


  內存模型(必考題)


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


  堆、虛擬機棧、本地方法棧、程序計數器、方法區,需要了解每一部分的作用。


  劃重點:


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


  GC發生在哪一塊,GC算法?


  發生在堆內存,GC算法主要了解:標記清除、復制、標記整理,需要知道其執行步驟及各自的區別。


  劃重點:


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


  事務隔離級別,默認哪一個,解釋幻讀、不可重復讀及二者區別?


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


  索引失效場景、索引數據結構?


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


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


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


  還有些其它小點靠大家自己去積累,筆者這會是蒙圈狀態,沒反應過來。


  索引數據結構:主要關注B+樹,花心思了解透,且需要了解聚簇索引和非聚簇索引。


  加分項:InnoDB與MyisAM索引方面的區別。


  數據庫引擎


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


  mysql分表中間件、如何監聽binlog


  中間件:tddl,MyCat(其實考驗你的知識儲備廣度,一般不要求細說中間件的實現)。


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


  筆者認為高級或資深人員必須要了解的知識儲備:InnoDB的MVCC機制


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


資深Java面試題目及答案


  以上就是動力節點Java培訓機構小編介紹的“資深Java面試題目及答案”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。


相關推薦


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


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


Java高級開發工程師面試題


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


哪有資深java工程師面試題


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 夜夜艹天天干 | a级午夜毛片免费一区二区 a级午夜理论免费毛片 | 国产激情久久久久影 | 深爱激情五月婷婷 | 午夜宅男影院 | 日日干天天射 | 一级毛片在线直接观看 | 免费观看18视频网站 | 国产不卡一区二区视频免费 | 污黄视频在线观看 | 欧美综合区自拍亚洲综合 | 欧美爽爽爽爽爽爽视频 | 日韩成人免费 | 色综合天天综久久久噜噜噜久久〔 | 免费看的黄色录像 | 2018天天操天天干 | 一本大道香蕉大69 | 全黄性高视频 | 一级女性黄 色生活片 | 日日干狠狠 | 91最新免费地址入口 | 欧美 国产 日韩 第一页 | 欧美一级高清免费播放 | 亚洲欧美日韩天堂在线观看 | 特级深夜a级毛片免费观看 特级中国aaa毛片 | va视频| 男人的天堂免费视频 | 韩国免费网站成人 | 一区二区三区四区在线观看视频 | 日本一道本视频 | 日韩中文字幕在线观看 | 亚洲精品第五页 | 视频二区在线 | 69日本人xxxx16-18 | 狠狠大日本亚洲香蕉亚洲 | 一级高清毛片免费a级高清毛片 | 最近2019中文字幕高清字幕 | 97色噜噜刺激有声小说 | 欧美a欧美1级 | 欧美成人亚洲高清在线观看 | 美女视频永久黄网站在线观看 |