百度(c++後臺崗位)面試,我把面試官掛了!
作者:山川’君
來源:牛客網
在牛客網看了這麼多面經,回饋一下牛客網。
昨天下午投的百度,約了今晚面試。(2018.8.2)
update:
8.3號收到二面通知
Q :你先介紹一下你的項目吧
A:labalaba介紹了三個自己在學校的項目,因爲項目都是java和node的。面試官可能不是很懂不感興趣。
Q:介紹一下你現在在tx的項目,主要負責什麼工作吧
A:balabala
開始========================
Q:TCP三次握手和斷開的完整過程
A:(答案網上很多)最後答了一下客戶端處於TIME_WAIT狀態要等2個MSL纔會close
Q:爲什麼要等2個MSL
A:(答案網上找)
Q:輸入www.baidu.com在瀏覽器的完整過程,越詳細越好
A:(網上也有)
Q:說一下cache吧
A:LRU那種?
Q:是的。
A:因爲java裏面有一個數據結構linkedhashmap這個是很符合LRU的,然後按這個的源碼說了一下,主要是hash+鏈表。
Q:這個怎麼實現同步和互斥,怎麼樣去加鎖
A:然後說了一下鎖的相關知識,balabala
Q:c++裏面的同步和互斥怎麼實現的
A:mutex,條件變量之類的說了一下,消費者生產者之類的舉了個例子
Q:c++裏面的常量怎麼定義
A:const和constexpr(這個面試官可能沒見過,然後解釋了一下)
Q:我主要想說宏
A:這個不算常量,在編譯器就已經被全局替換。然後說了一下宏的某些缺點,我一般不會用,balabala
Q:c++的智能指針說一下,區別
A:balabala
Q:c++怎麼實現一個函數先於main函數運行
A:用static,balabala
Q:c++的static的變量的初始化順序怎麼樣的
A:聲明順序就是初始化順序
Q:如果一個類裏面呢?
A:這裏我答錯了,我以爲是初始化列表的順序。。。。。。。。(第一次答錯)
Q:兩個文件,兩個static變量a和b,怎麼讓某個變量先於另外一個初始化呢?
A:通過頭文件的聲明順序
Q:其他用戶不知道頭文件的聲明順序怎麼確定呢?
A:不知道。。。。(第二次沒答出來)
Q:來一條設計題。百度搜索的智能提示怎麼實現,輸入兩個字,出來一些熱搜
A:字典樹+堆吧,然後balabala(第三次。。。感覺面試官不是很滿意我的答案)
Q: STL說一下
A:balabala
還有一些其他的問題不是很記得了。中途接了個電話,把面試官掛了。。。。感覺總體的問題還是很簡單,有3個答的不好。