2018百度校招面試總結
2018百度校招面試總結
- 目前走流程到二面, 寫一波面經但願可以收到三面通知, 上天請賜予我運氣和力量吧;
- 校招走流程的兩個面試官都很nice, 比較隨和, 面試體驗很是好;
百度一面
- 在酒店一樓等面試官通知, 叫到名字就坐電梯去對應房間號面試;
- 交完簡歷, 面試官會安靜的瀏覽簡歷(這時候比較尷尬, 只有靜靜的等), 而後面試官會讓你簡單的自我介紹;
- 面試官後面會對感興趣的項目進行細節詢問, 大體包括:
- 解決一個什麼問題;
- 項目的背景;
- 數據處理流程;
- 大概的項目框架;
- 本身對整個項目的理解;
- 涉及到的問題, 怎麼決絕的;
- 在交流過程當中, 面試官透露他是無人駕駛團隊的, 還給我說了估計百度來的面試官只有他能聽懂個人項目, 若是我去面後臺開發很懸;
- 結果4點的時候去面百度雲的時候, 真的是被問成SB了, 就差點點就哭出來了, 本身後臺開發的基礎太差, 並且沒有相關的項目經歷, 很難;
- 後面聊着聊着, 面試官畫風一轉, 咱們寫兩個程序吧, 接下來就開始手撕代碼了;
- 第一題, 他說先來個簡單的吧, 把隨機數組的奇數放數組的前面, 時間複雜度爲O(n), 空間複雜度爲O(1);
- 刷過題的同窗, 確定都知道怎麼作吧, 我是用雙指針的方式來解的, 若是是奇數就交換, 但這種方法不能保證原來的順序;
- 牛客網的劍指offer是用堆排序的思想來作的吧;
- 第二題, 求兩個單鏈表的交叉點, 我理解題意有點問題, 我開始覺得只有一個交點, 後面面試官說相交後的節點就所有相同了;
- 若是刷題多的同窗, 應該看一下就知道答案了吧;
- 我是用差值來作的, 找到第一個鏈表的長度, 找出第二個鏈表的長度, 求出其差值;
- 長的先走差值這麼多步, 而後長的和短的一塊兒走, 相遇的第一個結點就是交叉點;
- 若是不相交的話, 就直接返回空便可;
- 一面面試官真的很nice, 當時本身水落下了, 回去還找他拿水了, 反正給個人感受他很好;
百度二面
- 百度二面, 最開始本身仍是很緊張的, 由於本身真的很菜(哭泣), 但面試官人很好, 隨時笑呵呵的, 特別隨和, 好像是作手機百度的內核大佬;
- 開始的時候都是差很少, 先瀏覽簡歷, 而後自我介紹, 再而後就是問一些技術細節, 此次面試, 細節問得比較多, 已經徹底深刻到了內核實現原理什麼的了;
- 最開始看我帶了一個可穿戴的表過去, 就問了實現了那些功能, 具體怎麼通訊, 線程的調度, 鎖的實現, 事件的實現;
- 而後聽到我說後臺數據是用python來分析, 就問我是否是對python是否是特別熟悉;
- 這裏必定要實話實說, 我說我沒有能夠的學習python的一些語法和用法, 只是當時用python的pandas的庫來作數據的處理;
- 而後他就問我小文件怎麼處理的;
- 正則表達式怎麼用的;
- 而後問我怎麼實現一個tail的功能, 即讀文件的時候實時地只顯示後5行;
- 我開始說用隊列來作麼? 他說是實現這個功能的大體流程, 不是具體實現;
- 而後問我知道文件的換行符不?
- 我說'\n', '\r\n';
- 而後面試官很nice的給我解釋, 通常Linux系統下都用'\n', window下才會用'\r\n'作換行符;
- 而後我補充到文件的結束符爲'EOF';
- 面試官看我項目中用到了epoll機制, 就問我還知道除了epoll的其餘機制;
- 我就講了一下epoll, poll, select的來歷, 做用和區別;
- 還講了內核實現epoll的大體流程;
- 面試中發現, 回答面試官問題的時候, 若是不主動的去擴展知識點的話, 會顯得很被動, 會被面試官帶着走, 那樣的話基本算是一次失敗的面試;
- 而後看了看我簡歷上還寫了內存管理和Linux的IPC, 就叫我講講;
- 而後我就講了一下, Linux內核的分段和分頁, buddy子系統, slab分配器(高速緩存), kmalloc, vmalloc;
- 進程地址空間的分配;
- IPC通訊大體講了, 爲何須要IPC, 有哪些IPC, 選了一個消息隊列, 說了一下他的內核具體是怎麼實現的;
- 後面面試官看了一下時間, 說那行吧, 我問問你算法吧;
- 出了一道大數相加的題目, 叫我實現時間複雜度儘量地小;
- 個人思路大體是找到最長的字符串;
- 每次只循環短字符串的長度, 相加, 算進位標誌;
- 若是進位爲1, 繼續相加到不爲1;
- 面試官還給我說了另一種解法, 短的字符串補0, 來作;
歡迎關注本站公眾號,獲取更多信息