大資料類工程師面試題集錦附指南:網際網路公司篇!

xyz藍月發表於2018-12-25

大資料工程師是近幾年異常火爆的職位,市場需求旺盛,眾多網際網路公司都打出了高薪招聘的廣告,本文整理了網路上部分技術人員分享的各大網際網路公司大資料類(Hadoop、Spark等)面試題以及面試時需要注意的一些問題,希望對各位技術人員有所幫助。

阿里巴巴

  阿里巴巴的面試輪次基本是三次,技術方面分為簡單的專案經驗瞭解和個人技術水平考察。部分網友將面試官分成了兩類:一類是技術型,不斷加深問題難度以測量你對技術的掌握深度;另一類是綜合素質型,透過簡單的技術問題引導求職者自我表達,側重考察求職者的個人思想、表達能力等綜合素質。

  二叉樹、排序、SQL等基本概念問題幾乎所有求職者都被問到過,接下來的手寫程式碼或者技術深度類的問題都與面試的職位息息相關。有技術人員貼出了自己對阿里巴巴大資料類面試題的一些總結:

  如果參加過阿里巴巴的大資料競賽或許對面試有很大幫助。面試中,可以抓住面試官的興趣點,儘量拉到你擅長的話題或技術討論中,這樣對你的面試有很大幫助。


大資料類工程師面試題集錦附指南:網際網路公司篇!


大資料類工程師面試題集錦附指南:網際網路公司篇!

京東

  京東的大資料類面試基本是兩輪,再加一輪人力面。人力是簡單瞭解一些工作情況、期望薪資之類的問題。前兩輪面試一輪是基礎面,一輪是專案面。第一輪主要是圍繞基礎概念展開,基礎知識紮實肯定沒問題。第二輪會根據專案經驗進行詢問,技術難度加大。

  問題主要圍繞Hadoop、Spark、Hive、Storm和資料庫的基礎操作以及工作原理,Linux的常用指令等,詳細詢問你的專案經驗,瞭解專案中用到的技術或方法,遇到的問題,必要時需要手寫程式碼或一些大資料元件的搭建和詳細引數配置。

騰訊

  騰訊需要經過三輪面試,基本流程與京東相似。簡歷上的專案經驗一定會被仔細詢問,建議求職者對自己所寫的專案經驗認真評估,對專案的每一個細節都仔細查證。其次,部分技術人員表示自己被要求手寫程式碼,比如用C++寫深度優先搜尋;與Java有關的面試題也不少,比如Java有幾種設計模式,各有什麼優缺點。適合哪些場景;最後是一些與Hadoop相關的問題,比如Hadoop的一些操作如何實現等。

百度

  一共三輪面試,技術方面主要考察各類排序演算法、Linux命令、Hadoop、分散式、大資料處理方面的內容,對統計模型要求較高,對資料結構以及程式設計功底有要求。多位求職者反應,百度的面試更偏重對技術水平的考察,偏向一題多解,不但要給出方案,同時要不斷最佳化得到最優解決方案。

美團

  美團的面試輪數同樣在3到4輪之間,不同的面試官側重點可能有所不同,比如側重關係型資料庫的可能會問你索引為何選B樹。B+樹,不選二叉樹,事務的ACID是什麼,傳統關係型資料庫和非關係型資料庫HBase的區別,HBase刪除資料怎麼做(時間戳切入)等;側重大資料,尤其是離線處理方向的可能會問你離線資料處理怎麼做,基於磁碟的離線處理和基於記憶體處理海量資料的區別,MapReduce和Hive的區別,HBase和HDFS的區別等。

  各種排序演算法幾乎是各家公司面試都會被問到的問題,快速排序出現的頻率尤其之高。

滴滴

  滴滴的大資料類面試題首先是常規的自我介紹,應聘網際網路公司,自我介紹中可以適當突出自己的合作能力和對加班的看法(網際網路公司加班現象比較普遍,這點需要做好心理準備)然後是簡單的專案經驗詢問,涉及的原理、演算法、公式推導、演算法調優等。由於業務特性,滴滴對服務端高併發的問題比較看重,例如,有技術人員被問到在叫車高峰期流量較高的情況下,如何讓客戶省錢。其他問題包括Hadoop提交作業的總體流程、HDFS的基本原理、Hadoop的shuffle過程、SQL語句自動規範化處理等。演算法題目還是排序、遞迴、遍歷等常見題目。

今日頭條

  今日頭條的面試安排比較人性化,基本會和求職者商量時間,如果時間不合適,也會考慮影片面試,比較靈活。面試問題因人而異,如果專案經歷基本空白,面試官會著重考察基礎概念的掌握,面試時間半小時到一小時不等。

  基礎概念部分首先考察對程式語言的理解,Java或者C++/C任選其一,比如Java方面,會詢問你虛擬機器、類載入機制、垃圾回收機制等問題;其二是對網路基礎的考察,三次握手四次揮手(幾乎每家公司面試都會提到)、Http協議等;其三是對大資料框架的理解,比如常見的MapReduce理解、shuffle過程理解等;最後是對基礎演算法的現場程式設計,比如一個數1234,得到下一個比它大的即1243以此類推。

  對於專案經驗比較豐富的技術人員,面試時對專案經驗的盤問會多一些,程式碼題的難度會高一些,但據前線面試人員反饋,今日頭條在程式碼和演算法考察方面,都是一些基礎演算法,難度不大,但就怕一時之間技術人員反應不出最優解,很多問題都有多種方法可以解答,如果知道可以都寫出來。

小米、華為

  小米和華為的面試過程比較簡潔,更多的是業務能力和專案經驗的考察。面試題與其他幾家公司的大致雷同,面試過程相應較短,同樣需要手寫程式碼。

總結

  1、專案經驗是所有網際網路公司面試時都會認真詢問的,因此簡單參與或相關度極低的專案不建議寫在簡歷上。同時,對專案中用到的相關演算法、遇到的技術難點一定要心裡有數。

  2、演算法能力依然重要,排序演算法、深度、廣度遍歷搜尋是出現頻率最高的演算法。資料結構方面,堆、雜湊表、二叉樹是最重要被考到的概念。網路基礎部分,三次握手四次揮手和Http協議幾乎必問。

  3、大資料框架部分,不同公司的業務不同關注點不同。但是基本的框架或生態元件的理解,比如MapReduce、Hive和HDFS是被問頻率最高的問題,也包括一些元件之間的對比。

  4、綜合素質方面,合作能力是重要考察方面,可以在專案經驗中適當增加對合作方面的說明。其次,自己對加班的態度也很重要,網際網路公司的加班是常態,求職時需要做好心理準備。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69903766/viewspace-2286312/,如需轉載,請註明出處,否則將追究法律責任。

相關文章