IT公司筆試面試題系列
C++筆試題
1.多態類中的虛函數表是Compile-Time,還是Run-Time時建立的?
答案:虛擬函數表是在編譯期就建立了,各個虛擬函數這時被組織成了一個虛擬函數的入口地址的數組.而對象的隱藏成員--虛擬函數表指針是在運行期--也就是構造函數被調用時進行初始化的,這是實現多態的關鍵.
2.一個父類寫了一個virtual 函數,如果子類覆蓋它的函數不加virtual ,也能實現多態?
在子類的空間裏,有沒有父類的這個函數,或者父類的私有變量? (華爲筆試題)
答案:只要基類在定義成員函數時已經聲明瞭virtue關鍵字,在派生類實現的時候覆蓋該函數時,virtue關鍵字可加可不加,不影響多態的實現。子類的空間裏有父類的所有變量(static除外)。
3.完成字符串拷貝可以使用 sprintf、strcpy 及 memcpy 函數,請問這些函數有什麼區別,你喜歡使用哪個,爲什麼?
答案:這些函數的區別在於實現功能以及操作對象不同。
py 函數操作的對象是字符串,完成從源字符串到目的字符串的拷貝功能。
intf 函數操作的`對象不限於字符串:雖然目的對象是字符串,但是源對象可以是字符串、也可以是任意基本類型的數據。這個函數主要用來實現(字符串或基本數據類型)向字符串的轉換功能。如果源對象是字符串,並且指定 %s 格式符,也可實現字符串拷貝功能。
py 函數顧名思義就是內存拷貝,實現將一個內存塊的內容複製到另一個內存塊這一功能。內存塊由其首地址以及長度確定。程序中出現的實體對象,不論是什麼類型,其最終表現就是在內存中佔據一席之地(一個內存區間或塊)。因此,memcpy 的操作對象不侷限於某一類數據類型,或者說可適用於任意數據類型,只要能給出對象的起始地址和內存長度信息、並且對象具有可操作性即可。鑑於 memcpy 函數等長拷貝的特點以及數據類型代表的物理意義,memcpy 函數通常限於同種類型數據或對象之間的拷貝,其中當然也包括字符串拷貝以及基本數據類型的拷貝。
對於字符串拷貝來說,用上述三個函數都可以實現,但是其實現的效率和使用的方便程度不同:
py 無疑是最合適的選擇:效率高且調用方便。
intf 要額外指定格式符並且進行格式轉化,麻煩且效率不高。
py 雖然高效,但是需要額外提供拷貝的內存長度這一參數,易錯且使用不便;並且如果長度指定過大的話(最優長度是源字符串長度 + 1),還會帶來性能的下降。其實 strcpy 函數一般是在內部調用 memcpy 函數或者用匯編直接實現的,以達到高效的目的。因此,使用 memcpy 和 strcpy 拷貝字符串在性能上應該沒有什麼大的差別。
-
河南省導遊人員資格考試筆試考務會議的通知解讀
一、會議內容1、安排筆試考試考務工作;2、有關領導講話;3、領取筆試考試試卷和考試用品。二、參會人員1、設置考點的省轄市旅遊局分管導遊人員資格考試工作的.負責人和工作人員各1人;2、省旅遊局巡考工作人員;3、鄭州市設置考點的院校(系)負責人。三、會議時間...
-
[老男孩筆記系列]-企業運維面試典型筆試題大彙總
問題70:編寫一個程序,接收兩個參數ID和content(1)如果這ID在文件中有,那麼在數據庫中插入一條記錄。(2)如果ID沒有那麼把ID和content寫入文件中。(來自《北京拓明科技有限公司》一燈同學提供2011-1-7)老男孩解答參考:分析:誤區,此題看似簡單,其實並不容易,好多學生,在文...
-
中海地產筆試經驗學生筆試經驗
今天上午中海地產筆試,正式開始找工作了,值得紀念。昨天晚上聽了金地的宣講會,對地產公司很是失望。像金地這樣的公司還停留在賣房子的階段,所以那個什麼方總直接就跟我說建築學的纔是他們最想要的,規劃景觀類就是打一下雜,等建築的把房子立起來後做做環境,填一下邊邊...
-
2015安永成都場筆試經驗
閱歷了兇殘的書面考試...感受我的智商已經走到止境了....但願對下一年的校招或者實習的童鞋有用....書面考試兩個par榜首par是邏輯測驗第二par是性情測驗榜首par分三塊閱覽覈算圖形推理每一塊兩組題4分鐘時刻一到直接跳轉.......所以請必定鼠標下手快....對於...