天天看點

百度面試兩闆斧:手寫算法問基礎

閱讀本文大概需要 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

關于百度面試的内容,我就總結這麼多了,當然,大部分是針對校招同學的面試題,至于社招的朋友,則更多地會和部門需求比對,考察的重點也不再是上述這些基礎知識和算法題了。

如果仍有疑問,也可以留言參與互動噢。

一介碼農,尚能寫作,我是黃小斜,不是黃老邪噢

你點的每個好看,我都認真當成了喜歡

繼續閱讀