我是怎樣面試大數據崗位的?

人住在有人間天堂之稱的城市,6年多開發閱歷,近來2年首要在做大數據有關的開發,近來思考換作業,根本也只思考大數據有關崗位。目前新作業現已找好,但想共享一下近來面試的失利一些閱歷(成功的那些就不講了),吐槽吐槽,跟廣大吃瓜大眾共享一下過程中的閱歷心得,我的語文體育老師教的,還請大家莫怪。

1.公司:國內知名電信運營商,其下面的大數據研究院,面兩輪

一面:技術人員面,先自我介紹,項目經驗相關介紹,問比較細,問了一些Hadoop、HBase的問題,JAVA基礎,JVM內存分配小于32G原因,G1和CMS對比,問關系型數據庫事務級別,臟讀、幻讀意思。問題回答情況:其中G1與CMS區別我只講了G1比CMS更耗CPU,但回收更快效果更好,兩者內存劃分設計不同,G1更適合大內存等,具體原因及細節沒講清;臟讀、幻讀只回答出跟數據庫事務有關,面試當時忘記了具體什么叫臟讀,什么叫幻讀,有點分不清。這兩個好像都沒有答好,然后面試官問了我待遇期望。

二面:隔了4天,打電話過來讓我去二面,是部門經理面,其也是做技術的。上來讓我自我介紹,然后就圍繞我講的開始問。講到之前項目中通過hbase的coprocessor的endpoint方式在服務端通過jni調用c++寫的算法庫實現數據計算過濾功能,然后這位經理就問為什么你們圖像識別相關的CV算法不用JAVA寫,要用C++?我感覺有點懵逼,驚嘆怎么會有這么小白的問題,但面上不能表現出來,簡單回答說現在大部分算法都是通過C/C++寫的,JAVA因為JAVA是完全面向對象的特性及jvm的關系,不適合做這么底層的事情,性能會有損耗。但似乎對方沒有理解和聽懂,表情帶著不理解和質疑,半天從他嘴里吐出一個結論:你們不用JAVA寫算法是因為你們公司搞算法那幫人只用C/C++去搞。我當時有點無語,不知道該怎么跟這種對CV算法一無所知的人解釋(或許我該說很多算法庫都是C/C++寫的,讓你用JAVA調用cuda的庫你累不累),但對方又接著問下一個問題,你怎么看待大數據領域接下來的發展趨勢?這個問題我從來也沒想過,腦袋里突然冒出前陣子參加的云棲大會有個分會上講得一些片段,糊里糊涂的瞎說了幾句,說spark很熱,使用的人非常多,后續也會集成流處理技術的一些新特性,另外說現在很多集群完全部署在云上,將來網絡瓶頸解決有可能會往云上和云下自己管理的集群結合的這種方式發展。

這個答得的確不好,有點以偏概全了,對方顯然對我這個回答很不滿意,又問你認為磁盤IO性能會是瓶頸嗎?我回復說這個是目前大數據領域集群的主要瓶頸,但這個問題還好,應該會被克服改善(我想說可以把冷、熱數據分離,熱數據用速度快的SSD之類存儲,但我沒說出來)。對方的目光有點嘲弄的感覺,不是很友好,后來就是問一些期望待遇及讓我提問之類的環節。結果:over,好吧,無所謂了,安慰自己,本來就不是很想去那邊,因為自己偏實干型怕活太少(有點自虐),大概了解到的是對方的員工都過得偏安逸。

2.公司:某跨境電商企業,為一些國家和地區的特色產品做電商服務。

先跟他們HR聊,HR人不錯,說話比較客氣禮貌。接著是技術面,一共4個面試官,分4輪面。

第1個哥們人挺逗,先讓我自我介紹,看我簡歷上寫著對CV相關算法有一定了解,好像跑了題似開始不斷問我CV相關問題,我跟他說我工作早幾年自己研究過一段時間這方面的東西,但不是很擅長,很長時間也沒研究了,只是相比沒接觸過這方面的人來說要厲害一些,我也沒有研究過Spark?MLLib。不知道他哪根筋不對,問我你們公司深度學習相關的程序你有沒有研究過,我說沒,他又問我通常圖像識別的一些流程,我大概說了一下,說得不是很細,他不停的惋惜的說道,哎呀,你這相比其他人沒有特別的優勢呀,你要是精通算法這方面再加上大數據就有亮點。我非常納悶,心想難道你們公司是傳說中人工智能和大數據結合的非常好的公司嗎,莫非還是把無監督機器學習自我優化集成到你們的大數據系統中了嗎?不應該呀,看你們的樣子好像還沒有那么NB,再說現在搞大數據的有幾個會深度學習算法的,大多還是偏框架數據采集存儲挖掘方面的。

第2個哥們,是搞大數據相關的,不過他基本不像是在面試我,反而是在跟我吐槽他們公司,說自己也是剛來了3個月,公司哪里流程不對,自己意愿無法左右其他團隊等,不過就簡單跟我說了這么一通就完了。

第3個哥們,具體是負責哪方面技術不是很清楚,感覺有點偏算法,就問了我一個題目,像是腦筋急轉彎的編程題,題目是N個人圍成一圈,從第1個人開始報數,第一個人報1,第二個人報2,依次下去,報到數字X的人退出圈子,下面的人繼續報,請寫個程序問最后留下的哪個人。我說這好像有一個便捷的方法或公式能計算最后一個人,不過我腦子想不出來,只能想一個簡單的遞歸函數去實現,他說行,然后我就寫了一個,寫得馬馬虎虎。

第4個,是他們CTO面,這人陰沉板著一副臉,還沒說話就感覺氣氛不對,估計他覺得我看著比較年輕竟敢要那么高薪水,這種人的表情我也沒少見。語氣有點冷,先讓我自我介紹,我介紹的比較簡單,然后又說了一些項目中的情況,產品數據流之類的。我們的產品的數據源是從ORACLE數據庫里面定時去拿的,這個模塊叫數據獲取服務,流程很簡單,就是定時讀取數據后交給另一個模塊,然后他說問怎么把這個數據獲取服務拆分成兩個模塊,我很無語,說這個就是這么簡單的去拿數據,沒有可以再拆分的,他說就是要拆分成2個模塊,我表示不知道他腦袋里怎么想的,說不知道。然后問了我做的一些架構經驗,我說自己設計寫過過一個分布式實時計算框架,是借助了一個RPC中間件去實現的,整體各模塊有點類似Hadoop?MapReduce,但更像Impala,不需要每次創建啟動Job。

我跟他簡單說了一下這個RPC中間件,說了一些優缺點,例如它的消息發布訂閱機制沒有像Kafka那樣有很好的持久化機制,程序退出了,這些消息就沒了。他一臉的質疑,說怎么可能沒有持久化,他問我那個中間件的名字,然后百度去搜,搜出來某個帖子上有人說的那個中間件的一些特性,講到一個模塊是專門做持久化的,然后他就拿來陰沉著臉質疑我說,你看,這不是持久化嗎?我看他那樣表情,不想再多解釋什么,想說艸尼瑪,有點常識好不,那帖子講得完全不是一個東西,那個持久化不是指消息發布訂閱的持久化,這中間件我好歹也用了小半年,你這么百度一搜就敢理直氣壯質疑我,這水平真是CTO?結果:他們HR后來還打電話問我跟CTO聊完感覺怎么樣,我感覺自己脾氣太好了,沒有抨擊一下那個CTO,就說他不太清楚我做的東西。HR把我的期望壓得很低問我愿不愿意去,我直接說不去了。見過這么奇葩的CTO,就算加薪讓我去,我還得重新考慮。

3.公司:某視頻監控安防行業的知名公司,面試其下的大數據研究院的一個大數據開發崗位。

面試我的是他們的一個技術主管和另外一個技術人員,上來先自我介紹,詳細問了一些項目相關的信息,然后問了很多Hadoop、HBase的一些原理,項目中rowkey和分區設計,問了spark?streaming?并發度、createDirectStream和createDStream的區別,一段時間內分別生成了幾個RDD,問了Kafka分區各副本是如何在集群各臺機器上分布的等。有好幾個問題沒回答清楚,感覺自己表現和準備不是很好。結果:等通知。后來隔了好多天通知我去HR面,鑒于我當時已經收到其他offer,而且面試情況不是很好,估計會被壓offer,就委婉放棄了。

4.公司:國內知名互聯網公司,Hadoop研發工程師崗位。

電話面試:面試了25分鐘左右,問了很多大數據的基礎的技術問題。如Map?Reduce相關,Reduce時如何Sort,HBase優缺點,LSM相關,前面基本上全部答出來了,但是最后問到有沒有做過用Map?Reduce處理數據join,因為我之前做的項目大數據框架比較簡單,沒有多表關聯的查詢,當時對join概念也有點反應不過來,就說沒做過,然后又問Map?Reduce?join有幾種方式,也沒答出來。結果:電面沒過,就因為最后兩個跟join有關的沒答出來,就over了,盡管回去后惡補了這方面的知識。

5.公司:某做數據營銷廣告大數據服務的公司,大數據研發崗位。

面試我是的他們做大數據架構團隊的主管,先自我介紹,講了一些項目的東西,然后對方覺得我之前做得項目大數據架構比較簡單,態度比較桀驁,然后又問了一些JAVA基礎的東西,比如BIO與NIO特點與區別,問我有沒有用過,我答得不是很好,但應該還過得去,然后又問Concurrent包下面有哪些類,ConcurrentHashMap與HashMap區別等等。我感覺他有點輕視我,不是一個公正的眼光在問我。然后又問我Linux命令熟不熟,吧唧吧唧問了好一些,我基本都答出來了。最后他冒出一句,我們現在這邊大數據開發的崗位都基本招滿了,還缺一個大數據運維的,除了部署維護大數據集群,還要寫一下oracle的udf。我問他這跟開發工作關系密切嗎,他說關系非常密切,只是他們大數據的研發都偏向于寫代碼,不愿干這活。感情他是在逗我,QTMD。結果:然后就沒有然后了。

6.公司:某車貸互聯網金融公司,大數據研發崗位。

先是電話面試:面試了25分鐘左右,問了Hadoop?Map?Reduce資源配置、ElasticSearch原理的一些問題,問得比較簡單,基本都沒問題,問道Lucence如何實現對一個字段索引的時候,其實只要答倒排索引就好了,我比較二,把倒排索引怎么實現的大概講了一下,細節還講得不是很好。過了幾天,然后是直接面試,這次面的內容還是比較簡單,面試官人感覺不錯,就是有點二,怎么說呢,理解能力不太好,比如問我HBase?不同colomn?family跟關系型數據庫中的列的區別,我答說colomn?family在物理上是獨立的store?file,可以只查詢某個column?faimily,而關系型數據庫一條記錄是整行數據,查詢的時候,需要整行數據都讀出來,然后吧唧吧唧又扯出好多。結果你猜怎么著,他說我還是沒有回答到點上,說column?family是面向列的。我有點無語,我都把它怎么是面向列的底層存儲結構都講出來了,你竟然還說我沒答出來。問了很多問題都基本答出來了,就是面試官總覺得我沒有答到點上,說自己貌似明白我的意思了,問我是不是平常很少溝通問題。

這種人真是活久見,明明一個意思,我答得更詳細清楚,他非說我沒答出那個標準答案名稱,面試這么多次,這種情況真是第一次碰到。最后問了Hive相關的,問我有沒有用過,我說沒用過,但這種跟基本SQL差不多,問Hadoop?Stream相關,我也說沒怎么用過。問得問題都比較淺,沒有什么深入的問題。結果:后來HR通知我說面試官覺得我技術深度不夠,哎,有點搞笑的,其他幾個面試下來要這么說我完全沒意見,但是這位面試官問得那些問題我基本都答出來,而且他自己沒怎么問我深入的問題。算了,奇葩總是有的。

其他一些經歷就不啰嗦講了,個人總結有幾點如下:

1.現在做大數據相關的公司和人還不是很多,相比常見的如JAVA崗位面試官的水平明顯要差很多,除了接觸的幾個知名點的大公司問題環節比較規范,不過這種現象應該接下來幾年會有所改善。

2.有些時候不是你技術不行,而是你的談吐表達能力給他們的印象,像我自己表達語言組織能力只能算中等可能還偏差,表達條理不好容易被pass。

3.感覺作業經歷換崗少的并不比頻繁換崗的受待見,像我6年只在2家公司待過,大家都知道,在一家公司工資是很難漲上去的,而對方人力通常以你當前薪資作為主要參閱,就算你的水平比一樣作業時間的人強許多,但對方公司不也許立刻了解到,你想要跟這些一樣作業年限人一樣水平的薪資也許都對比艱難,對方人力通常以此鎮壓你開太高希望漲幅過大。

 

馬哥學習交流群

馬哥教育大數據學習群 481324949

 

相關新聞

聯系我們

400-080-6560

在線咨詢:點擊這里給我發消息

郵件:[email protected]

工作時間:周一至周日,09:00-18:30

QR code
云南快乐10分开奖直播