北京985渣碩一枚,收到騰訊、美團等六家大廠offer,淺談巨量資料面試經歷,特此分享面試題,希望能夠幫助到廣大程式設計師!

2020-10-13 11:01:23

前言

現在已經是10月份了,疫情還沒有過去,很明顯金三銀四已經泡湯了,大家現在都是在為金九銀十做充足的準備,都在埋頭苦幹地提升自己,在大家這麼辛苦的情況下,給大家分享一下小夥伴在騰訊、美團五家大廠收到offer之後的巨量資料面試經歷,還有面試題,希望大家能夠喜歡!!

騰訊、美團等六家大廠收到offer,淺談大資料面試經歷,附面試題

 

小夥伴從去年7月中旬開始找工作,找的是巨量資料研發 or 巨量資料演演算法方向,反正圍著巨量資料打轉,截止到9.12號為止,騰訊、美團、360安全研究院、搜狗、貝殼 都收到意向offer,當然掛麵也吃了不少。

  • 阿里招聘系統有點bug,沒找到機會去面,然後接受了一波勸退性筆試,最近看能不能找個好心的小姐姐推進去面一波
  • 百度三面電話沒接起來,然後沒然後了...
  • 網易接了一波玄面~
  • 頭條也去面了一波,不過真的沒複習那麼全,回來海學一波,也算值
  • 滴滴給了一「真內推」(直接問能來實習不,來就有...),不過最近在風頭上,考慮中...

offer的具體工作內容不介紹了,怕被HR小姐姐查出來,請去喝茶...

小夥伴自我介紹

北京985渣碩一枚,是真的渣,舍友商湯、曠世,出國留學,學校中各類大佬一坨,在夾縫中求生,混口飯吃。

主攻方向:無。領導搞行政的,天天端茶倒水取快遞,外掛寫不盡的基金本子,論文全靠個人參悟+上天憐憫

說點正事吧,關於工作路線,最終選擇的是巨量資料研發方向,主要原因是研一上了點分散式的課,拿出來吹一吹,還能唬的住人。個人感覺演演算法也能做,研發、演演算法半斤八兩吧

學校這邊的話,有優秀高校背書自然要好,沒有的話,就沒有吧,大牛們不差這點,渣渣們大家也強不到哪去,不必強求!

專案,在讀書過程中,一定要了解個專案,否則面試官真沒啥問題你的,尬場基本就涼涼了。這專案不必真的是你的,當找工作時,所有前輩、朋友的專案全都是你的,包裝下,你說是你的就是你的,沒人去查你底細的,關鍵瞭解要深,這樣和別人說底氣才足。我有幸給一個資料流專案做了些邊角任務,但在簡歷上,我成為了該專案的負責人...自己體會包裝的藝術...

簡歷,以前認為大家「沒見過豬跑還沒吃過豬肉嗎」,網上那麼多強調簡歷重要性的,直到看見我小師弟的簡歷,發現真的有人沒吃過豬肉(學碩他專碩,一起找工作,他有百度大廠背書,可這工作找的唉...)。最簡單的修改方法,讓你附近的同學看看,第一眼感覺可以嗎,可以就ok,不可以就gg,照著人家的改改。

現在前頭,準備要早,投的也要早基本7月中旬就陸陸續續開始有提前批了,錯過就沒了>...<

乾貨

這貨也不幹,過去一整陣子了,能寫多少給大家寫多少吧,考點網上一抓一大把

技術面

先說說技術面流程:

  1. 讓你做自我介紹(準備好)
  2. 看看你簡歷,說你對這個比較熟?balabla...你問的簡單就熟,問的難不好意思不太瞭解
  3. 看看你實習經歷,讓你介紹實習幹啥了,有沒有什麼大專案能拿得出手,幹聊10-20分鐘的
  4. 問問職業規劃。這裡表現出你態度的虔誠,不會亂跳槽,踏踏實實的幹,讓他感受到你想進這家公司,兩眼能放光就更好了... 大佬們可以海吹一波
  5. 你有啥子問題。我一般預備兩個問題,您這部門具體做什麼能介紹一下?我什麼時候能知道自己是過了還是沒過呢?儘量不要不問,各路大佬在貼中都說過了

一定要把主動權掌握在自己手中,面試官會問很多你平時不瞭解或壓根不知道的問題,這時你可以說平時我用不到這些(可以理解啊,應屆生上哪懂這麼多邪門歪道啊,大佬請無視我),然後說自己對xxx領域有點研究,引導他來問你

對面提問你時,其實很考驗你答辯技巧的,當你熟悉的東西時,那很OK,balabala即可,問你不熟悉的(你只知道點皮毛,但也在簡歷上寫了),你可以說「我做專案時碰到過一點,大體查了下,有點印象,您可以試著問一下」,這樣會讓面試官把期望放低,問題難度也會降低,答出來加分,答不出來也無所謂

HR面

  1. 自我介紹(準備版非技術的! 從本科到大學,研究方向,選擇這家公司理由,實習經歷拉一拉,時間一般能湊夠了,讓對方感覺你是個健談的人)
  2. 聊聊興趣愛好(準備些健康的愛好,遊戲公司可以考慮非健康的...)
  3. 聊聊實習經歷,和上下級處的如何,有壓力怎麼辦
  4. 你有啥問題。我對這部門還有些不瞭解,您能在系統介紹下嗎?入職培訓介紹一下?

下面具體拉拉各廠面試經歷吧,我把比較有特色的問題列出來,統一的我放在下面知識點了,重寫太麻煩了...

騰訊

難度:easy,可能我比較幸運?

一面

電話面,問了問Java的基礎問題,其中有印象的是

  • final這個欄位用在欄位和方法上的區別,在方法上好像能加速,大家自己查吧。。

二面

現場面,基本圍繞著你簡歷上問

  • xgboost相對gbrt改進
  • topK問題

三面

總監面,這面基本聊聊實習的專案,用到的技術等,不知死活的我問了問sp的問題...建議各位0-offer黨(offer滿天飛的大佬請無視我)不要在該環節問sp的問題,最後給不給sp,好像不是這夥計定的,具體還是看聊得情況,聊開了什麼都能聊,聊不開,那就88

騰訊、美團等六家大廠收到offer,淺談大資料面試經歷,附面試題

 

美團

難度:normal

一、二面

  • Java問了一堆
  • Spark問了一堆
  • 然後給我介紹部門,我基本在聽他說了...

後面知識點都有我就不展開寫了o_o ....

三面

問我刷題不?(這想要我什麼回答呢),杯子倒水智力題,實習專案聊一聊

360

難度:normal+

一面

上來懟了我一堆python的東西,我python當指令碼用的,說能不能換個方向聊一聊,然後懟了一堆

  • 期望
  • 準確率召回率
  • AUC和ROC
  • 決策樹聊一聊
  • 闡述自己如何設計模型的

開始問題偏向於演演算法,後來我說我其實擅長架構類的東西...小姐姐說,這樣啊,不過看你答的還可以啊,架構我就不問你了...

二面

問了些資料倉儲的問題,雪花型和星型資料庫等,我表示一臉懵逼,然後和他扯Spark Streaming,他對這個還挺感興趣的,算是晃點住了,後面說加班怎麼看,然後他開始介紹他NB的團隊,我開始瞻仰,膜拜...最後問問能不能來實習,基本回答都是能(不能的好像都沒了...),時間節點自己需要把握一下,最好等到所有offer都下來的時候,我自己預估是10月中旬吧

騰訊、美團等六家大廠收到offer,淺談大資料面試經歷,附面試題

 

頭條

難度:father

一面

  • spark streaming 懟一波
  • 如何保證exactly once
  • tcp中全連線池和半連線池等
  • 劍指offer上一道題:二元樹蛇皮走位??

二面

  • yarn 排程演演算法
  • 扯了扯spark streaming
  • 一道演演算法,樹中兩節點找最親的爸爸...
  • 實習聊一聊

面試官不是很感冒,問我還有什麼補充了,我竟然說沒...猝,血淋淋的教訓啊

騰訊、美團等六家大廠收到offer,淺談大資料面試經歷,附面試題

 

搜狗

難度:hard

一面

兩個面試官,發了張卷子,裡面什麼題都有:

  1. 排序、有重複的陣列中查詢某數的index,注意不要退化成o(N)的演演算法
  2. 在一棵樹中查詢兩個節點的最近公共父節點(就是頭條二面那道題)
  3. linux $$ $# $0 等含義
  4. 智力題 50紅 50黑 分配兩袋子摸球問題
  5. n!後面有多少個0
  6. hdfs的基本操作
  7. 巨量資料處理問題,用spark處理下

二面

  • 問我為啥不考慮讀博?(學的太渣,感覺沒有必要讀...)
  • 問我對前面面試官的看法(你要炒他們嗎。。。)
  • 實習聊一聊

貝殼

難度:normal+

講道理貝殼我是抱著去打小怪的心態去的,並沒打算留下的,但是面試體驗很好,最後給的薪水超高、福利也爆炸,缺點的話大家懂得,偏養老,看大家選擇吧。算是幫一面的大哥打波廣告吧

一面

資料傾斜怎麼處理,我個人感覺我回答的比較差,以前沒仔細思考過這個問題,後來查了查發現裡面有很多道道。

但面試官很nice,問了問我其他方面,感覺還不錯,後面和我討論了30分鐘的職業發展問題,感覺來的很值,大哥我能加你微信嗎...

二面

比較年輕的高冷小哥面我的

  • Spark架構
  • shuffle過程
  • Spark Streaming 原理
  • 一道關於棋盤左上角跑到右下角的問題,從搜尋、dp、到數學的方法都討論了一遍
  • 機器學習捎帶說了一嘴
  • 實習聊了聊

六大廠面試中遇到的問題

Java

1.執行緒並行

Q:程序和執行緒的區別?

Q:程序間通訊方式?

Q:執行緒間通訊方式?

Q:Callable、Runnable區別?

Q:Future和Callable的關係?

Q:建立執行緒的方法?

Q:volatile關鍵字的作用?

Q:synchronized的用法?

Q:講一下Java記憶體模型?

Q:CountDownLatch和CyclicBarrier瞭解嗎?

Q:Semaphore用法?

Q:ThreadLocal作用?

Q:單例與多例的區別?

Q:鎖釋放的時機?

Q:notify喚醒時機?

Q:notify和notifyAll區別?

Q:講一下Lock?

Q:鎖的種類?

2.集合

集合相對容易,常規送分題,基本都會問到HashMap

Q:TreeSet特性?

Q:LinkedHashMap特性?

Q:ArrayList與Vector的差別?

Q:LinkedList與ArrayList的差別?

Q:HashMap與HashTable的差別?

Q:Set與List的差別?各自有哪些子類?

Q:hashCode()、equals()、==區別?

Q:Java容器中新增的物件是參照還是值?

Q:Iterator和ListIterator的區別?

Q:HashMap實現?

Q:ConcurrentHashMap和HashTable區別?

3.GC

這塊主要介紹JVM記憶體的劃分以及GC演演算法

Q:什麼是記憶體漏失和記憶體溢位?

Q:導致記憶體溢位的因素?

Q:JVM記憶體劃分?

Q:簡單說一下垃圾回收?

Q:Minor GC、Major GC和 Full GC的區別?

Q:Full GC觸發時機?

Q:什麼是常數池?

4.類載入

面試時有人問到過,回去大概查了下

Q:講一下類載入過程?

Q:Java初始化順序?

Q:Java類載入器的種類?

Q:雙親委派模式瞭解嗎?

5.物件導向

這些問題很弱雞,但考的也比較多

Q:物件導向的三大特性?

Q:Java中介面和抽象類區別?

Q:過載和重寫?

6.設計模式

Q:例舉一下你瞭解的設計模式?

Q:手擼單例?

8.網路協定

Q:TCP3次握手4次揮手?

Q:TCP為什麼是一定要是3次握手,而不是2次或3次以上?

Q:TCP為什麼是4次揮手,而不是3次呢?

Q:TCP半連線池與全連線池?

Q:TCP和UDP的區別?

Q:TCP和UDP的應用?

Q:TCP/IP與OSI模型?

Q:ping命令基於哪種協定?

Q:阻塞式和非阻塞式IO區別?

資料庫

用資料庫做過開發,但是瞭解的不深入,面試問我會不會寫SQL時,我回答「簡單的可以,複雜的嘗試一下」...SQL複雜起來真不是人寫的...

Q:聚集索引和非聚集索引區別?

Q:where、group by、having執行順序?

Q:星型、雪花結構?

Q:SQL縱向轉橫向,橫向轉縱列?

Q:髒讀、不可重複讀、幻讀?

Q:join實現的三種方式?

Linux

Q:檢視xxx埠佔用?

Q:檢視xxx程序佔用?

Q:檢視CPU使用情況?

Q:檢視記憶體使用情況?

Q:檢視硬碟使用情況?

Q:$0、$n、$#、$*、$@、$?、$$含義?

Q:>、>>區別?

Q:>、1>、2>、2>&1、2>1區別?

Q:定時任務命令?

演演算法

演演算法的海洋的無邊無際,但是應付面試題的演演算法,個人認為《劍指offer》一本足矣...

個人《劍指offer》刷了大概四遍,基本上看到一道題,所有解法都知道,面試上也基本從這裡出我遇到現場出的演演算法題(除了《劍指offer》上的),一般是暴力搜尋題,不要上來想DP...

經典問題

  • 子串匹配問題
  • 子序列匹配問題
  • 合併連結串列
  • 樹中兩個節點最近的公共父節點
  • 快排、堆排
  • 各種型別的二分查詢
  • 兩數交換,不用第三變數
  • 水塘抽樣,大佬題解

智力題

  • 一根棍子隨機折三節,組成三角形的概率
  • 倒水問題
  • 麵粉稱重問題
  • 燒繩子問題

巨量資料

這方面一般問的是偏向於各類框架

  • Hadoop
  • Yarn
  • Spark
  • Hive
  • HBase
  • Zookeeper

Hadoop

Q:兩表Join方案?

Q:MapReduce過程?

Q:Hadoop 中 Secondary NameNode作用?

Yarn

Q:Yarn架構?

Q:Yarn相對於Hadoop的優勢,或說為什麼要有Yarn?

Q:Yarn的三種排程器?

Q:Yarn延遲排程的含義?

Spark

Q:Spark有幾種部署模式?

Q:standalone基本架構?

Q:groupByKey和reduceByKey哪個效率高?

Q:資料傾斜是什麼?如何處理?

Q:傾斜join如何處理?

Q:基本概念?

Q:列舉一下transform和action?

Spark Streaming

我一般和麵試官吹 Spark Streaming,這部分提供給有需要的人吧

Q:Spark Streaming原理?

Q:資料接收方式?

Q:基於receiver資料接收的實現細節?

Q:exactly once如何保證?

Kafka

Q:基本架構?

Q:介紹下ISR副本策略?

HBase

Q:介紹下HBase的原理與設計?

以上就是小夥伴在六大場面試中的面試經歷和所問到的問題,在本文中做了一個總結,以下是小編所整理出來的面試題目和答案,需要的小夥伴掃碼領取!!!

希望大家能夠努力加油好好學習!!