百度三次面試

百度三面

一面:
      面試官人挺好,一直都在微笑,問的問題也是由淺入深的。一般都是通過在問一個問題的時候,發現新的問題,然後再進一步追問。從C/C++ 問,他們二者的區別。然後問到,一些機構化的東西。考到了多態,然後他就讓用代碼的形式寫一個最短的多態使用。在寫代碼的時候,思維突然進入了混亂,雖然代碼沒有寫錯,但是在後來,給他講解的時候思維進入了誤區,將C++ 的虛函數跟JAVA 的抽象函數搞混淆了。在JAVA 中,抽象函數在基類裏是沒有函數實現的。結果我就說了句“virtual” 在基類中是沒有實現的。這個時候,他就指導了一下,指出其中的錯誤,然後引導着進一步分析。
       接着,寫了一個strstr() 函數起始就是求字符串匹配位置。KMP 算法可以搞定,我直接告訴,但是我不會寫。於是就用了最簡單,最直接,最暴力的辦法搞定了。結果又發現問題了,他看了一眼直接指出,內存有可能會泄漏,在雙層for 中, 第二層for 不加終結判斷,可能造成內存的泄漏。
       C/C++ 只是個開始,然後就是數據庫,數據庫的內容就不基礎了,顯示SQL 查詢語句,這個肯定是沒問題的,直接繞過。然後就是具體問題分析。“給出一個超大的數據量,然後要找出其中某些被查找的內容的top10. 問該如何處理這些數據。”。我是用了鏈式存儲的思想給他繞來繞去,不過這個他最後也沒有給出具體的答案,所以我也不知道具體最終結果是什麼。

二面:
      這次是個MM 面試官,這姐夠直接的。當我進屋子後,先問我上個面試官問了什麼,然後就直接就來了句“好,我們先做個題吧”。我心想這個可真夠直接的,居然連讓我自我介紹的東西都省了。第一個題,從一個點到另一個點的最短路徑,中間當然有障礙物。這題拿到手後,第一個感覺就是深度優先遍歷算法。然後就是回溯。沒什麼可說的,給她分析了一下,代碼直接說我不會寫。然後他問,可以廣度優先嗎,這個還用問,肯定是可以的塞,但是代碼還是不會寫。跳過,接着第二個問題,跟一面的一樣。海量數據,爬蟲爬取大量的數據,然後還有高併發。我當時就二了,這還高併發,怎麼搞。最後就想了個死辦法,逐步優化,我說使用倒置樹形結構,多創建一些臨時存儲區。逐級緩衝數據,將數據加鎖保持數據的一致性。然後將最終的內容也用鏈式存儲的方式,將內容存儲在一個最終的存儲區裏。然後就是保存的問題,當時我們就在是以字節對齊,還是位對齊的地方糾結了一下。最後不了了之了,隨便弄了一個答案,反正哥也沒抱什麼希望。

三面:
       三面以爲會是接着考算法,搞的哥頭晚一直狂補算法,哪曉得第二天一個算法都沒有問。面試官是個帥哥,嘿嘿,看着挺養眼的。他上來就是拿着簡歷從第一個字向最後一個字看起。特別是項目上,每一個項目都有問到,問項目的實現過程。(超級神奇,阿里巴巴也是在問簡歷的時候我被刷掉,這次也是在問簡歷上被刷掉,哥哭,我簡歷沒作假啊)問到B/S 、C/S 模式的不同,他們有什麼關係。我當時就2 了,平時沒事想這個幹嘛啊,還不如多DOTA 兩盤,所以就不知道了,就隨便蒙吧,就說是他們存在包含關係,B/S 是C/S 的其中一種。然後就問登陸,問新浪這些公司他們的登陸是怎麼個模式。誒, 這些問題,平時哪有去想啊,所以也不知道了 。一看,整個三面,不知道的問題不是一兩個啊,還能怎樣呢,最後就掛掉了。


總結了一下這次面試,學習到的東西有,在做事的時候要注意細節。寫代碼的時候,想到的問題一定要去注意糾正,保持代碼的健壯性。平時沒事多想想,擴展一下自己的視野(知識面)。在學校寫的東西,跟在公司裏的是不一樣的。至於爲什麼不一樣呢,就是我們必須去了解,去發現的。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章