去百度面試,想知道面試官問哪些問題,看這篇文章
https://mp.weixin.qq.com/s?__biz=MzI0NjM3NjI1NQ==&mid=2247487861&idx=1&sn=34316976cdb0aa2e4df3aa6f1f5cc31d&chksm=e9416325de36ea33200d9944fff37381de11c8d4dc8aeb0cc4b83c6201e56b8ee2bc8c2798cc&mpshare=1&scene=1&srcid=1102ElP5k7MBTQGqiBIAH7gE&key=2558871502c065755e0ea4bf0161fc992528074c8e3e08aa4acc834302c359aafe859ebc8cfd3bec89b1bd4cbd613ffb4f0b06958030767fc0189b3c11391a471b02d3098dcb9a42ce2454ad04e0bd93&ascene=0&uin=MTA2NzUxMDAyNQ%3D%3D&devicetype=iMac+MacBookAir6%2C2+OSX+OSX+10.10.5+build(14F2511)&version=11020012&lang=zh_CN&pass_ticket=NKOOH07PkTOF951qDy4B3Lw7qqHzzY35y1dPWQP56ICdSnZ6tBfyKRtR6PKeE1%2FM
一、百度一面:
1、給一個函式,返回 0 和 1,概率為 p 和 1-p,請你實現一個函式,使得返回 01 概率一樣。
2、10 億個 url,每個 url 大小小於 56B,要求去重,記憶體 4G。
3、把一個 bst 轉化成一個雙向連結串列。
4、http 和 https 區別,https 在請求時額外的過程,https 是如何保證資料安全的;
5、IP 地址子網劃分;
6、POST 和 GET 區別;
7、DNS 解析過程;
8、硬連結和軟連線區別;
9、kill 用法,某個程序殺不掉的原因(進入核心態,忽略 kill 訊號);
10、linux 用過的命令;
11、系統管理命令(如檢視記憶體使用、網路情況)
12、管道的使用;
13、grep 的使用,一定要掌握,每次都會問在檔案中查詢;
14、shell 指令碼;
15、find 命令;
16、awk 使用
二、百度二面:
對照著簡歷問了些東西。
1、Linux 下的一些指令,$(程序 id),$?(上一條命令退出時狀態),怎麼檢視程序,按照記憶體大小,CPU 佔用排序等等。(大寫 M 和大寫 P)
2、http 的 get 和 post 方法。
3、介紹下你所瞭解的 epoll。
4、資料庫 sql 的瞭解程度。
5、專案中遇到的問題,自己咋解決的等等。
6、手寫一個全排列。
7、b 樹和 b 樹。
8、介紹一下 hash,怎麼解決衝突。
9、程序間的通訊,共享記憶體方式的優缺點。
三、百度三面:
1、說下你平時看的一些技術部落格,書籍;
2、linux 下的一些指令;
3、工作中你覺得最不爽的事情是什麼;
4、說下你的優缺點;
6、有沒有想過去創業公司;
7、寫個 strcpy 函式;
8、說說你自己的性格;
9、給你一個系統(面試官好像是無人車部門的),後臺的邏輯已經實現了,但是前端載入很慢,怎麼檢測;
10、以後可能要學習很多新技術,你怎麼看;
11、專案中遇到的困難(提前想好,並且把實現或者優化方法說清楚);
12、系統的量級、pv、uv 等;
13、應對高併發的解決辦法(分散式);
14、在專案中主要負責了哪些工作。
15、nginx 的負載均衡;
16、分散式快取的一致性,伺服器如何擴容(雜湊環)