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