版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、中青寶網(wǎng)C+筆試題及答案中青寶網(wǎng)面試題:以下給出的是我之前參加一家網(wǎng)絡(luò)游戲公司招聘C+程序員的筆試題,這套題目整個(gè)測(cè)試的時(shí)間長(zhǎng)達(dá)三個(gè)小時(shí)前言:1請(qǐng)寫(xiě)代碼打印100之內(nèi)的素?cái)?shù),講求效率(請(qǐng)做你的解法的 效率分析)考察數(shù)據(jù)結(jié)構(gòu)的知識(shí)點(diǎn),這里可使用篩選法,該方法是大部分?jǐn)?shù) 據(jù)結(jié)構(gòu)書(shū)籍都有講解的算法,當(dāng)然還有時(shí)間復(fù)雜度更低的算法(空間 復(fù)雜度),但是因?yàn)榍笾捣秶鸀? 100,故綜合來(lái)看,篩選法的效率 是最咼的。int mai n()int *sieve;int n;int iCoun ter=2, iMax, i;printf( Please in put max nu mber:);sca nf(
2、%d ,sieve=(i nt*)malloc( n-1)*sizeof(i nt);for(i=0;isievei=i+2;iMax = (in t)sqrt (n);while (iCo un terfor (i=2*iCou nter-2; isievei = 0;iCo un ter+; for(i=0; iif (sievei!=0) pri ntf( %d ,sievei);return 0;2求m,n的最大公約數(shù)考察數(shù)據(jù)結(jié)構(gòu)的知識(shí)點(diǎn),求公約數(shù)的算法很多,可考慮效率較高 的歐幾里德遞歸算法,int gcd(i nt m,i nt n)int temp = 0;if(mtemp =
3、m;m = n;n 二 temp;if(n 二二 0)return m;elsereturn gcd1( n, m%n);3輸入10個(gè)字符串,打印出其中重復(fù)的字符串以及重復(fù)的次數(shù)考察C+容器的知識(shí),這里考察的MAPint mai n()stri ng str;map content;for( int ent = 0; entcin str;(con te nt.i nsert(make_pair(str, O).first)-sec on d+;map:iterator it = conten t.begi n();for( ; it != conten t.e nd(); +it )cout
4、 firstreturn 0;4請(qǐng)畫(huà)圖例(UML最好),給出windows下的文件目錄的設(shè)計(jì) 模式考察數(shù)據(jù)結(jié)構(gòu),文件目錄是一個(gè)樹(shù)5用00表示狼吃羊羊吃草考察00思想,定義4個(gè)或5個(gè)類(lèi),有繼承體系、虛函數(shù)即可。 以4個(gè)類(lèi)的模型為例,定義動(dòng)物基類(lèi)、狼類(lèi)、羊類(lèi),草類(lèi)。羊、狼類(lèi) 從動(dòng)物基類(lèi)派生,基類(lèi)有虛eat方法。在狼類(lèi)里實(shí)現(xiàn)成員函數(shù)eat(參 數(shù)),參數(shù)為羊類(lèi),同樣羊類(lèi)的eat函數(shù)的參數(shù)為草類(lèi)。問(wèn)答題:1什么是subversion ?它與vss,cvs的區(qū)別在哪?或者有什么 優(yōu)勢(shì)?Subversion是版本管理工具,它與vss的區(qū)別在SVN采用的是“拷貝-修改-合并”模型,而VSS使用的是“鎖定-修
5、改-解鎖”模型, SVN的優(yōu)勢(shì)在于版本可恢復(fù):每次更新都會(huì)產(chǎn)生一個(gè)新的版本,如 果需要回復(fù)到之前的版本,只需要簡(jiǎn)單地執(zhí)行版本回復(fù)即可。2什么是wiki,關(guān)于程序項(xiàng)目的wiki你使用過(guò)哪些? wiki對(duì)你 有什么幫助嗎? wiki與程序文擋的差別在哪?Wiki指一種超文本系統(tǒng)。這種超文本系統(tǒng)支持面向社群的協(xié)作式寫(xiě)作,同時(shí)也包括一組支持這種寫(xiě)作的輔助工具。有人認(rèn)為,Wiki系統(tǒng)屬于一種人類(lèi)知識(shí)網(wǎng)格系統(tǒng),我們可以在 Web的基礎(chǔ)上對(duì) Wiki 文本進(jìn)行瀏覽、創(chuàng)建、更改,而且創(chuàng)建、更改、發(fā)布的代價(jià)遠(yuǎn)比HTML 文本??;同時(shí) Wiki系統(tǒng)還支持面向社群的協(xié)作式寫(xiě)作,為協(xié)作式寫(xiě) 作提供必要幫助;最后,Wi
6、ki的寫(xiě)作者自然構(gòu)成了一個(gè)社群, Wiki 系統(tǒng)為這個(gè)社群提供簡(jiǎn)單的交流工具。與其它超文本系統(tǒng)相比,Wiki 有使用方便及開(kāi)放的特點(diǎn),所以 Wiki系統(tǒng)可以幫助我們?cè)谝粋€(gè)社群 內(nèi)共享某領(lǐng)域的知識(shí)。3什么是tdd ?你使用過(guò)嗎? tdd的關(guān)鍵在哪?跟傳統(tǒng)的單元測(cè) 試相比,有什么優(yōu)越性?TDD,測(cè)試驅(qū)動(dòng)開(kāi)發(fā),它的基本思想就是在開(kāi)發(fā)功能代碼之前, 先編寫(xiě)測(cè)試代碼。也就是說(shuō)在明確要開(kāi)發(fā)某個(gè)功能后,首先思考如何 對(duì)這個(gè)功能進(jìn)行測(cè)試,并完成測(cè)試代碼的編寫(xiě),然后編寫(xiě)相關(guān)的代碼 滿(mǎn)足這些測(cè)試用例。然后循環(huán)進(jìn)行添加其他功能,直到完成全部功能 的開(kāi)發(fā)。代碼整潔可用是測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的目標(biāo)。4什么是單元測(cè)試?你用過(guò)哪些
7、單元測(cè)試工具?他們的區(qū)別和好處各有哪些?你主要傾向于哪一種?單元測(cè)試,是最小粒度的測(cè)試,以測(cè)試某個(gè)功能或代碼塊。一般 由程序員來(lái)做,因?yàn)樗枰纼?nèi)部程序設(shè)計(jì)和編碼的細(xì)節(jié)。單元測(cè)試的對(duì)象是軟件設(shè)計(jì)的最小單位一一模塊。 單元測(cè)試的依據(jù)是詳細(xì)設(shè) 描述,單元測(cè)試應(yīng)對(duì)模塊內(nèi)所有重要的控制路徑設(shè)計(jì)測(cè)試用例,以便發(fā)現(xiàn)模塊內(nèi)部的錯(cuò)誤。單元測(cè)試多采用白盒測(cè)試技術(shù),系統(tǒng)內(nèi)多個(gè)模 塊可以并行地進(jìn)行測(cè)試。工具包括 CUNIT , CPPUNIT, VS2005自 帶工具等。5什么是編程規(guī)范?你傾向于什么樣的規(guī)范?他的好處在哪?編程規(guī)范就是為了便于自己和他人閱讀理解源程序, 而制定的一 個(gè)規(guī)范。如在Visual C+
8、中源程序中變量的取名一般采用匈牙利表 示法則,該法則要求每個(gè)變量名都有一個(gè)前綴,用于表示變量的類(lèi)型, 后面是代表變量含義的一串字符串。 例如,前綴n表示整形變量,前 綴sz表示以0結(jié)束的字符串變量,前綴Ip表示指針變量。編程規(guī)范 只是一個(gè)規(guī)范,也可以不遵守,但是要做一個(gè)有良好編程風(fēng)格的程序 員,就一定要遵守編程規(guī)范,不僅方便自己以后的閱讀,也方便與其 他程序員的交流。6什么是mfc ?你經(jīng)常使用那些 mfc類(lèi)?那么為什么很多人不 主張使用mfc ?MFC,微軟基礎(chǔ)類(lèi)(Microsoft Foundation Classes),同 VCL 類(lèi)似,是一種 Application Framework
9、,隨微軟 Visual C+ 開(kāi)發(fā)工 具發(fā)布。目前最新版本為9.0 (截止2008年11月)。該類(lèi)庫(kù)提供一 組通用的可重用的類(lèi)庫(kù)供開(kāi)發(fā)人員使用。大部分類(lèi)均從CObject直接或間接派生,只有少部分類(lèi)例外。為什么很多人不主張使用mfc,首先MFC不具備跨平臺(tái)的能力,其次 MFC的高度封裝(比如網(wǎng)絡(luò) 相關(guān)的類(lèi)),導(dǎo)致一些細(xì)節(jié)的處理反而不方便。7什么是頭文件依賴(lài)?你注意過(guò)這些問(wèn)題嗎?你注意過(guò)編譯的時(shí)間嗎?你怎么改進(jìn)編譯時(shí)間?源文件所需要(#include)的頭文件稱(chēng)為頭文件依賴(lài)。改進(jìn)編譯 時(shí)間可以采取“預(yù)編譯頭文件”的方法。8什么是面向?qū)ο螅磕阍谀男┓矫嬗眠^(guò)面向?qū)ο??帶?lái)了什么 好處?又有什么弊端?
10、“面向?qū)ο蟆笔菍?zhuān)指在程序設(shè)計(jì)中采用封裝、繼承、抽象等設(shè)計(jì) 方法??墒牵@個(gè)定義顯然不能再適合現(xiàn)在情況。面向?qū)ο蟮乃枷胍?經(jīng)涉及到軟件開(kāi)發(fā)的各個(gè)方面。女口,面向?qū)ο蟮姆治觯?0A,ObjectOriented Analysis ),面向?qū)ο蟮脑O(shè)計(jì)(OOD , Object OrientedDesign )、以及我們經(jīng)常說(shuō)的面向?qū)ο蟮木幊虒?shí)現(xiàn)( OOP , Object Orien ted Program ming)。好處:第一,類(lèi)具有獨(dú)立性由于這種獨(dú)立的存在,使得和其他的 過(guò)程也好,對(duì)象也罷 能夠不 彼此牽引避免 牽一發(fā)而動(dòng)全身 的局面,這有利于維護(hù)和調(diào)試。第二,類(lèi)具有通用性這種通用性,是通過(guò)抽
11、象得來(lái)的所謂抽象,就是抽取出事物的共 同特征并且加以概括。正是因?yàn)檫@種通用性 的實(shí)現(xiàn),才造就了re-use 的可能。第三,類(lèi)具有靈活性由于第二個(gè)特征的存在,加上客觀事物的特殊性,有可能通用的類(lèi) 中一部分成員方法變得不通用,這個(gè)時(shí)候通過(guò)繼承和Overload的 機(jī)制,使得它能夠應(yīng)付某些特殊情況,從而實(shí)現(xiàn)了 靈活性。弊端:有可能會(huì)降低程序的執(zhí)行速度9什么是接口編程.com,他帶來(lái)了什么好處?適用于什么地 方?COM ( Componet Object Model,組件對(duì)象模型),是一種說(shuō)明如何建立可動(dòng)態(tài)互變組件的規(guī)范,此規(guī)范提供了為保證能夠互操 作,客戶(hù)和組件應(yīng)遵循的一些二進(jìn)制和網(wǎng)絡(luò)標(biāo)準(zhǔn)。通過(guò)這種
12、標(biāo)準(zhǔn)將可以在任意兩個(gè)組件之間進(jìn)行通信而不用考慮其所處的操作環(huán)境是否相同、使用的開(kāi)發(fā)語(yǔ)言是否一致以及是否運(yùn)行于同一臺(tái)計(jì)算機(jī)COM的好處:首先:用戶(hù)一般希望能夠定制所用的應(yīng)用程序, 而組件技術(shù)從本 質(zhì)上講就是可被定制的,因而用戶(hù)可以用更能滿(mǎn)足他們需要的某個(gè)組 件來(lái)替換原來(lái)的那個(gè)。其次,由于組件是相對(duì)應(yīng)用程序獨(dú)立的部件, 我們可以在不同的程序中使用同一個(gè)組件而不會(huì)產(chǎn)生任何問(wèn)題, 軟件的可重用性將大大 的得到增強(qiáng)。第三,隨著網(wǎng)絡(luò)帶寬及其重要性的提高,分布式網(wǎng)絡(luò)應(yīng)用程序毫無(wú)疑問(wèn)的成為軟件市場(chǎng)上越來(lái)越重要的買(mǎi)點(diǎn)組件價(jià)構(gòu)可以使得開(kāi)發(fā)這類(lèi)應(yīng)用程序的過(guò)程得以簡(jiǎn)化10什么是設(shè)計(jì)模式?使用設(shè)計(jì)模式有什么好處?列舉你
13、使用 過(guò)的設(shè)計(jì)模式設(shè)計(jì)模式使人們可以更加簡(jiǎn)單方便地復(fù)用成功的設(shè)計(jì)和體系結(jié) 構(gòu)。一些基本的設(shè)計(jì)模式:Abstract Factory :提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴(lài)對(duì)象的 接口,而無(wú)需指定它們具體的類(lèi)。Adapter :將一個(gè)類(lèi)的接口轉(zhuǎn)換成客戶(hù)希望的另外一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類(lèi)可 以一起工作。Bridge :將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化Builder :將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的 構(gòu)建過(guò)程可以創(chuàng)建不同的表示。Cha in of Respo nsibility:為解除請(qǐng)求的發(fā)送者和接收者之間耦合,而使多
14、個(gè)對(duì)象都有機(jī)會(huì)處理這個(gè)請(qǐng)求。將這些對(duì)象連成一條鏈, 并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它。Comma nd :將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的 請(qǐng)求對(duì)客戶(hù)進(jìn)行參數(shù)化;對(duì)請(qǐng)求排隊(duì)或記錄請(qǐng)求日志,以及支持可取 消的操作。Composite :將對(duì)象組合成樹(shù)形結(jié)構(gòu)以表示“部分-整體”的層 次結(jié)構(gòu)。它使得客戶(hù)對(duì)單個(gè)對(duì)象和復(fù)合對(duì)象的使用具有一致性。Decorator :動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。就擴(kuò)展功 能而言,它比生成子類(lèi)方式更為靈活。Facade :為子系統(tǒng)中的一組接口提供一個(gè)一致的界面,F(xiàn)acade模式定義了一個(gè)高層接口,這個(gè)接口使得這一子系統(tǒng)更加容易使用。Facto
15、ry Method :定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類(lèi)決定 將哪一個(gè)類(lèi)實(shí)例化。Factory Method 使一個(gè)類(lèi)的實(shí)例化延遲到其子 類(lèi)。Flyweight :運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。Interpreter :給定一個(gè)語(yǔ)言,定義它的文法的一種表示,并定義 一個(gè)解釋器,該解釋器使用該表示來(lái)解釋語(yǔ)言中的句子。Iterator :提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素,而又不需暴露該對(duì)象的內(nèi)部表示Mediator :用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互。中介者 使各對(duì)象不需要顯式地相互引用,從而使其耦合松散,而且可以獨(dú)立 地改變它們之間的交互。Meme nto :在不破壞封裝性的前提下,捕獲一個(gè)對(duì)象的內(nèi)部狀 態(tài),并在該對(duì)象之外保存這個(gè)狀態(tài)。這樣以后就可將該對(duì)象恢復(fù)到保 存的狀態(tài)。Observer :定義對(duì)象間的一種一對(duì)多的依賴(lài)關(guān)系,以便當(dāng)一個(gè)對(duì) 象的狀態(tài)發(fā)生改變時(shí),所有依賴(lài)于它的對(duì)象都得到通知并自動(dòng)刷新。Prototype :用原型實(shí)例指定創(chuàng)建對(duì)象的種類(lèi),并且通過(guò)拷貝這 個(gè)原型來(lái)創(chuàng)建新的對(duì)象。Proxy :為其他對(duì)象提供一個(gè)代理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。Singleton :保證一個(gè)類(lèi)僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全 局訪問(wèn)點(diǎn)。State :允許一個(gè)對(duì)象在其內(nèi)部狀態(tài)改變時(shí)改變它的行為。對(duì)象 看起來(lái)似乎修改了
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年湘師大新版選擇性必修1歷史上冊(cè)月考試卷含答案
- 2025年蘇人新版九年級(jí)地理上冊(cè)階段測(cè)試試卷含答案
- 2025年湘教新版九年級(jí)地理下冊(cè)月考試卷
- 2025年滬科版選修1歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年滬教新版九年級(jí)歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年北師大版九年級(jí)歷史下冊(cè)月考試卷
- 2025年西師新版選擇性必修1物理下冊(cè)階段測(cè)試試卷
- 2025年岳麓版九年級(jí)地理上冊(cè)階段測(cè)試試卷
- 2025年度耐火材料行業(yè)標(biāo)準(zhǔn)化建設(shè)合同4篇
- 二零二五版鋁型材節(jié)能減排技術(shù)合作合同3篇
- 2024年安全教育培訓(xùn)試題附完整答案(奪冠系列)
- 神農(nóng)架研學(xué)課程設(shè)計(jì)
- 文化資本與民族認(rèn)同建構(gòu)-洞察分析
- 2025新譯林版英語(yǔ)七年級(jí)下單詞默寫(xiě)表
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開(kāi)大學(xué))爾雅章節(jié)測(cè)試網(wǎng)課答案
- 《錫膏培訓(xùn)教材》課件
- 斷絕父子關(guān)系協(xié)議書(shū)
- 福建省公路水運(yùn)工程試驗(yàn)檢測(cè)費(fèi)用參考指標(biāo)
- 2024年中國(guó)工業(yè)涂料行業(yè)發(fā)展現(xiàn)狀、市場(chǎng)前景、投資方向分析報(bào)告(智研咨詢(xún)發(fā)布)
- 工程勘察資質(zhì)分級(jí)標(biāo)準(zhǔn)和工程設(shè)計(jì)資質(zhì)分級(jí)標(biāo)準(zhǔn)
- 2023年四級(jí)計(jì)算機(jī)程序設(shè)計(jì)員核心考點(diǎn)題庫(kù)300題(含答案)
評(píng)論
0/150
提交評(píng)論