最近面試了阿里、京東、美團等大型互聯網公司,最終收到了美團offer。面試前心裏很忐忑,在網上也蒐集了不少面試題目, 但有些不是好久之前的,就是題目雜亂,概括不繫統。mysql
此次面試事後,我把面試過的公司的面試題作了一個整理,當作是一個總結,後來有朋友問我要面試記錄,索性發布出來,跟你們一塊兒分享。這篇文章是我憑記憶記錄的,面試題沒有順序,不分前後。本文只分享題目,不作面試技巧指導,關於面試技巧我以前已經作過概括,有須要的能夠參考這篇文章。閱讀地址:www.jianshu.com/writer#/not…面試
接下來分享我去阿里、京東、美團等一線互聯網公司的面試題:spring
一、開發中Java用得比較多的數據結構有哪些?sql
二、談談你對HashMap的理解,底層原理的基本實現,HashMap怎麼解決碰撞問題的?數據庫
這些數據結構中是線程安全的嗎?假如你回答HashMap是線程安全的,接着問有沒有線程安全的map,接下來問conurren包。緩存
三、對JVM熟不熟悉?簡單說說類加載過程,裏面執行的哪些操做?問了GC和內存管理,平時在tomect裏面有沒有進行過相關的配置。安全
四、說一下http協議,get和post的基本區別,接着問tcp/ip協議,三次握手,窗口滑動機制。session
五、開發中用了哪些數據庫?回答mysql;儲存引擎有哪些?而後問了我悲觀鎖和樂觀鎖問題使用場景、分佈式集羣實現的原理。數據結構
六、springmvc和mybatis的工做原理,有沒有看過底層源碼?mybatis
一、Dubbo超時重試;Dubbo超時時間設置
二、如何保障請求執行順序
三、分佈式事物與分佈式鎖(扣款不要出現負數)
四、分佈式session設置
五、執行某操做,前50次成功,第51次失敗a所有回滾b前50次提交第51次拋異常,ab場景分別如何設置Spring(傳播性)
六、Zookeeper有哪些用
七、JVM內存模型
八、數據庫垂直和水平拆分
九、MyBatis如何分頁;如何設置緩存;MySQL分頁
十、熟悉IO麼?與NIO的區別,阻塞與非阻塞的區別
十一、分佈式session一致性
十二、分佈式接口的冪等性設計「不能重複扣款」
一、最近作的比較熟悉的項目是哪一個?畫一下項目技術架構圖
二、JVM老年代和新生代的比例?
三、YGC和FGC發生的具體場景
四、jstack,jmap,jutil分別的意義?如何線上排查JVM的相關問題?
五、線程池的構造類的方法的5個參數的具體意義?
六、單機上一個線程池正在處理服務若是突然斷電該怎麼辦?(正在處理和阻塞隊列裏的請求怎麼處理?)
七、使用無界阻塞隊列會出現什麼問題?
八、接口如何處理重複請求?
九、具體處理方案是什麼?
十、如何保證共享變量修改時的原子性?
十一、設計一個對外服務的接口實現類,在1,2,3這三個主機(對應不一樣IP)上實現負載均衡和順序輪詢機制(考慮併發)
一、自我介紹,技術特色
二、興趣是什麼,優點是什麼
三、jvm,jre以及jdk三者之間的關係?
四、Dubbo的底層原理,Zookeeper是什麼
五、cincurrentMap的機制;TreeMap;Volatil關鍵字
六、快速排序;廣度優先搜索(隊列實現)
七、緩存的雪崩以及穿透的理解?
八、HashMap的key能夠重複嗎?
九、synchronized和lock的區別?
10.開發一個大型網站你會考慮哪些問題?
以上就是所有的面試題目,但願對你們有所幫助,祝面試順利!
下面來講說題外話:不少人都須要明確一個概念,你能夠終身奮鬥事業,但工做不是終身的。咱們時刻都在工做中選擇和被選擇,有人跳槽了,有人被辭退了,剩下的是準備跳槽和潛心發展將來另謀高就的。
因此,面試應該是一個不斷提高的狀態,而不是一場臨時抱佛腳的課堂小測,面試是對你前段時間的工做作總結,對當下狀態作評估。那些面試發揮良好的人,一般是從被動面試轉爲主動自省的人,不要把學習從腦力轉移到體力上。