來源:數(shù)據(jù)挖掘入門與實戰(zhàn) 時間:2017-01-09 13:23:31 作者:datadw
前言:本人住在有人間天堂之稱的城市,6年多開發(fā)經(jīng)驗,最近2年主要在做大數(shù)據(jù)相關的開發(fā),最近考慮換工作,基本也只考慮大數(shù)據(jù)相關崗位。目前新工作已經(jīng)找好,但想分享一下最近面試的失敗一些經(jīng)歷(成功的那些就不講了),吐槽吐槽,跟廣大吃瓜群眾分享一下過程中的經(jīng)歷心得,我的語文體育老師教的,還請大家莫怪。
01、公司:國內(nèi)知名電信運營商,其下面的大數(shù)據(jù)研究院,面兩輪
▊一面:技術人員面,先自我介紹,項目經(jīng)驗相關介紹,問比較細,問了一些Hadoop、HBase的問題,JAVA基礎,JVM內(nèi)存分配小于32G原因,G1和CMS對比,問關系型數(shù)據(jù)庫事務級別,臟讀、幻讀意思。
問題回答情況:其中G1與CMS區(qū)別我只講了G1比CMS更耗CPU,但回收更快效果更好,兩者內(nèi)存劃分設計不同,G1更適合大內(nèi)存等,具體原因及細節(jié)沒講清;臟讀、幻讀只回答出跟數(shù)據(jù)庫事務有關,面試當時忘記了具體什么叫臟讀,什么叫幻讀,有點分不清。這兩個好像都沒有答好,然后面試官問了我待遇期望。
▊二面:隔了4天,打電話過來讓我去二面,是部門經(jīng)理面,其也是做技術的。上來讓我自我介紹,然后就圍繞我講的開始問。講到之前項目中通過hbase的coprocessor的endpoint方式在服務端通過jni調(diào)用c 寫的算法庫實現(xiàn)數(shù)據(jù)計算過濾功能,然后這位經(jīng)理就問為什么你們圖像識別相關的CV算法不用JAVA寫,要用C ?
我感覺有點懵逼,驚嘆怎么會有這么小白的問題,但面上不能表現(xiàn)出來,簡單回答說現(xiàn)在大部分算法都是通過C/C 寫的,JAVA因為JAVA是完全面向?qū)ο蟮奶匦约癹vm的關系,不適合做這么底層的事情,性能會有損耗。但似乎對方?jīng)]有理解和聽懂,表情帶著不理解和質(zhì)疑,半天從他嘴里吐出一個結論:你們不用JAVA寫算法是因為你們公司搞算法那幫人只用C/C 去搞。
我當時有點無語,不知道該怎么跟這種對CV算法一無所知的人解釋(或許我該說很多算法庫都是C/C 寫的,讓你用JAVA調(diào)用cuda的庫你累不累),但對方又接著問下一個問題,你怎么看待大數(shù)據(jù)領域接下來的發(fā)展趨勢?
這個問題我從來也沒想過,腦袋里突然冒出前陣子參加的云棲大會有個分會上講得一些片段,糊里糊涂的瞎說了幾句,說spark很熱,使用的人非常多,后續(xù)也會集成流處理技術的一些新特性,另外說現(xiàn)在很多集群完全部署在云上,將來網(wǎng)絡瓶頸解決有可能會往云上和云下自己管理的集群結合的這種方式發(fā)展。
這個答得的確不好,有點以偏概全了,對方顯然對我這個回答很不滿意,又問你認為磁盤IO性能會是瓶頸嗎?
我回復說這個是目前大數(shù)據(jù)領域集群的主要瓶頸,但這個問題還好,應該會被克服改善(我想說可以把冷、熱數(shù)據(jù)分離,熱數(shù)據(jù)用速度快的SSD之類存儲,但我沒說出來)。
對方的目光有點嘲弄的感覺,不是很友好,后來就是問一些期望待遇及讓我提問之類的環(huán)節(jié)。
▊結果:over,好吧,無所謂了,安慰自己,本來就不是很想去那邊,因為自己偏實干型怕活太少(有點自虐),大概了解到的是對方的員工都過得偏安逸。
02、公司:某跨境電商企業(yè),為一些國家和地區(qū)的特色產(chǎn)品做電商服務
先跟他們HR聊,HR人不錯,說話比較客氣禮貌。
接著是技術面,一共4個面試官,分4輪面。
▊第1個哥們?nèi)送Χ?,先讓我自我介紹,看我簡歷上寫著對CV相關算法有一定了解,好像跑了題似開始不斷問我CV相關問題,我跟他說我工作早幾年自己研究過一段時間這方面的東西,但不是很擅長,很長時間也沒研究了,只是相比沒接觸過這方面的人來說要厲害一些,我也沒有研究過Spark MLLib。不知道他哪根筋不對,問我你們公司深度學習相關的程序你有沒有研究過,我說沒,他又問我通常圖像識別的一些流程,我大概說了一下,說得不是很細,他不停的惋惜的說道,哎呀,你這相比其他人沒有特別的優(yōu)勢呀,你要是精通算法這方面再加上大數(shù)據(jù)就有亮點。我非常納悶,心想難道你們公司是傳說中人工智能和大數(shù)據(jù)結合的非常好的公司嗎,莫非還是把無監(jiān)督機器學習自我優(yōu)化集成到你們的大數(shù)據(jù)系統(tǒng)中了嗎?不應該呀,看你們的樣子好像還沒有那么NB,再說現(xiàn)在搞大數(shù)據(jù)的有幾個會深度學習算法的,大多還是偏框架數(shù)據(jù)采集存儲挖掘方面的。
▊第2個哥們,是搞大數(shù)據(jù)相關的,不過他基本不像是在面試我,反而是在跟我吐槽他們公司,說自己也是剛來了3個月,公司哪里流程不對,自己意愿無法左右其他團隊等,不過就簡單跟我說了這么一通就完了。
▊第3個哥們,具體是負責哪方面技術不是很清楚,感覺有點偏算法,就問了我一個題目,像是腦筋急轉(zhuǎn)彎的編程題,題目是N個人圍成一圈,從第1個人開始報數(shù),第一個人報1,第二個人報2,依次下去,報到數(shù)字X的人退出圈子,下面的人繼續(xù)報,請寫個程序問最后留下的哪個人。我說這好像有一個便捷的方法或公式能計算最后一個人,不過我腦子想不出來,只能想一個簡單的遞歸函數(shù)去實現(xiàn),他說行,然后我就寫了一個,寫得馬馬虎虎。
▊第4個,是他們CTO面,這人陰沉板著一副臉,還沒說話就感覺氣氛不對,估計他覺得我看著比較年輕竟敢要那么高薪水,這種人的表情我也沒少見。語氣有點冷,先讓我自我介紹,我介紹的比較簡單,然后又說了一些項目中的情況,產(chǎn)品數(shù)據(jù)流之類的。我們的產(chǎn)品的數(shù)據(jù)源是從ORACLE數(shù)據(jù)庫里面定時去拿的,這個模塊叫數(shù)據(jù)獲取服務,流程很簡單,就是定時讀取數(shù)據(jù)后交給另一個模塊,然后他說問怎么把這個數(shù)據(jù)獲取服務拆分成兩個模塊,我很無語,說這個就是這么簡單的去拿數(shù)據(jù),沒有可以再拆分的,他說就是要拆分成2個模塊,我表示不知道他腦袋里怎么想的,說不知道。然后問了我做的一些架構經(jīng)驗,我說自己設計寫過過一個分布式實時計算框架,是借助了一個RPC中間件去實現(xiàn)的,整體各模塊有點類似Hadoop MapReduce,但更像Impala,不需要每次創(chuàng)建啟動Job。我跟他簡單說了一下這個RPC中間件,說了一些優(yōu)缺點,例如它的消息發(fā)布訂閱機制沒有像Kafka那樣有很好的持久化機制,程序退出了,這些消息就沒了。他一臉的質(zhì)疑,說怎么可能沒有持久化,他問我那個中間件的名字,然后百度去搜,搜出來某個帖子上有人說的那個中間件的一些特性,講到一個模塊是專門做持久化的,然后他就拿來陰沉著臉質(zhì)疑我說,你看,這不是持久化嗎?我看他那樣表情,不想再多解釋什么,想說艸尼瑪,有點常識好不,那帖子講得完全不是一個東西,那個持久化不是指消息發(fā)布訂閱的持久化,這中間件我好歹也用了小半年,你這么百度一搜就敢理直氣壯質(zhì)疑我,這水平真是CTO?
▊結果:他們HR后來還打電話問我跟CTO聊完感覺怎么樣,我感覺自己脾氣太好了,沒有抨擊一下那個CTO,就說他不太清楚我做的東西。HR把我的期望壓得很低問我愿不愿意去,我直接說不去了。見過這么奇葩的CTO,就算加薪讓我去,我還得重新考慮。
03、公司:某視頻監(jiān)控安防行業(yè)的知名公司,面試其下的大數(shù)據(jù)研究院的一個大數(shù)據(jù)開發(fā)崗位
面試我的是他們的一個技術主管和另外一個技術人員,上來先自我介紹,詳細問了一些項目相關的信息,然后問了很多Hadoop、HBase的一些原理,項目中rowkey和分區(qū)設計,問了spark streaming 并發(fā)度、createDirectStream和createDStream的區(qū)別,一段時間內(nèi)分別生成了幾個RDD,問了Kafka分區(qū)各副本是如何在集群各臺機器上分布的等。
有好幾個問題沒回答清楚,感覺自己表現(xiàn)和準備不是很好。
▊結果:等通知。后來隔了好多天通知我去HR面,鑒于我當時已經(jīng)收到其他offer,而且面試情況不是很好,估計會被壓offer,就委婉放棄了。
04、公司:國內(nèi)知名互聯(lián)網(wǎng)公司,Hadoop研發(fā)工程師崗位
▊電話面試:面試了25分鐘左右,問了很多大數(shù)據(jù)的基礎的技術問題。如Map Reduce相關,Reduce時如何Sort,HBase優(yōu)缺點,LSM相關,前面基本上全部答出來了,但是最后問到有沒有做過用Map Reduce處理數(shù)據(jù)join,因為我之前做的項目大數(shù)據(jù)框架比較簡單,沒有多表關聯(lián)的查詢,當時對join概念也有點反應不過來,就說沒做過,然后又問Map Reduce join有幾種方式,也沒答出來。
▊結果:電面沒過,就因為最后兩個跟join有關的沒答出來,就over了,盡管回去后惡補了這方面的知識。
05、公司:某做數(shù)據(jù)營銷廣告大數(shù)據(jù)服務的公司,大數(shù)據(jù)研發(fā)崗位
面試我是的他們做大數(shù)據(jù)架構團隊的主管,先自我介紹,講了一些項目的東西,然后對方覺得我之前做得項目大數(shù)據(jù)架構比較簡單,態(tài)度比較桀驁,然后又問了一些JAVA基礎的東西,比如BIO與NIO特點與區(qū)別,問我有沒有用過,我答得不是很好,但應該還過得去,然后又問Concurrent包下面有哪些類,ConcurrentHashMap與HashMap區(qū)別等等。我感覺他有點輕視我,不是一個公正的眼光在問我。然后又問我Linux命令熟不熟,吧唧吧唧問了好一些,我基本都答出來了。最后他冒出一句,我們現(xiàn)在這邊大數(shù)據(jù)開發(fā)的崗位都基本招滿了,還缺一個大數(shù)據(jù)運維的,除了部署維護大數(shù)據(jù)集群,還要寫一下oracle的udf。我問他這跟開發(fā)工作關系密切嗎,他說關系非常密切,只是他們大數(shù)據(jù)的研發(fā)都偏向于寫代碼,不愿干這活。感情他是在逗我,QTMD。
▊結果:然后就沒有然后了。
06、公司:某車貸互聯(lián)網(wǎng)金融公司,大數(shù)據(jù)研發(fā)崗位
▊先是電話面試:面試了25分鐘左右,問了Hadoop Map Reduce資源配置、ElasticSearch原理的一些問題,問得比較簡單,基本都沒問題,問道Lucence如何實現(xiàn)對一個字段索引的時候,其實只要答倒排索引就好了,我比較二,把倒排索引怎么實現(xiàn)的大概講了一下,細節(jié)還講得不是很好。
過了幾天,然后是直接面試,這次面的內(nèi)容還是比較簡單,面試官人感覺不錯,就是有點二,怎么說呢,理解能力不太好,比如問我HBase 不同colomn family跟關系型數(shù)據(jù)庫中的列的區(qū)別,我答說colomn family在物理上是獨立的store file,可以只查詢某個column faimily,而關系型數(shù)據(jù)庫一條記錄是整行數(shù)據(jù),查詢的時候,需要整行數(shù)據(jù)都讀出來,然后吧唧吧唧又扯出好多。結果你猜怎么著,他說我還是沒有回答到點上,說column family是面向列的。我有點無語,我都把它怎么是面向列的底層存儲結構都講出來了,你竟然還說我沒答出來。問了很多問題都基本答出來了,就是面試官總覺得我沒有答到點上,說自己貌似明白我的意思了,問我是不是平常很少溝通問題。這種人真是活久見,明明一個意思,我答得更詳細清楚,他非說我沒答出那個標準答案名稱,面試這么多次,這種情況真是第一次碰到。最后問了Hive相關的,問我有沒有用過,我說沒用過,但這種跟基本SQL差不多,問Hadoop Stream相關,我也說沒怎么用過。問得問題都比較淺,沒有什么深入的問題。
▊結果:后來HR通知我說面試官覺得我技術深度不夠,哎,有點搞笑的,其他幾個面試下來要這么說我完全沒意見,但是這位面試官問得那些問題我基本都答出來,而且他自己沒怎么問我深入的問題。算了,奇葩總是有的。
其他一些經(jīng)歷就不啰嗦講了,個人總結有幾點如下:
▊1.現(xiàn)在做大數(shù)據(jù)相關的公司和人還不是很多,相比常見的如JAVA崗位面試官的水平明顯要差很多,除了接觸的幾個知名點的大公司問題環(huán)節(jié)比較規(guī)范,不過這種現(xiàn)象應該接下來幾年會有所改善。
▊2.有些時候不是你技術不行,而是你的談吐表達能力給他們的印象,像我自己表達語言組織能力只能算中等可能還偏差,表達條理不好容易被pass。
▊3.感覺工作經(jīng)歷跳槽少的并不比頻繁跳槽的受待見,像我6年只在2家公司待過,大家都知道,在一家公司工資是很難漲上去的,而對方人力往往以你當前薪資作為重要參考,就算你的水平比相同工作時間的人強很多,但對方公司不可能馬上了解到,你想要跟這些相同工作年限人相同水平的薪資可能都比較困難,對方人力往往以此打壓你開太高期望漲幅過大。
注:本文來源數(shù)據(jù)挖掘入門與實戰(zhàn)datadw,版權著作權屬原創(chuàng)者所有。編輯:Fynlch(王培),數(shù)據(jù)觀微信公眾號(ID:cbdioreview),欲了解更多大數(shù)據(jù)行業(yè)相關資訊,可搜索數(shù)據(jù)觀(中國大數(shù)據(jù)產(chǎn)業(yè)觀察網(wǎng)www.21jieyan.cn)進入查看。
責任編輯:王培