從3月19日投遞簡歷到4月18日接到hr電話oc,差一天滿一個月,歷經騰訊五輪面試的考驗,終于走到了目前這一環(huán)節(jié)。曾在??途W(wǎng)受益于眾多面經分享,如今也將自己面試中遇到的一些需要思考的問題整理出來,希望能為正在面試的牛友們提供一些啟發(fā)。時間線:3 月 19 日 投遞簡歷 → 同日完成測評4 月 1 日 騰訊云一面(未通過)4 月 7 日 wxg一面 → 4 月 9 日 二面4 月 11 日 電話邀約面委會 → 4 月 16 日 面委會(原計劃 4 月 15 日推遲)4 月 18 日 HR 面 → 當日完成云證流程并接到 OC 電話問題整理:1. TCP相比于UDP延遲的原因(連接過程、流量控制等方面回答)2. 前綴++和后綴++哪個性能更優(yōu),應用在哪些場景(這個問題有個大坑,不能直接說用前綴++來遍歷)3. 發(fā)生哈希沖突時有什么解決方法?拉鏈法可能導致哈希值相同的結點掛起來導致查詢效率變慢,如何解決?(拉鏈法沖突節(jié)點在8以上時轉為紅黑樹,降到6時恢復鏈表)4. 哈希表什么時候進行擴容?(負載因子?)5. 粘包/拆包有哪些處理方式,除TLV外還有什么方式?6. 什么情況下的粘包不需要處理?二進制數(shù)據(jù)可通過\0,\n進行粘包處理嗎?7. 如何查看某個端口有沒有被占用(nmap或者telnet)8. HTTP字段介紹9. delete this 合法嗎10. 對稱加密/非對稱加密/哈希算法分別是什么?有什么用?有哪些常用算法?11. C++有很多l(xiāng)ong類型的變量,如何求他們的平均值,注意要防備數(shù)值溢出(感覺算是數(shù)學題,使用average += (numbers[i] - average) / (i + 1)邊累加邊計算平均值)12. C++函數(shù)調用過程,三種函數(shù)傳參的區(qū)別13. c++特性發(fā)展歷程(每個版本更新的特點), 以及每個版本主要更新的特性14. 1000*1000的彩色圖片占多少內存15. 協(xié)程和線程進程相比有什么區(qū)別?它的優(yōu)勢和劣勢有哪些?(從內存占用、上下文切換、不需進行額外同步操作、處處非阻塞、本質是單線程)16. 有了http為什么還需要websocket17. TCP中超時重傳時間是如何計算的?(有公式)18. 梯子為什么可以讓我們跳過防火墻?19. 內存泄漏在哪些情況下發(fā)生?(new/delete、智能指針互引用、基類析構未虛)如何處理?(valgrind或者通過函數(shù)記錄內存分配和釋放的次數(shù))20. QT可以跨平臺嗎,原理是什么?槽函數(shù)?(抽象類)21. 死鎖是什么?活鎖是什么?死鎖和活鎖如何處理?如何檢測?22. 進程在Linux里調度用了什么算法?(CFS)23. 瀏覽器的每個標簽頁是一個線程還是一個進程,為什么是進程,還有沒有其他方面能體現(xiàn)進程之間隔離性的優(yōu)點?24. python裝飾器25. linux下進程和線程的調度有區(qū)別嗎(都是一個實體)26. docker底層是如何隔離的(namespace)27. 守護進程如何建立(fork)28. 客戶端time_wait過多怎么辦29. 為什么每個操作系統(tǒng)都有進程、線程?(從進程和線程的特性來說)30. 用戶鑒權,詳細說一下JWT31. 集群裂腦、驚群效應32. 零拷貝33. 說一下無鎖如何實現(xiàn),內存模型有哪些編程題的話目前感覺有難度是讓手寫一個線程池,包含單例、模板、線程安全、完美轉發(fā)、生產者消費者、原子操作、互斥鎖這些要素。上面這些是面試過程中,我遇到了會思考一下的問題,其他的問題都很基礎就沒記錄。希望能幫到大家。