其實距離此次電面過去有幾天了,因為之前一直忙論文開題的事情,沒有時間整理,今天抽時間總結一下。 先說一句,百度的部門真的太多了,好像很多部門都有自己的數據開發團隊……具體不太瞭解,我這次面的是互聯網數據研發部的大數據研發崗位。要求語言主要是Python,但是我主要使用Java,之前對Python也是 ...
其實距離此次電面過去有幾天了,因為之前一直忙論文開題的事情,沒有時間整理,今天抽時間總結一下。
先說一句,百度的部門真的太多了,好像很多部門都有自己的數據開發團隊……具體不太瞭解,我這次面的是互聯網數據研發部的大數據研發崗位。要求語言主要是Python,但是我主要使用Java,之前對Python也是瞭解一點而已……
所以我當時萬分激動、對這次面試機會倍加珍惜。
言歸正傳,電面開始時,面試官陳述了面試要求——環境相對安靜,周圍不要有電腦,和考察角度——三個方面考察,簡歷上的項目+基礎知識+大數據相關的擴展問題。
關於項目經驗,由於我只寫了實習工作期間的項目,對學校項目沒有過多筆墨描述,故主要問了:現在在什麼公司實習?說說你做的這幾個項目,把需求,設計,多少人參與,你做了什麼工作,遇到了什麼問題,如何解決的,用了哪些技術,從中學習到了什麼都談一談,最後就是讓我陳述下項目中的亮點。
然後進入了基礎知識考察階段,主要問的是操作系統,項目中的演算法,設計模式,Java語言,以及對Python的瞭解。其中操作系統問了:說說Linux進程之間的通信機制,同步和非同步的區別,進程和線程的區別,說下Linux的鎖機制,如何設計一個互斥鎖(思路),語言問的是都學過什麼語言(c,c++,Java,oc……),問了下對新語言的學習能力,和接受程度。Java的垃圾回收機制,以及和c++相比記憶體管理的區別,最後是問了操作系統記憶體碎片的概念,以及如何在編程層面儘量減少記憶體碎片,說說優化的思路。關於編程語言還問了有沒有用過Python(很遺憾,沒用過,但是我知道Python也是面向對象的,入門比Java還要簡單些,拿起來問題不大)。針對演算法,問我的項目中有沒有用過什麼演算法?我順便把我的研究生論文(在公司做的)中的演算法給說了說。最後讓說了說單例模式及其各種坑和應用就結束了基礎知識的考察。
最後進入大數據相關問題考察階段,全部是沒用標準答案,都是考察的思路和大數據思維,非常有擴展性,大概八九道,撿著重點回憶下:百度百科重名人物查詢匹配的問題,重覆的大數據文件查詢問題,存儲n多數字的數組裡判斷哪些數字出現 了多少次?ps:一步步擴展的,從O(n)時間複雜度到常量O(1)複雜度的思路。網頁相似度檢測,判斷的思路?多台機器,多個文件,隨機輸出大量數據的問題,大文件中匹配詞表片段的問題,最後問了數據挖掘和機器學習有沒有學過……
到這裡持續了大概1個小時多,最後讓我提問、之後評價了我的面試過程,整體結果面試官給的是ok(當然了,具體面試官怎麼打分的,我也不清楚),臨近結束面試官說等待後續安排,最好是面談,就結束了。看了下表,一個小時20分鐘左右。
不管有沒有結果,繼續努力。