1. 程式人生 > >面試大資料工程師,必須洞察HR的心思,這些面試技巧你懂麼?

面試大資料工程師,必須洞察HR的心思,這些面試技巧你懂麼?

很多面試大資料工程師職位的抱怨,為什麼面試的時候老是要考什麼演算法呀,還要現場寫程式碼?弄得大家天天去刷面試題,這些有什麼用?本文是由科多大資料的就業指導老師總結的面試的經驗和技巧。

     那麼,今天就來聊聊這麼大資料工程師面試後面這麼做的原委。

     一個公司招聘一個人,需要考察什麼?通常,這也是像GoogleFacebookMicrosoft,和很多新銳的高科技創業公司所提倡的和實踐的幾個考察點:

是否聰明?

是否出活?

是否主動?

有這些需要考察的點,那該如何考察?這時,就需要藉助於考演算法,寫程式碼,和其他的一些手段。

考演算法,就像很多人說的,知道了一個演算法又能怎麼樣,可能工作中一輩子都用不上,就算能用上,很多的演算法都有庫和包實現了,拿來用就是了。確實是這樣,所以考演算法,並不是為了考,為了會,而是為了在探討演算法的過程中,考察和驗證一個人是否聰明,是否基本功紮實,是否能夠順暢溝通,是否能夠快速反應和學習。在討論和交流的過程中,發現閃光點。能不能想出來,或是說出來,並不是考演算法的要點。

比如,面試官可能會問一個候選人,是否知道一些排序演算法,作為一個計算機背景的人,不管是在學校,還是在工作中,還是在平時的閱讀中,還是平時的同事溝通中,都應該可能觸及到。如果真的一點都不知道,聰明人都比較愛學習,這句話可就大打折扣了。然後,面試官可能會說到某個具體的排序演算法,比如,快排,這個可能有些人真的不清楚,或是不記得了。其實,沒有關係,好的面試官,會給你簡單的解釋,實際上,他可能在驗證聰明人學得快理解力強。如果,在幾分鐘之內,能大致理解和講清楚,感覺會是大大的好。再下來,面試官可能會問問時間複雜度的問題,不要說不記得,因為,聰明的候選人,可能馬上快速的推理,如果真的理解了。平時,大家都會和不同的人交流,誰比較聰明,從溝通的過程中,是能夠看出來一些的。

 

所以,考演算法,真正的含義,是討論演算法,是找一個比較智慧的話題,讓面試官和候選人能夠互動起來,能夠達到考察和驗證聰明,當然,不排出其他考察點的目的。比如,是不是候選人會喜歡挑戰,知難而上,而不是不會就退縮。比如,是不是喜歡學習新東西,是不是學習能力強,是不是主動性比較好,等等。

再看寫程式碼,則是更多的為了考察和驗證出活的能力。在很多的情況下,用什麼語言寫是沒有要求的。這樣,一是可以考察基本功,沒有基本功,是不可能能快速出活的。二是可以考察平時的訓練積累和經驗,包括工作方式,程式設計風格,思考方法,等等。三是接受任務和完成任務的主動性,是不是願意接受任何團隊需要完成的任務。四是完成任務的速度和質量,也就是出活的速度和質量。這種寫程式碼的測試,會是之後工作情景的一個小小的縮影。既然今後很多的工作是寫程式碼,那麼,面試時排練一下不是挺好嗎。

再者,寫程式碼,不一定要求很複雜,有難度的程式碼,也許,是一個簡單的,幾行就能實現的問題,比如,將一個英文句子中的所有的首字母變成大寫。也許,是一個熟悉的演算法的再實現,比如,實現一個二分查詢。也許,是實現剛剛討論過的演算法。也許,是一個現實中遇到的實際問題中的一個子問題的程式碼實現。總之,寫程式碼,除了看最後的結果,還要觀察寫程式碼的過程,和寫完之後大家進行的有意思的討論和溝通。

從寫程式碼的過程和最後寫出的程式碼,可以深入的考察一個人的基本素質,工作方式,和出活的條件,和出活的效率和質量。

至於主動性,或是責任心,有多方面和多種方式可以考察和驗證,比如,聊過去的專案,在專案中的角色,完成的任務,完成的質量。在聊演算法,寫程式碼的過程中,也能夠窺見一些,因為,一個不主動負責的人,是很難在完成具體任務時佯裝出來的。

到此,基本明白了,考演算法,寫程式碼,其實,都只是面試中使用的考察手段,為了考察一個人是否聰明,是否出活,是否主動。聰明是高質量出活的關鍵因素之一,主動是出活的速度和質量的有力保障。

在找大資料工作的過程中,面試是第一道門檻,以上的面試技巧,希望可以幫助大家快速的踏入大資料行業的大門。