1. 程式人生 > >大數據工程師在阿裏面試流程是什麽?

大數據工程師在阿裏面試流程是什麽?

二叉 sca 一點 正常 容易 線路 -s hadoop 排序算法

全中國的IT公司只想去阿裏,因為阿裏真的是中國程序員的朝聖地,進去真的能學很多。最終經歷了5輪面試,順利拿到了offer。這裏和大家分享一下我的面試經驗。

一面過程

首先是一次不記名面試,這裏我也真的很感謝這場不記名面試了,如果沒有這場不記名面試,我可能真的一面就結束了。因為我之前是沒有任何找工作的面試經驗的,再加上去阿裏對我來說真的是一件幾個月做夢都會夢到的事情,我把它看的太重了,所以在面試之前我經歷人生中最緊張最緊張的一段時間,導致這次面試基本是全面GG。我先來說一下這次面試的過程吧。

面試我的是一位×××姐(這是我之前沒想到的,因為我覺得肯定是個男生),我先是自我介紹,然後我感覺我介紹的很著急,而且沒有邏輯性(充分暴露了我的準備不足),介紹完就感覺很不好,此時已經感覺有點涼了。

然後就問了第一個問題:springcloud的三個原則是什麽?

我不知道啊,springcloud我才學了一天啊,只會用啊,所以第一個問題就GG了,我更緊張了。之後×××姐問我,你對哪塊有比較深入的研究,我因為之前對redis看了不少,所以我就說redis還仔細研究過一點,然後就又問了一個問題,那個問題中關於redis的名詞我都沒聽過,這個時候我已經完全慌了,兩個問題都沒答出來。後來又聊著聊著說到了多線程;

第三個問題:一個線程銷毀之後還能再start嘛?

對大數據以及人工智能概念都是模糊不清的,該按照什麽線路去學習,學完往哪方面發展,想深入了解,想學習的同學歡迎加入大數據學習扣群:數字458數字345數字782,有大量幹貨(零基礎以及進階的經典實戰)分享給大家,讓大家了解到目前國內最完整的大數據高端實戰實用學習流程體系 。從java和linux入手,其後逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相關知識一一分享!

我:能吧?(我沒有註意過啊)所以相當於問了三個問題都沒答出來,×××姐似乎感覺到我的水平了,所以就沒再多問了,就講起了我這幾個月的生活,早起看算法,白天聽課,晚上調電路還得復習白天的,每天已經用盡了我最大的力氣了,我也說到了自己面的不好,(事實上第一是因為我很緊張,第二我確實有的地方掌握的不是很深入)。

她很親切的說沒關系,幾個月能成這樣已經不錯了。然後最後聊了聊別的就結束了。其實後來我才知道這個×××姐是清華的,更加堅定了我去阿裏的決心,我渴望去一個周圍都是大神的地方磨煉自己!

結束之後我仔細分析今天的面試,總結了一些經驗,而且深刻的明白是要稍微準備一下,尤其是並發編程這塊的知識點,所以接下來的幾天我瘋狂彌補之前的一些知識漏洞,等待接下來的正式面試。

幾天後是一面,一面整體的節奏比較緩,主要是以技術問題為主,沒有加入太多的聊天內容,面的也比較久,一共面了一個多小時,下面是一面的題目:

1、線程實現的方式

2、線程池的理解

3、hashmap的底層,你怎麽了解的

4、jvm底層

5、垃圾回收機制

6、怎麽理解mvc

7、排序算法選一種(我選的快排)

8、單點登錄引出來的一個問題,如果通過A域名訪問了A系統,通過B域名訪問了B系統,B系統如何知道此客戶端也訪問了A系統

9、類加載機制

10、說一說ThreadLocal的理解

11、爬蟲用什麽做的,怎麽做的

12、如果爬取到的數據格式不一致怎麽辦(針對我的那個新聞網站)

13、你對你這個項目的數據有沒有一些其他想法?如果讓你重新做,你會有哪些改善

14、你這個項目的架構說一說

整體來說,一面的基礎性問題比較多,所以博主基本都答出來了,準備過還是有些用處的。所以一面完了感覺還不錯,接著第二天下午就二面了。

二面過程

二面是我最慌的面試,因為二面是最關鍵的,是最大的主管面試,所以非常關鍵,整體來說,二面的節奏非常快,和一面完全不同,面試官很希望我言簡意賅的說完答案,所以面的不算很好,當時完了又以為GG了,好在最後還是幸運的過了,面試問題如下:

1、靜態方法和實例方法的同步有什麽不同?

2、future類的作用

3、紅黑樹比平衡二叉樹的優勢

4、知道最大堆,最小堆嘛?描述一下堆排序

5、redis是單線程還是多線程的,說說redis的優勢

6、了解AOP嘛,基於什麽原理的

7、3點15分的夾角是多少度

二面面試官問的很急,我答的也快,所以有兩個問題答的不好,但是面試官讓我覺得有一種肅然起敬的感覺,因為他說話比較快,但是都能說到點子上,最關鍵的說的話非常讓人容易接受。

二面過了,當天晚上我就接到了三面的電話(阿裏的效率真的讓我瞠目結舌)

三面過程

三面是交叉面試了,基本都圍繞我的項目展開,我經過前面幾次的面試之後,這個時候已經擁有了很高的面試經驗值了,所以三面的時候我一點不慌了,回答問題非常穩重(一面剛開始的時候腿在抖。。。),三面的問題如下:

1、介紹以下你項目的特色

2、說說你這個項目的分工,以及在團隊協作之間遇到的問題

3、用java爬蟲有什麽不好

4、談談你對mycat的理解以及如何進行數據庫的雙機熱備

5、談談redis如何構建集群,數據在底層是如何進行同步的

6、網絡連接和斷開的過程?為什麽是4次揮手不是3次?

7、數據庫事務的四個特性

8、volatile關鍵字的作用

9、估算一下7的128次多少位(這個數學問題,我當時沒想出思路,只估算了個100,雖然蒙對了,但是思路沒給出,事實上這個題的思路有點難的)

三面還算比較順利,基本都是我在說,所以也很快過了,第二天早上就收到了HR終面,兩天4面,鬼知道我那兩天經歷了什麽。。。

HR就基本問一些基本情況了,沒有技術問題,只要人不是不正常感覺都沒啥問題。

經驗總結

總結一下面試經驗吧,雖然我只經歷了阿裏的面試,但是這幾場面試足以讓我總結出面試的門道了:

1、自我介紹非常重要,基本上是主導你的整個面試的過程的東西了,一定要好好準備自我介紹,把面試官往你熟悉的地方引

2、見機行事,如果面試官不急,你就不要急,回到的時候多說一點,盡量把只是穿起來,往你熟悉的地方引,比如博主的1面,問我HashMap的底層,我就不僅說了它底層是一個數組加鏈式棧,還說了鏈式棧的目的是解決哈希沖突,還說了解決哈希沖突有兩種方法:一種拉鏈法,一種線性探測法,hashmap采用了前者,(我現在還知道了ThreadLocalMap采用後者,這個知道的人不多,如果你順著引出來,加分很多)。如果面試官比較急,證明他有很多人面,他希望在最短的時間裏讓你說出關鍵的東西,比如博主的二面,我們就不需要擴展說,言簡意賅即可

3、一定要好好準備,對一些常用的內容進行深入的探究,比如現在面試必問的多線程高並發,JVM底層,數據結構和算法,一定要 挑一些進行深入的探究

4、最好有一個完整的項目或者有一個擔任重要角色的項目,對這個項目非常熟悉,並且要想好項目開發過程中遇到的問題以及如何解決的

5、不裝,會就是會,不會就是不會,不要猜,我二面就犯了錯,面試官問我redis單線程還是多線程,我隨口一說:多線程吧?面試官:猜的吧?我:是。。。。面試官:不會不要猜!所以我當時慌的一批!

大數據工程師在阿裏面試流程是什麽?