1.前言
繼上一篇文章《大數(shù)據(jù)實習面經(jīng)(滴滴,頭條,網(wǎng)易,微博,美團,360,數(shù)美)》之后,最近有一些閑暇時光,所以想把BAT的面經(jīng)給大家分享一下,以下排名不分先后次序
1.百度(二面掛)
是做百度云盤監(jiān)控的部門,不知道為何自己被推到了偏大數(shù)據(jù)運維的部門,很神奇。
一面(1小時左右)
1.先聊了大概半小時去年的天池比賽,之前寫的比賽分享鏈接
第一屆PolarDB數(shù)據(jù)庫性能大賽Java&c++選手分享
大致從設(shè)計框架,如何設(shè)計,為何這么設(shè)計,設(shè)計的過程中出現(xiàn)過什么問題,如何解決展開討論,并且還從linux底層到用戶層的文件傳輸和規(guī)則做了詳細的探討。中間發(fā)散思維,問了lsm樹,B+樹,紅黑樹等樹的優(yōu)缺點和使用場景,大致記得這些
2.問了下快排如何求TOPk值,并且讓我手推了快排的時間復(fù)雜度(還好之前有過master定理的映像)
3.問了些相關(guān)的java基礎(chǔ),jvm等等,gc等一些知識。
二面(1小時左右)
二面面試官在開會,我等了快1個小時才出現(xiàn)。。。
1.場景題目,監(jiān)控的時候如何達到實時性,希望我從各個方面進行解答,也是發(fā)散題目
2.手擼最大公共子串
3.如何設(shè)計最優(yōu)的分布式高性能鎖,又是發(fā)散題目,從cap理論扯到base理論,然后在推導了下cap中為何三者不可兼得,然后討論了下分布式鎖的一些原理等等
4.問了相關(guān)的比賽東西,不過面試官的點和我不在一個頻道上,一直在問阿里是怎么做這個數(shù)據(jù)的(我咋知道。。)
2.阿里(已拿offer)
圖數(shù)據(jù)庫團隊geabase(中國首個金融級分布式圖數(shù)據(jù)庫),是螞蟻金服中十分核心的部門
一面(1小時左右)
1.先問了一些基礎(chǔ),比如java的知識,內(nèi)存分布,鎖的一些東西(cas等)
2.重點討論了下lsm樹的優(yōu)點和缺點
3.大致講了下簡歷的項目
4.手撕滑動窗口代碼
二面(1個半小時左右)
1.對我的研究生研究的方向圖數(shù)據(jù)庫很感興趣,所以深入地研討了相關(guān)的知識,從當今學術(shù)界解決的幾個指標討論起。然后深刻探究了相關(guān)領(lǐng)域的東西,從廣度和深度都有范圍涉及(這一點大概就說了大概40分鐘左右)
2.問了我,在我接觸計算機到現(xiàn)在,自己認為遇到的三個大問題,是否解決了,你是怎么解決的,為什么這樣解決,如果在遇到的話,還有什么方面可以更加深入地解決
3.問了一些大數(shù)據(jù)相關(guān)知識,Hadoop、presto,spark等
4.問我怎么學習的,是如何學習的,怎么樣認為才是把一個知識點掌握,怎么樣才是能做到最高效率的學習,還同時問了我最近在看什么書籍等等
這一面感覺是個部門leader,面試的時候更想知道你個人的潛力和未來的發(fā)展方向。
三面(1個小時20分鐘左右)
1.問了hadoop相關(guān)的mr過程,問了zk選舉算法,問了集群的通信過程,心跳機制,actor模型等的
2.問了研究生方向的大致研究東西
3.讓我詳細講一下在項目過程中是什么情況出現(xiàn)了數(shù)據(jù)傾斜問題
4.深入探討了下spark在作業(yè)時的數(shù)據(jù)傾斜問題,給你一個大規(guī)模集群,如何設(shè)計一個集群,有沒有什么通用的方法,使得解決數(shù)據(jù)傾斜。
5,手撕代碼,常規(guī)dp算法
hr面(半小時左右)
主要問了下簡歷上自己的項目,和研究生研究的項目,對自己做的領(lǐng)域有什么相關(guān)的貢獻等;隨后還問了在人生中你覺得哪個時期是改變你整個人生等等。其他東西,比如offer,薪資,體檢會隨后跟進等。
3.騰訊(已拿offer)
貌似是一個云存儲團隊,qq相冊的所有圖片都是他們負責存儲和搭建的
一面(1小時半左右)
一個很有趣的小哥
1.先問了棧的知識,然后讓我設(shè)計一個堆,如何在O(1)的時候可以入棧出棧,查找元素,也是發(fā)散思維的題目
2.講了一下相關(guān)的項目東西
3.手撕代碼,問了一道題目,一個數(shù)組偶數(shù)對的數(shù)字,只有一個數(shù)字是奇數(shù)的,如何求出該數(shù)字,(根據(jù)奇偶特性用二分查找即可)
4.問了相關(guān)的大數(shù)據(jù)知識(hive sql查詢優(yōu)化等),還問了相關(guān)的無鎖隊列的知識。
二面(1個半小時左右)
1.設(shè)計一個紅包算法,要求每個人分到的錢不高不低(很少接觸這個,所以就想到哪個說哪個了,比如說了線段劃分,比如說了剪枝啊,亦或者把數(shù)學的什么冪律分布,置信區(qū)間也搬出來了等等)
2.設(shè)計一個大數(shù)據(jù)場景,300G的文件當中是亂序的,重復(fù)的不超過1000個,1G的內(nèi)存,如何在最少的時間用最少的內(nèi)存得到一個排序好的去重的文件。(最開始不是1G內(nèi)存,是10G,然后我說用MR思想,用LSM樹,用hash等等方法,就一點點減內(nèi)存,最終減到了1G)
3.手撕代碼,如何用鏈表實現(xiàn)快排;深入快排分析,如何在有序的情況下使得快排也達到O(logn)復(fù)雜度,最開始隨機,然后取中位數(shù),然后局部有序求解等等,一步步深入
hr面(半小時左右)
聊了下自己未來的打算,是往哪個方面走,有做了什么準備么,是如何做準備的,如何道路上遇到問題,怎么解決和調(diào)整自己;同時問了一些壓力場景(比如如何看待加班等),其他就是薪資什么的了。
0.總結(jié)
BAT的面試還是比之前幾家的面試讓人感覺舒服,面試官大多是都是很和藹可親,也十分平易近人,最有趣的是阿里騰訊的面試官,我問他們對我這次的面試評價,直接和我說你有下一面(啊哈?都那么直接的么)。
上述的面試沒有像別人一樣涉及到十幾個知識點,只是每次面試著重圍繞幾個點展開,但是我在面試的過程中會發(fā)散出很多的想法,就像大樹的樹干一樣延伸。本身面試就是一個聊天的過程,在聊天的時候自然而然地展現(xiàn)自己,也會讓面試官感到舒服,所以大伙面試還是不要緊張,多說說自己知道的,這樣會更大概率拿到更多更好的offer。
抽空分享了下自己的面試經(jīng)歷,希望大伙能有收獲,加油!