閱讀本文大概需要 4 分鍾。
17年7月份,我參加了百度的實習生面試,隨后在百度開始了半年的實習生活,18年7月份,我參加了百度的校招提前批面試,由於可以同時參加百度多個部門的提前批面試,結果我前前后后面試了10多次,也算是一段比較奇葩的經歷了。
當然,實習生面試是這里面最簡單的一次了,三輪面試,前兩輪都是在問基礎,問的也不深入,第三輪面試則直接談人生談理想。其實百度的日常實習生面試難度確實比校招要來的容易,因為百度一年四季都在招實習生,反觀阿里和騰訊,只有在春招期間招收實習生。
既然上面的面試難度不太具有代表性,那么我還是來說說秋招的百度面試經歷吧。
大家都知道,阿里內部用Java居多,騰訊內部用C++居多,而百度內部的語言則是五花八門,Java、C++、Python、PHP,都有一定數量的人在用,所以百度的面試題也會比較雜,什么都有可能考,但亦不會考的特別難。
手寫算法是百度秋招必考的一個環節,我那時候都是電話面試,所以直接是用在線寫代碼的網站來做題的(面試官可以實時看到你的代碼情況)手寫算法一般是壓軸環節,也就是面試官問完基礎題,就會開始讓你寫算法題。
題目的難度也不盡相同,有的面試官讓我寫過二叉樹相關的簡單題,也有面試官讓我寫DFS、BFS的題目,當然,多數題目還是劍指offer上的題目,以及基礎題:字符串問題、快排、二分查找、二分查找變式等。
值得一提的是,面試官會允許你在本地IDE進行調試,這樣一來可以節省你的時間。
在開始寫代碼前,面試官一般會先問你的思路,假如他沒有問,那你也要主動告訴他,要知道,考察算法題的時候,和面試官的有效溝通也是一個很重要的考察點,否則你可能會漏掉關鍵信息,以至於無法完成后續答題。
當然,打鐵還需自身硬,最關鍵的一點是,你需要花大量時間刷題,積累經驗,保持做題手感,劍指offer上的題目基本要掌握,LeetCode的經典題型必須重視,刷題是一件你需要不斷堅持的事情,就和考研前需要不斷做數學題一樣,都是一個道理。
講了這么多關於手寫算法方面的內容,可能你已經萌生退意了,那我們還是把話題移回到簡單粗暴的基礎問題吧,計算機網絡、操作系統、數據結構這三門課程,百度一樣喜歡考,不過難度適中,一般只會考比較基礎的問題,比如TCP/IP三次握手、四次揮手,線程和進程的區別,內存管理方式等等。
最后要說的是,百度最喜歡考察的一類題目,叫做海量數據問題,雖然現在越來越多公司都喜歡考這個,但是百度可以說是這類題目的創始人。
所謂海量數據處理,無非就是基於海量數據上的存儲、處理、操作。何謂海量,就是數據量太大,所以導致要么是無法在較短時間內迅速解決,要么是數據太大,導致無法一次性裝入內存。
如果大家對這塊內容感興趣,那么我推薦一個大牛的博客,對這方面內容做了很全面的整理,可能很多人已經看過:
https://blog.csdn.net/v_july_v/article/details/7382693
關於百度面試的內容,我就總結這么多了,當然,大部分是針對校招同學的面試題,至於社招的朋友,則更多地會和部門需求匹配,考察的重點也不再是上述這些基礎知識和算法題了。
如果仍有疑問,也可以留言參與互動噢。
一介碼農,尚能寫作,我是黃小斜,不是黃老邪噢
推薦閱讀:
你點的每個好看,我都認真當成了喜歡