1. 程式人生 > >2018騰訊、美團C++後臺研發實習生面經

2018騰訊、美團C++後臺研發實習生面經

騰訊面經:

騰訊提前批一面面經(OMG騰訊視訊部門):

  1.自我介紹

  介紹完了就從我簡歷第一條一直往下問

  2.說一下c/c++原始檔如何從程式碼變成可執行程式的(程式的編譯連結)

  3.常用的資料結構有哪些?

  4.資料結構排序和查詢演算法你知道的有哪些?各個的時間複雜度和空間複雜度?

  5.快速排序的實現?

  6.快速排序非遞迴如何實現?

  7.快速排序是穩定的嗎?排序的穩定性是如何定義的?

  8. C++的STL中的vector說一下

  9. vector初始化10個大小,之後push_back超出了怎麼辦?

  10. map底層

  11.紅黑樹有了解嗎?說一下你對紅黑樹的理解。

  12. Linux下常用的命令有哪些

  13.檢視一個程序開啟的檔案怎麼檢視

  14.如何檢視指定程序開啟的埠號

  15. linux系統程式設計,說一下IO複用poll,epoll

  16.聽說過哪些http伺服器(我說了apache/nginx/lighttpd)

  17.使用哪些?

  18. tcp的五層結構

  19. tcp的建立和斷開(三次握手四次揮手),最後說道TIME_WAIT狀態結束

  20.他問TIME_WAIT狀態持續多長時間,為什麼會有TIME_WAIT狀態

  下面問專案相關的,

  21.大概講一下這個專案負載均衡是幹嘛的?

  22.半同步半非同步模型說一下。(因為我簡歷上寫了)

  23.如果一個客戶端請求異常是如何處理的?

  24.然後他又說這個客戶端如果請求連線之後再無響應怎麼辦?

  25.對資料庫瞭解嗎?

  26.聽說過redis和memcached嗎?

  27.問從memcache中讀資料比mysql快嗎?為什麼快啊?

  28.那從記憶體讀資料一定比磁碟快嗎?

  29.補充之前,編譯連結一個庫的時候,倆個庫中都有同一個.o檔案,如何決定取哪個

騰訊提前批二面面經(OMG騰訊視訊部門)

  1.開始的時候問一些調解的話。

  2.你當時為什麼要寫負載均衡這個專案

  3.寫這個專案的過程中遇到什麼樣比較難處理的問題?我說了配置的熱載入和健康性檢測

  4.什麼是配置的熱載入?

  5.程序間通訊有哪些?

  6.你平時用過哪些?舉個例子,我說了http端用的多程序,程序間使用訊息佇列通訊,並使用訊號量控制程序的同步互斥關係

  7.多路複用select、poll、epoll的區別?我說了原始碼,他後來問了簡單的epoll為什麼比poll和select高效?

  8.學習上或者說是生活上遇到過什麼挫折嗎?怎麼應對的?

  9.對異地工作有什麼看法嗎?

  10.有沒有想過考研?

  11.你還有什麼問題?

  (30分鐘)

騰訊hr面

  1.自我介紹

  2.專案是不是跟著學校老師?

  3.為什麼不是和老師做?

  4.什麼時候能參加實習呢?大概多久呢?3-9月都可以嗎?

  5.家是哪的,父母介意異地工作嗎?

  6.女朋友對異地工作呢?

  7.深圳和北京工作有什麼意見嗎?

  8.我這邊沒問題了,你還有什麼問題嗎?

騰訊提前批四面

  1.講一下專案流程(問的特別細,幾乎所有的可能出現的異常都問我了,特別多,和個人專案相關,問了有30分鐘)

  2.為什麼負載均衡用多執行緒?

  3.程序和執行緒的通訊和互斥和同步控制。

  4.互斥鎖和讀寫鎖說一下吧?哪個效率高呢?(不是很確定,之前沒有認真查過,答的不是很好)

  5.互斥鎖的時間數量級是什麼?毫秒級?微秒級?還是納秒級?(還好之前看過)

  6.問了ptmalloc的優缺點?

  7. ptmalloc和tcmalloc的區別

  8.大記憶體申請時候選用哪種?

  9.  C++變數存在哪?

  10.變數的大小存在哪?

  11.符號表存在哪?

  12.講一些poll和epoll吧

  13.你有什麼問題呢?

  (55分鐘)

騰訊提前批五面(OMG的騰訊視訊部門):

  1.問我是否有時間做一下電話面試?

  我說現在不是很方便,五點左右可以嗎?他說那好吧,我再安排。

  於是....再也沒有收到騰訊的電話。

騰訊一面(騰訊雲部門):

  1. 說一下什麼是負載均衡

  2. 健康性檢查是如何實現的

  3. 配置熱載入?

  4. 從簡歷技能部分問,C語言中的指標和陣列的差別

  5. ptmalloc的實現

  6. static關鍵字

  7. Linux下程序間通訊

  8. Select、poll、epoll

  9. TCP流量控制和擁塞控制

  10. 執行緒和程序區別,從linux核心角度說一下(do_fork)

  11. 什麼是虛擬地址空間?

  12. mmap對映底層原始碼

  13. do_mmap在核心中有哪幾種使用方式(匿名、檔案對映、共享)

  14. 頁快取

  15. 說一下ping這個命令底層是做了什麼吧,ping本機和ping遠端過程上有哪些區別

騰訊二面(騰訊雲部門)

  1. 講一下負載均衡的設計

  2. 什麼是一致性雜湊

  3. 容災如何處理

  4. 如何加權控制後臺伺服器負載的平衡性的?

  5. 講一下epoll為什麼比poll效率高

  6. Send返回值為0的情況

  7. tcp的緩衝區

  8. 對核心感興趣,你是怎麼學的?

  9. 你有什麼想問我的嗎?

騰訊HR面

  1. 家是哪的

  2. 父母是做什麼的

  3. 你有什麼優點

  4. 有什麼缺點呢

  5. 周圍的同學如何評價你的

  6. 平時如何學習的

  7. 手裡現在哪家公司的offer

  8. 你有什麼問題

  隔了一天,收到offer call,當天晚上收到offer。

美團面經

美團一面:

  1.自我介紹

  2.專案說一下流程吧

  3.你專案測過嗎,併發量上不去有沒有修改什麼核心引數呢?

  4. http請求報文和應答報文的格式(三塊)

  5.說一下一致性雜湊是如何實現的(單調性、平衡性)

  6.有一臺伺服器掛了怎麼辦?

  7.資料庫有了解嗎(之前聊天專案用過,其他不會)

  8. web伺服器有熟悉的用過哪些?(沒有,只對nginx、apache安裝過,做過壓測,用來和自己專案對比,並表示有空會剖nginx)

  9. IO模型有哪幾種?

  10.非同步IO你知道有什麼應用的場景嗎?

  11.還有非同步IO有什麼缺點呢?

  12.你對多執行緒和多程序應用場景說一下(說了核心對執行緒和程序的實現,最後分析了IO密集型和CPU密集型)

  13.你剖核心的話,對你有什麼收穫嗎?

  14.來部門的話想從事核心開發嗎?

  15.平時是如何學習專業知識的?如何瞭解核心的?

  16.你有什麼想問我的嗎?

美團二面(之前沒有記錄,記不大清楚了):

  1.說一下專案流程(問了專案相關的挺多問題)

  2. IO複用原始碼。

  3.問了我核心原始碼部分,核心記憶體管理的夥伴系統和SLAB機制。各自的優缺點。

  4.你想來我部門不?然後講了他部門是幹嘛的等等等(要用python和java)

  5.我說想啊。他說你想的話就不給你安排三面了,後續給你安排hr,如果你想其他部門的話,給你加個三面

  (1個小時)

美團hr

  1.對美團有什麼瞭解?

  2.美團雲部門有什麼瞭解呢?

  3.在外工作有什麼看法?

  4.什麼時候入職?薪資?

  有些忘記了,但是大概是這麼多。

點選作者姓名,和作者大佬交流

來源:牛客網