1. 程式人生 > >已拿頭條offer的研發工程師面經(C++)

已拿頭條offer的研發工程師面經(C++)

研發工程師面經(C++)

阿里巴巴—研發工程師C/C++(一面掛)

  1. malloc和new的區別

  2. vector和list的區別

  3. C++如何實現多型,虛擬函式機制、虛指標、父類解構函式如果為非虛擬函式會有什麼後果

  4. 過載和覆蓋有啥區別

  5. 多執行緒程式設計

  6. 網路程式設計

  7. C++設計模式

  8. Redis

  9. 氣泡排序

  10. 給定一個數字陣列,寫一個函式,將所有0元素移動到它的末端,同時保持非零元素的相對順序

thoughtworks—軟體開發工程師(offer)

  1. 線上作業新增需求,然後現場編碼演示

  2. 自我介紹,專案介紹

  3. 深入介紹一個專案

  4. Sql、xss原理及防禦措施(簡歷上的內容)
    猿輔導——客戶端開發工程師(二面掛)

  5. 手撕程式碼: 二叉樹層次遍歷並按行輸出

  6. 手撕程式碼:將雙向連結串列按奇偶結點分開,形成兩個連結串列並返回

  7. 手撕程式碼:有序陣列二分查詢,返回查詢元素最後一次出現的位置,若不存在則返回-1

  8. C++關鍵字static

  9. 虛擬函式,虛擬函式呼叫細節,指標、引用、物件

  10. 指標和引用的區別,引用使用sizeof的值是多少,引用本身是否佔據空間

  11. http原理,請求頭,傳輸文字型別

貝殼找房—C++研發工程師(一面掛)

  1. 如何計算一個包含重複元素的陣列中不同元素的個數,[1,1,2,3,4,4,5],返回5

  2. Tcp三次握手、四次揮手,為什麼連線需要三次,斷開卻要四次

  3. 程序和執行緒的區別,程序通訊方式,執行緒通訊方式

  4. C++中如何實現記憶體管理

  5. new和malloc的區別

一點資訊—服務端開發工程師(offer)

  1. C++智慧指標如何解決記憶體洩露問題

  2. TCP的擁塞控制機制

  3. TCP的三次握手、四次揮手、為什麼連線需要三次,斷開需要四次,每個過程的狀態都是怎樣的

  4. 常見web安全問題,SQL注入、XSS、CSRF,基本原理以及如何防禦

  5. 各種語言的應用場景,如python的應用場景

  6. 型別嚴格與非型別嚴格的優缺點

  7. Linux硬連結和軟連線的區別

  8. Mysql如何實現快速查詢,索引,索引的實現,提高效率的原因

  9. 程式設計:判斷一棵二叉樹是否是平衡二叉樹

  10. 程式設計:二叉樹的廣度優先搜尋遍歷

  11. 程式設計:順時針列印矩陣

  12. 如何利用快排對一個單鏈表進行排序