1.設計模式了解嗎?
2.c++物件導向的方式
面向過程的程式設計思路是,解決乙個問題分別幾個步驟,使用函式來完成各個步驟的任務,不同函式具有不同的功能,按照程式執行的順序呼叫函式,組成乙個可以執行的程式。
c++物件導向將問題模組化,抽象出各種類,類包含資料和對資料的操作,將類例項化就得到乙個具體的物件,對於問題的解決,需要依賴於各個類的物件,物件與物件之間相互利用,不可分割。封裝好的類,可以被繼承,對父類程序擴充套件和豐富能夠產生多型化的子類。
3.指標常量和常量指標的區別
指標常量是指這個指標本身是乙個常量,它不能改變指向的物件,但是物件本身儲存的內容可以改變;
常量指標是乙個指向常量的指標,本身是乙個變數,可以改變所指的物件,但是所指向的常量不能被改變。
4.函式形參分別是傳值、引用、指標的區別
傳值,是為引數建立乙個別名,傳遞給函式,是一種深複製,函式呼叫的物件與引數完全相同,但是不是同乙個物件,所以函式對傳值的引數的操作並不影響原引數。
傳引用,是一種淺複製的方式,它將引數的位址傳遞給函式,函式通過位址獲取或者改變引數的值,函式呼叫完畢,對於該引數的影響會得到保留。
傳指標,傳遞的是指向引數的指標,指標指向引數的位址,所以指標的操作結果跟傳引用的操作結果相同。
但是傳引用跟傳指標不同,引用貌似指標,可以看成乙個指標常量,就是不能改變所指物件,它沒有自己的記憶體空間,但是,指標具有自己的記憶體空間,也可以改變所指物件。
5.全域性變數和區域性變數的區別,他們儲存在**
全域性範圍的const變數作用域在整個檔案,其他檔案無法訪問,如果加上extern就可以在整個程式訪問該變數;區域性變數作用域在其宣告的花括號內部;全域性範圍的非const變數的宣告是外部的,其他檔案只能引用該變數的值,而不能重新定義,引用時需要加extern來重新宣告。 全域性變數儲存在全域性區,未初始化的全域性變數儲存在.bss區,初始化了的全域性變數儲存在.data區。普通區域性變數儲存在棧區,靜態區域性變數儲存在全域性區(也叫靜態區)。
6.函式指標和指標函式的區別,手寫乙個指標函式
見部落格7. 解釋析構函式
1)乙個類有且僅有乙個析構函式,析構函式是在物件生存期即將結束時被系統自動呼叫,用來釋放物件占用的記憶體,呼叫結束之後,物件也就消失了。析構函式不具有任何引數,沒有返回型別,如果類中沒有定義析構函式函式,系統會自動生成乙個函式體為空的隱含析構函式。
2)析構函式可以是虛函式,在乙個複雜類結構中,父類應該定義它的析構函式為虛函式,這樣的話,在delete乙個指向子類物件的基類指標時,才能呼叫其子類的析構函式,釋放子類記憶體空間。宣告乙個基類的指標,指向子類的物件時,先呼叫基類建構函式,再呼叫子類建構函式。
#include using namespace std;
class base{
public:
base(){
cout<<"in base construct"《輸出結果:
in base construct
in derived construct
in derived destruct
in base destruct
3)定義乙個子類物件時,先呼叫基類的建構函式,再呼叫子類的建構函式;析構乙個子類物件時相反,先呼叫子類析構函式,再呼叫父類析構函式(父類析構函式不是虛函式也可以得到呼叫)。
#include using namespace std;
class base{
public:
base(){
cout<<"in base construct"《輸出結果:
in base construct
in derived construct
in derived destruct
in base destruct
4)析構函式可以是純虛函式,純虛函式雖然也允許有函式體(也就是允許實現),即使給出實現,子類也必須覆蓋,否則無法例項化,但是基類的純虛析構函式必須有函式體(必須有實現),因為子類析構函式執行完要呼叫基類的純虛析構函式。
8.c++中如何實現記憶體管理(c++記憶體管理)
c++提供一組記憶體管理函式來分配和釋放記憶體。
見部落格另乙個部落格
9.棧溢位 怎麼解決這個問題
1.修改系統棧的大小;
2.不會
10.智慧型指標原理?
11. new和malloc的區別
貝殼找房面試之作業系統
作業系統 1.作業系統如何實現互斥鎖 2.對轉語言有什麼看法?3.指著我的簡歷,讓我講講我簡歷裡最擅長的。對稱加密與非對稱加密區別。圖的的資料結構是什麼?如何表示。session 與 cookie。鎖有哪些 說說 epoll 模型。面試官上來乙個問題,你的優點是什麼 程序和執行緒,程序通訊方式,執行...
貝殼找房算數(中等)
描述 輸入格式 一行兩個正整數,分別表示 n和k。保證1 n 1e6,1 k 1e18。輸出格式 乙個整數表示答案。樣例輸入 9 5樣例輸出 思路對於數字積相同的可以只算一次,用map存起來個數,這樣就可以將複雜度壓下來了。include pragma warning disable 4786 de...
貝殼找房 丟失的卡片
有一疊 編號為1 n的卡片。吹落了一張。輸入剩餘n 1張卡編號中0 9出現的次數。次數不大於300 輸出卡片數目n和吹落卡片的編號。如果吹落卡片的解不唯一,從小到大排 輸入樣例 2 12 9 3 3 3 3 2 2 2 輸出樣例 26 12 26 21 晚上又寫了一段 基本思路是 0.check了0...