雖然面試技巧和心態也很重要,但這裡只有24k純技術乾貨,期望大家能夠準備好,進入我司。點讚後,收藏吧!
c++多型的實現?
虛函式的作用?
虛函式用於實現多型,這點大家都能答上來但是虛函式在設計上還具有封裝和抽象的作用。比如抽象工廠模式。
動態繫結是如何實現的?
靜態多型和動態多型。靜態多型是指通過模板技術或者函式過載技術實現的多型,其在編譯器確定行為。動態多型是指通過虛函式技術實現在執行期動態繫結的技術。
虛函式表
虛函式表是針對類的還是針對物件的?同乙個類的兩個物件的虛函式表是怎麼維護的?
編譯器為每乙個類維護乙個虛函式表,每個物件的首位址儲存著該虛函式表的指標,同乙個類的不同物件實際上指向同一張虛函式表。
建構函式中計數初始化為1;
拷貝建構函式中計數值加1;
賦值運算子中,左邊的物件引用計數減一,右邊的物件引用計數加一;
析構函式中引用計數減一;
在賦值運算子和析構函式中,如果減一後為0,則呼叫delete釋放物件。
share_prt與weak_ptr的區別?
這一塊考察範圍太廣,主要靠多刷題吧,牛客網,劍指offer,leetcode等。
幾十億個數經常要查詢某乙個數在不在裡面,使用布隆過濾器,布隆過濾器的原理。布隆過濾器可能出現誤判,怎麼保證無誤差?
tcp重發機制,nagle演算法
tcp的擁塞控制使用的演算法和具體過程
tcp的視窗滑動
http資料由請求行,首部字段,空行,報文主體四個部分組成
首部字段分為:通用首部字段,請求首部字段,響應首部字段,實體首部字段
至少了解攻擊的原理和基本的防禦方法,常見的攻擊方法有一下幾種
(1) 程序與執行緒區別?
(2) 執行緒比程序具有哪些優勢?
(3) 什麼時候用多程序?什麼時候用多執行緒?
(4) linux中程序和執行緒使用的幾個函式?
(5) 執行緒同步?
在windows下執行緒同步的方式有:互斥量,訊號量,事件,關鍵**段
在linux下執行緒同步的方式有:互斥鎖,自旋鎖,讀寫鎖,屏障(併發完成同一項任務時,屏障的作用特別好使) 知道這些鎖之間的區別,使用場景?
匿名管道與命名管道的區別:匿名管道只能在具有公共祖先的兩個程序間使用。
共享檔案對映mmap
mmap建立程序空間到檔案的對映,在建立的時候並不直接將檔案拷貝到物理記憶體,同樣採用缺頁終端。mmap對映乙個具體的檔案可以實現任意程序間共享記憶體,對映乙個匿名檔案,可以實現父子程序間共享記憶體。
常見的訊號有哪些?:sigint,sigkill(不能**獲),sigterm(可以**獲),sigse**,sigchld,sigalrm
虛擬記憶體的作用?
虛擬記憶體的實現?
作業系統層面對記憶體的管理?
記憶體池的作用?stl裡記憶體池如何實現?
程序空間和核心空間對記憶體的管理不同?
linux的slab層,vam?
夥伴演算法
高階記憶體
linux程序分為兩種,實時程序和非實時程序;
優先順序分為靜態優先順序和動態優先順序,優先順序的範圍;
排程策略
互動程序通過平均睡眠時間而被獎勵;
(1) 死鎖產生的條件;
(2) 死鎖的避免;
linux命令 在乙個檔案中,倒序列印第二行前100個大寫字母
cat filename | head -n 2 | tail -n 1 | grep '[[:upper:]]' -o | tr -d '\n'| cut -c 1-100 | rev
與cpu,記憶體,磁碟相關的命令(top,free, df, fdisk)
網路相關的命令netstat,tcpdump等
sed, awk, grep三個超強大的命名,分別用與格式化修改,統計,和正則查詢
ipcs和ipcrm命令
查詢當前目錄以及字母下以.c結尾的檔案,且檔案中包含」hello world」的檔案的路徑
建立定時任務
五種io模型:阻塞io,非阻塞io,io復用,訊號驅動式io,非同步io
select,poll,epoll的區別
孤兒程序是怎麼產生的?
僵死程序是怎麼產生的?
僵死程序的危害?
如何避免僵死程序的產生?
夥伴演算法,用於管理物理記憶體,避免記憶體碎片;
快取記憶體slab層用於管理核心分配記憶體,避免碎片。
互斥鎖,自旋鎖,訊號量,讀寫鎖,屏障
互斥鎖與自旋鎖的區別:互斥鎖得不到資源的時候阻塞,不占用cpu資源。自旋鎖得不到資源的時候,不停的查詢,而然占用cpu資源。死鎖
答案在我這篇部落格中給出了自己理解的程度,歡迎交流!
以下還總結成了文件,目錄內容同上,同時總結了一些技巧:
C 後台開發面試 STL相關
六大元件及其關係 空間配置器 容器 迭代器 演算法 仿函式 介面卡 記憶體管理 記憶體配置和物件構造 析構分開。使用雙層級配置器 第一級直接 malloc,free 第二級記憶體池 維護 16 個自由鍊錶 迭代器 一種智慧型指標 vector 動態分配的陣列,連續線性空間 維護 3 個迭代器 sta...
後台開發面試整理之C
對於一些平台,特定的資料型別只能從特定的位址進行讀取,隨意防止將導致錯誤。而更一般的情況是,如果不按照規定存放資料,將會造成讀寫效率上的損耗。比如32位的intel處理器通過匯流排訪問 包括讀和寫 記憶體資料。每個匯流排週期從偶位址開始訪問32位記憶體資料,記憶體資料以位元組為單位存放。如果乙個32...
專案開發時clearcase一般使用步驟
clearcase 靜態檢視安裝步驟 1 unix下建立靜態檢視 如 進入vi狀態,在最後一行加入以下行,用於指明載入模組,注意其它行不要修改 clearcase 活動與程式檔案的關係 1 一次定版活動中只能包含本次上線的檔案元素 程式 2 乙個元素的所有版本必須包含在本次上線的活動中 乙個或多個活...