1.看過Spring的源碼嗎,開局暴擊。java
2.Class.forName()和ClassLoader.loaderClass()有什麼區別,開局暴擊*2.。程序員
3.ConcurrentHashMap的原理,爲何是線程安全的,讓你設計怎麼實現讀寫安全面試
4.Mysql中有哪些索引,你能想到哪些做爲索引的數據結構,HashMap,B+樹,前綴樹,面試官提示跳錶redis
5.Spring事務傳播機制的應用算法
6.線程安全的單例模式,寫完DCL寫靜態內部類的時候寫錯了,汗sql
7.正向代理和反向代理設計模式
8.http是有狀態的嗎,tcp呢,爲何http是無狀態的安全
9.RPC和微服務框架了解嗎網絡
總結:一面面了一個多小時吧,不少常見的面試問題就沒列了,列的是之前沒碰到過問題,感受面試官很重視思惟能力和總結能力,即對於一個設計中的原理很深入而且能用於其餘地方。數據結構
1.先聊了聊項目
2.JVM
3.OOM問題和StackOverflow有什麼區別
4.好像問了些網絡方面的知識
5.思考題,64匹馬,8個賽道,最少比多少場能夠找出最快的4匹馬?首先說15,後來想到了13,最後在網上搜的答案是11,挺有意思的一道題
代碼題,也不難
總結:二面面試官項目方面聊的多一些,而後就是思考題和算法題,也差很少一個小時吧,當時從6點直接面到8點多,飯都沒吃,突出一個慘
基本問的就是java基礎,多線程,jvm,redis這些,大概一個小時左右吧
1.聊聊sychronized關鍵字,用法,底層實現,偏向鎖,輕量級鎖,自旋鎖
2.聊聊偏向鎖,輕量級鎖的原理和過程
3.除了sychronized,還有啥,聊聊ReentrantLock,底層一個繼承了AQS的實現類
4.聊聊AQS,volatile修飾的state,加鎖過程,公平鎖和非公平鎖的實現
5.TCP和UDP的區別
6.三次握手和四次揮手的過程,爲何這樣
7.聊聊ThreadLocal,爲何要用threadLocal,ThreadLocalMap中,key和value分別哪一個是強引用,哪一個是弱引用,我迷之堅持value是強引用。。。
8.線程的狀態以及狀態變化過程
9.CMS和G1的區別
10.聊聊Spring中的動態代理,實現了接口的用JDK動態代理,未實現接口的經過CGlib動態代理,動態代理和靜態代理的區別
11.經常使用設計模式,策略模式的原理和應用
以後的話就是聊項目,作了哪些,遇到了哪些問題
代碼題:兩個鏈表表明的大數進行相加,我用兩個棧分別保存鏈表,而後出棧的時候用頭插法生成新鏈表,感受時間複雜度沒有最優,可是也過了
面試官介紹部門和業務的時候很熱情也很詳細,而後說等HR通知~
總的來說,比起字節跳動,美團的面試稍微簡單一丟丟,由於不會問的太底層,太發散,而後兩家公司的面試官都很贊,頗有耐心也很熱情!
全部的面試題目都不是一成不變的,特別是像這種大廠,上面的面試真題只是給你們一個借鑑做用,最主要的仍是給本身增長知識的儲備,有備無患!
關注公衆號:程序員追風,領取整理的這些Java面試題資料!
最後針對於上面的面試問到的知識點總結出互聯網公司Java程序員面試涉及到的絕大部分面試題作成了文檔分享給你們,但願能幫助到您面試前的複習且找到一個好的工做,也節省你們在網上搜索資料的時間來學習。