「互聯網企業每一年校招的技術面試形式相似,大可能是對面試者技術基礎的考察。本文面對C++後臺開發崗位,收集總結了百餘道技術基礎題。供你們學習和準備。 」c++
文 | Amazing10面試
c++具備哪些特色和性質,和c有什麼區別
指針的做用
全局變量的缺點
c++對象的生命週期
c和C++中動態分配內存是怎樣實現
爲何建議多用組合少用繼承
編譯語言和解釋語言的區別
面對對象的思想,還有什麼其它編程思想
多態是什麼,有哪幾種
doule 和float二進制怎麼存的,double 1.5 和 float 1.5 的大小
c++的對象模型(內存模型,虛函數表,虛函數指針)
有沒有了解智能指針
dynamic_cast有什麼用
智能指針shared_ptr,循環引用的狀況怎麼辦,weak_ptr的弱引用什麼意思
野指針是什麼
lambda函數
rand函數須要注意什麼
c++模板
static關鍵字
常量指針與指針常量
函數參數傳常引用和普通函數參數
內存泄漏緣由及如何避免
深拷貝和淺拷貝
右值引用
虛表
全部類都有虛表嗎
C++是單繼承仍是多繼承,菱形繼承的問題,爲何虛繼承能解決
強制類型轉換,static_cast和dynamic_cast的區別,爲何dynamic_cast可以向上向下轉
RTTI的底層實現原理,如何動態得到類型,怎麼判斷指針對象的繼承關係
函數重載?有什麼用?怎麼實現的?爲何不能用返回值不一樣函數名形參列表相同作重載呢?
重載和重寫
結構體和類的區別
拷貝構造和移動構造
什麼狀況下必須使用拷貝構造函數
內存堆棧對比,分配效率
全局變量放哪兒
碎片會出如今哪內存區域
malloc底層實現
volatile做用,寄存器
new和malloc的區別
delete的幾種方式
面向對象的特色
子類和父類在構造和析構的時候有什麼特色嗎,順序
基類的析構函數,不是虛函數會形成什麼問題
純虛函數和虛函數的區別
引用的做用
常引用
結構體和聯合體,對聯合不一樣成員賦值,其它的值會改變嗎
c++是類型安全的嗎
const和define的區別,哪一種更好
指針和數組的區別
全局變量和局部變量的區別,操做系統和編譯器是怎麼知道的
標準模板庫,哪些數據結構,怎麼分類
迭代器
何時用vector和list,實現的方案
STL vector擴容怎麼實現
STL中map和unordered_map的區別,兩種map的底層實現算法
設計模式原則
單例模式的線程安全實現
觀察者模式
代理模式
爲何要採用工廠模式,策略模式,必定要用嗎編程
常見排序算法及其複雜度,哪些穩定和非穩定
快速排序爲何隨機選初始值
建堆的過程及建堆後如何排序
快速排序和歸併排序的過程
數據結構知道哪些,對比下數組和鏈表
鏈表的做用
紅黑樹和平衡二叉搜索樹
哈希表
哈希衝突解決辦法
如何判斷圖的連通性
堆和棧的區別
b+樹設計模式
Linux經常使用命令,查看系統負載狀況,查看端口號,端口號被佔用怎麼辦
如何查看服務器運行時間?看是否有重啓和宕機?
Linux系統的gdb調試
Linux查看進程的命令
ping一個ip發生了什麼
鎖的概念
如何避免死鎖
進程和線程的區別
線程同步的方式,讀寫鎖
進程間的通訊方式
多線程中對A,B同時加鎖的時候,須要注意什麼問題(死鎖的狀況)
如何避免死鎖
epoll和select區別,水平觸發和邊沿觸發
Reactor模式,調度器、工做線程和請求隊列都會幹什麼,狀態發生什麼改變
單進程如何進行IO複用
epoll的單線程
select的實現須要多線程嗎
虛擬內存和物理內存
爲何用多線程,不一樣線程共享棧嗎
軟中斷何時發生
殭屍進程、孤兒進程
操做系統複製粘貼如何實現
頁面置換算法
進程調度算法
線程池怎麼實現數組
TCP的TIME_WAIT 和CLOST_WAIT
time_wait 和close_wait,客戶端斷開鏈接了,服務器會怎樣
TCP的可靠性,超時重傳怎麼實現
UDP和TCP對比
http狀態碼
HTTP和HTTPS
HTTPS加密過程
非對稱加密和對稱加密算法
代理
udp的限制,udp是有序仍是無序
輸入一個URL,回車後直到渲染出頁面中間發生了什麼?(dns是屬於TCP仍是UDP)
tcp三次握手
session和cookie的區別
get和post的區別
滑動窗口
ARP協議,描述一下原理
路由器和交換機分別在什麼層安全
手寫LRU頁面置換算法
手寫最小堆
從n個數中抽m個出來,按從大到大輸出全部排列組合
改編的約瑟夫環問題
計算化學分子式每一個元素的個數,如HMg2(H2O(P2S3))3NH3,每一個元素以大寫字母開頭
鏈表操做,奇數位遞增,偶數爲遞減,從新排序爲遞增
鏈表每隔k個反轉
實現 void memmove(void dst, const void* src, size_t n)
N個數重複3次,一個數重複一次,請找到這個數; 3N+1, int32_t, vector<int32_t>
實現一下string類,包括構造函數,拷貝構造函數,析構函數,運算符重載等
一顆多叉樹,實現層序遍歷以及元素賦值操做
手寫快排服務器
如何看待加班現象
手機的指紋識別是如何實現的?
抽獎箱設計,三種顏色A,B,C,要求每種顏色的權重(機率)分別爲1:10:100,怎麼產生三種顏色
兩個文件有上億個qq號,找重複的
大量qq號存儲、查詢和查重
1-n,缺失了一個數,找到這個數
假設內存不夠,相加溢出,怎麼辦cookie
如何看待加班現象
不作技術轉什麼方向
看過什麼書,看過什麼庫
意向城市
有沒有了解顯卡
課餘時間都在幹什麼
學科課程比較突出的
在項目中的優點和劣勢
字節範兒
做爲項目負責人要注意到什麼
目前爲止經歷最大的挫折是什麼?如何走出來的?
平時有什麼興趣愛好?
爲何不繼續作原來的方向?
對工做的誠實有什麼見解?
你的職業規劃?session
關注公衆號【業餘碼農】,回覆 關鍵字[ 秋招 ],有面經解答資源相送哦。
本文來源爲業餘碼農,轉載請聯繫本公衆號得到受權。
推薦閱讀
生物專業女生教你準備兩個月簽約AI獨角獸
生物專業卻能簽約字節跳動,在大學期間他經歷了什麼
一文教你如何作好大廠技術崗的面試準備
Amazing10承蒙厚愛。