百度校園招聘筆試試題-南京PC客戶端開發(fā)筆試題_第1頁
百度校園招聘筆試試題-南京PC客戶端開發(fā)筆試題_第2頁
百度校園招聘筆試試題-南京PC客戶端開發(fā)筆試題_第3頁
百度校園招聘筆試試題-南京PC客戶端開發(fā)筆試題_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PC一、問答題:501、寫出newmalloc、deletefree的區(qū)別從面向?qū)ο髞碚f,new/deletemalloc/free的區(qū)別是:malloc/free只是單純的進(jìn)行內(nèi)存空間的分配和釋放,而使用new/delete時(shí),不僅分配了內(nèi)存空間,若new/delete的是一個(gè)類,還會調(diào)用類(經(jīng)測試,基本類型好像不會進(jìn)行默認(rèn)初始化)的構(gòu)造函數(shù)或析構(gòu)函數(shù)。簡單來說,兩者的區(qū)別主要有:mallocfreeC++/C語言的標(biāo)準(zhǔn)庫函數(shù),new/deleteC++的運(yùn)算符,與”+“、”-“、”*“、”/“有一樣的地位。new/delete是可以重載的,而重載之后,就成為了函數(shù)。malloc在申請內(nèi)存的時(shí)候,必須要提供申請的長度,而且返回的指針是void*型,必須要強(qiáng)轉(zhuǎn)成需要的類型。new/delete在類中被重載的時(shí)候,可以自定義申請過程,比如記錄所申請內(nèi)存的總長度,以及跟蹤每個(gè)對象的指針。new/delete,其實(shí)內(nèi)部也調(diào)用了malloc/free。兩者的共同點(diǎn)有:都必須配對使用,防止內(nèi)存泄露。都可用于申請動(dòng)態(tài)內(nèi)存和釋放內(nèi)存,都是在堆中分配內(nèi)存。freedelete可以釋放NULL指針。2、寫兩個(gè)繼承類,解釋虛表指針和虛表的作用每一個(gè)類都有虛表。虛表可以繼承,如果子類沒有重寫虛函數(shù),那么子類虛表中仍然會有該函數(shù)的地址,只不過這個(gè)地址指向的是基類的虛函數(shù)實(shí)現(xiàn)。如果基類有3個(gè)虛函數(shù),那么基類的虛表中就有三項(xiàng)(虛函數(shù)地址),派生類也會有虛表,至少有三項(xiàng),如果重寫了相應(yīng)的虛函數(shù),那么虛表中的地址就會改變,指向自身的虛函數(shù)實(shí)現(xiàn)。如果派生類有自己的虛函數(shù),那么虛表中就會添加該項(xiàng)。派生類的虛表中虛函數(shù)地址的排列順序和基類的虛表中虛函數(shù)地址排列順序相同。3、寫出static的用法和作用staticC++中很常用的修飾符,它被用來控制變量的存儲方式和可見性。函數(shù)內(nèi)部定義的變量,在程序執(zhí)行到它的定義處時(shí),編譯器為它在棧上分配空間,大家知道,函數(shù)在棧上分配的空間在此函數(shù)執(zhí)行結(jié)束時(shí)會釋放掉,這樣就產(chǎn)生了一個(gè)問題:如果想將函數(shù)中此變量的值保存至下一次調(diào)用時(shí),如何實(shí)現(xiàn)?最容易想到的方法是定義一個(gè)全局的變量,但定義為一個(gè)全局變量有許多缺點(diǎn),最明顯的缺點(diǎn)是破壞了此變量的訪問范圍(使得在此函數(shù)中定義的變量,不僅僅受此函數(shù)控制)。需要一個(gè)數(shù)據(jù)對象為整個(gè)類而非某個(gè)對象服務(wù),同時(shí)又力求不破壞類的封裝性,即要求此成員隱藏在類的內(nèi)部,對外不可見。4、寫出計(jì)算機(jī)的存儲器層次,及原因以處理器為中心,計(jì)算機(jī)系統(tǒng)的存儲依次為寄存器、高速緩存、主存儲器、磁盤緩存、磁盤和可移動(dòng)存儲介質(zhì)等7個(gè)層次。距離處理器越近的存儲工作速度越高,容量越小。其中,寄存器、高速緩存、主存儲器為操作系統(tǒng)存儲管理的管轄范圍,磁盤和可移動(dòng)存儲介質(zhì)屬于操作系統(tǒng)設(shè)備管理的管轄范圍。5、寫出對windows中的句柄的理解所謂句柄實(shí)際上是一個(gè)數(shù)據(jù),是一個(gè)Long(整長型)的數(shù)據(jù)。句柄是WONDOWS用來標(biāo)識被應(yīng)用程序所建立或使用的對象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識諸如應(yīng)用程序?qū)嵗?,窗口,控制,位圖,GDI對象等等。WINDOWS句柄有點(diǎn)象C語言中的文件句柄。二、算法題:301、計(jì)算字符串的相似度-《編程之美》3.3intcalStringDis(stringstrA,intpABegin,intpAEnd,stringstrB,intpBBegin,intpBEnd)if(pABegin>pAEnd)if(pBBegin>pBEnd)return0;elsereturnpBEnd–pBBegin+1;if(pBBegin>pBEnd)if(pABegin>pAEnd)return0;elsereturnpAEnd–pABegin+1;if(strA[pABegin]==strB[pBBegin])returncalStringDis(strA,pABegin+1,pAEnd,strB,pBBegin+1,pBEnd);elseintt1=calStringDis(strA,pABegin+1,pAEnd,strB,pBBegin+2,pBEnd);intt2=calStringDis(strA,pABegin+2,pAEnd,strB,pBBegin+1,pBEnd);intt3=calStringDis(strA,pABegin+2,pAEnd,strB,pBBegin+2,pBEnd);returnminValue(t1,t2,t3)+1;2、判斷鏈表是否存在閉環(huán)//usingstep1andstep2here//ifexistsaloop,thenthepointerwhichusestep2willcatchupwiththepointerwhichusesstep1intHasLoop(LinkListL)intstep1=1;intstep2=2;LinkListp=L;LinkListq=//while(p!=NULL&&q!=NULL&&q->next==NULL)while(p!=NULL&&q!=NULL&&q->next!=NULL)p=p->next;if(q->next!=NULL)q=q->next->next;printf("p:%d,q:%d\n",p->data,q->data);if(p==q)return1;return0;三、系統(tǒng)設(shè)計(jì)題:選做一題201、連連看游戲中,寫出兩種算法的大致原理,來判斷兩個(gè)圖案是

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論