小紅書c++開發(fā)記錄(第一次面試)
一面
- 自我介紹。
- 介紹一下服務器項目的功用。
- vector list deque介紹及區(qū)別。
- 介紹std::forward以及std::move。
- 說一下rpc啥啥啥(不懂)。
- http頭部有哪些字段。
- UDP發(fā)送一個包,對端回復什么。
- 沒理解啥意思,我說udp盡最大努力交付,沒有超時重傳等機制,要看具體業(yè)務邏輯。
- 然后面試官說什么端口,build啥的,我還是不太懂,就說內核會挑選一個端口,沒必要綁定端口(當然也可以)。我估計沒get到點。
- 講解一下tcp發(fā)送syn的過程。
- redis用的很熟嗎(回不是很熟,哈哈)。
- 多態(tài)的實現。
- 寫一個算法題,三數之和(比較簡單)寫了幾行面試官說不寫了直接說一下思路,說了下說可以了,我說還要考慮去重啥的,他說沒有重復元素可以了。。
- 有沒有了解過音視頻的編碼啥啥的。
- 然后就是聊一些其他的實習相關的東西,感覺面試官人很好,沒有為難人,不過感覺沒怎么問簡歷上的東西和網絡編程的東西,哈哈哈。。
二面
- 自我介紹。
- 多態(tài)的實現。
- 介紹一下ET、LT,說一下區(qū)別(內核有個鏈表維護到來的事件,事件觸發(fā)后ET就直接丟了,LT會再次插入)。
- 覆蓋和隱藏(第一時間沒反應過來覆蓋就是override,后面說清楚了)。
- sizeof 空類(1)。
- MTU MSS相關。
- 調用send發(fā)生什么,講述一下過程。
- read函數返回值代表意義。
- 服務器可同時承載的連接數,有哪些因素決定(五元組,最大文件描述符數量限制,內存等等,講了一下如何實現的百萬連接同時在線)。
- udp發(fā)送一個10000字節(jié)的包能發(fā)送嗎(答不太了解,按理解來說超過mss不能。實際上可以,但是不建議,IP層分包之后丟失任一片都會丟棄整個包)
- 其他想不起來了暫時,算法題給了個easy題,將一個無符號整型轉為主機字節(jié)序,當時腦子抽了問大端還是小端,忘了主機字節(jié)序了,離譜的是我循環(huán)遍歷32位還出bug,讓面試官幫我調,include還拼錯了,后面面試官說你可以想個辦法不用一位一位遍歷,最后我直接取每8位調了下勉強算過,簡直是離了個大譜。。。有一說一面試官真有耐心哈哈,太好了。