




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
...v.軟件開發(fā)者面試百問1月13日,著名博客作者JurgenAppelo寫了一篇博文:“軟件開發(fā)者面試百問〞。該文甚受讀者歡送,15日便登上了delicious,Popurls.,以下為文章全文:想雇到搞軟件開發(fā)的聰明人可不容易。萬一一不小心,就會搞到一堆低能大狒狒。我去年就碰到這種事了。你肯定不想這樣吧。聽我的,沒錯。在樹上開站立會議門都沒有。問點(diǎn)有難度的問題能幫你把聰明人跟狒狒們分開。我決定把我自己整理出來的軟件開發(fā)者面試百問發(fā)出來,希望能幫到你們的忙。這個列表涵蓋了軟件工程知識體系中定義的大多數(shù)知識域。當(dāng)然,如果你只想找出類拔萃的程序員,便只需涉及構(gòu)造、算法、數(shù)據(jù)構(gòu)造、測試這幾個話題。如果想雇架構(gòu)師,也可以只考慮需求、功能設(shè)計、技術(shù)設(shè)計這些地方。不過不管你怎么做,都要牢記一點(diǎn):這里大多數(shù)問題的答案都沒有對錯之分!你可以把我的這些問題作為引子,展開討論。例如下面有個問題是使用靜態(tài)方法或是單例的緣由。如果那個面試的就此展開長篇大論,那他很有可能是個聰明能干的家伙!如果他一臉茫然的看著你,發(fā)出這種聲音,很明顯這就是只狒狒了。同樣,想知道一個數(shù)是不是2的乘方也有很多方法,不過要是面試的人想用mod運(yùn)算符,嗯……你知道我的意思吧。目錄如下:一、需求2二、功能設(shè)計2三、技術(shù)設(shè)計3四、程序設(shè)計3五、算法4六、數(shù)據(jù)構(gòu)造4七、測試5七、維護(hù)5九、配置管理6十、工程管理6需求你能給出一些非功能性〔或者質(zhì)量〕需求的例子么?如果客戶需要高性能、使用極其方便而又高度平安,你會給他什么建議?你能給出一些用來描述需求的不同技術(shù)么?它們各自適用于什么場景?需求跟蹤是什么意思?什么是向前追溯,什么是向后追溯?你喜歡用什么工具跟蹤需求?你怎么對待需求變化?它是好是壞?給出你的理由。你怎樣研究需求,發(fā)現(xiàn)需求?有哪些資源可以用到?你怎么給需求制定優(yōu)先級?有哪些技術(shù)?在需求過程中,用戶、客戶、開發(fā)人員各自的職責(zé)是什么?你怎么對待不完整或是令人費(fèi)解的需求?功能設(shè)計在功能設(shè)計中有哪些隱喻?給出幾個成功的例子。如果有些功能的執(zhí)行時間很長,怎么能讓用戶感覺不到太長的等待?如果用戶必須要在一個很小的區(qū)域內(nèi),從一個常常的列表中選擇多個條目,你會用什么控件?有哪些方法可以保證數(shù)據(jù)項的完整?建立系統(tǒng)原型有哪些技術(shù)?應(yīng)用程序怎樣建立對用戶行為的預(yù)期?給出一些例子。如何入手設(shè)計一組數(shù)量龐大而又復(fù)雜的特性,你能舉出一些設(shè)計思路嗎?有一個列表,其中有10個元素,每個元素都有20個字段可以編輯,你怎樣設(shè)計這種情況?如果是1000個元素,每個元素有3個字段呢?用不同的顏色對一段文本中的文字標(biāo)記高亮,這種做法有什么問題?Web環(huán)境和Windows環(huán)境各有些什么限制?技術(shù)設(shè)計什么是低耦合和高聚合?封裝原那么又是什么意思?在Web應(yīng)用中,你怎樣防止幾個人編輯同一段數(shù)據(jù)所造成的沖突?你知道設(shè)計模式嗎?你用過哪些設(shè)計模式?在什么場合下用的?是否了解什么是無狀態(tài)的業(yè)務(wù)層?長事務(wù)如何與之相適應(yīng)?在搭建一個架構(gòu),或是技術(shù)設(shè)計時,你用過幾種圖?在N層架構(gòu)中都有哪些層?它們各自的職責(zé)是什么?有哪些方法可以確保架構(gòu)中數(shù)據(jù)的正確和強(qiáng)???面向?qū)ο笤O(shè)計和面向組件設(shè)計有哪些不同之處?怎樣在數(shù)據(jù)庫中對用戶授權(quán)、用戶配置、權(quán)限管理這幾項功能建模?怎樣按照等級制度給動物王國〔包括各種物種和各自的行為〕建模?程序設(shè)計你怎樣保證你的代碼可以處理各種錯誤事件?解釋一下什么是測試驅(qū)動開發(fā),舉出極限編程中的一些原那么??磩e人代碼的時候,你最關(guān)心什么地方?什么時候使用抽象類,什么時候使用接口?除了IDE以外,你還喜歡哪些必不可少的工具?你怎么保證代碼執(zhí)行速度快,而又不出問題?什么時候用多態(tài),什么時候用委派?什么時候使用帶有靜態(tài)成員的類,什么時候使用單例?你在代碼里面怎么提前處理需求的變化?給一些例子。描述一下實現(xiàn)一段代碼的過程,從需求到最終交付。算法怎樣知道一個數(shù)字是不是2的乘方?怎樣判斷一個數(shù)是不是奇數(shù)?怎樣找出鏈表中間的元素?怎樣改變10,000個靜態(tài)HTML頁面中所有的格式?舉出一個你所用過的遞歸的例子。在散列表和排序后的列表中找一個元素,哪個查找速度最快?不管是書、雜志還是網(wǎng)絡(luò),你從中所學(xué)到的最后一點(diǎn)算法知識是什么?怎樣把字符串反轉(zhuǎn)?你能不用臨時的字符串么?你愿意用什么類型的語言來編寫復(fù)雜的算法?有一個數(shù)組,里面是從1到1,000,000的整數(shù),其中有一個數(shù)字出現(xiàn)了兩次,你怎么找出那個重復(fù)的數(shù)字?你知道“旅行商問題〔TravelingSalesmanProblem〕〞么?數(shù)據(jù)構(gòu)造怎樣在內(nèi)存中實現(xiàn)倫敦地鐵的構(gòu)造?怎樣以最有效的方式在數(shù)據(jù)庫中存儲顏色值?隊列和堆棧區(qū)別是什么?用堆或者棧存儲數(shù)據(jù)的區(qū)別是什么?怎樣在數(shù)據(jù)庫中存儲N維向量?你傾向于用哪種類型的語言編寫復(fù)雜的數(shù)據(jù)構(gòu)造?21的二進(jìn)制值是什么?十六制值呢?不管是書、雜志還是網(wǎng)絡(luò),你從中所學(xué)到的最后一點(diǎn)數(shù)據(jù)構(gòu)造的知識是什么?怎樣在XML文檔中存儲足球比賽結(jié)果〔包括隊伍和比分〕?有哪些文本格式可以保存Unicode字符?七、測試什么是回歸測試?怎樣知道新引入的變化沒有給現(xiàn)有的功能造成破壞?如果業(yè)務(wù)層和數(shù)據(jù)層之間有依賴關(guān)系,你該怎么寫單元測試?你用哪些工具測試代碼質(zhì)量?在產(chǎn)品部署之后,你最常碰到的是什么類型的問題?什么是代碼覆蓋率?有多少種代碼覆蓋率?功能測試和探索性測試的區(qū)別是什么?你怎么對進(jìn)展測試?測試套件、測試用例、測試方案,這三者之間的區(qū)別是什么?你怎么組織測試?要對電子商務(wù)做冒煙測試,你會做哪些類型的測試?客戶在驗收測試中會發(fā)現(xiàn)不滿意的東西,怎樣減少這種情況的發(fā)生?你去年在測試和質(zhì)量保證方面學(xué)到了哪些東西?維護(hù)你用哪些工具在維護(hù)階段對產(chǎn)品進(jìn)展監(jiān)控?要想對一個正在產(chǎn)品環(huán)境中被使用的產(chǎn)品進(jìn)展升級,該注意哪些重要事項?如果在一個龐大的文件中有錯誤,而代碼又無法逐步跟蹤,你怎么找出錯誤?你怎樣保證代碼中的變化不會影響產(chǎn)品的其他局部?你怎樣為產(chǎn)品編寫技術(shù)文檔?你用過哪些方式保證軟件產(chǎn)品容易維護(hù)?怎樣在產(chǎn)品運(yùn)行的環(huán)境中進(jìn)展系統(tǒng)調(diào)試?什么是負(fù)載均衡?負(fù)載均衡的方式有哪些種?為什么在應(yīng)用程序的生命周期中,軟件維護(hù)費(fèi)用所占的份額最高?再造工程〔re-engineering〕和逆向工程〔reverseengineering〕的區(qū)別是什么?九、配置管理你知道配置管理中基線的含義么?怎樣把工程中某個重要的時刻凍結(jié)?你一般會把哪些東西納入版本控制?怎樣可以保證團(tuán)隊中每個人都知道誰改變了哪些東西?Tag和Branch的區(qū)別是什么?在什么情況下該使用tag,什么時候用branch?怎樣管理技術(shù)文檔——如產(chǎn)品架構(gòu)文檔——的變化?你用什么工具管理工程中所有數(shù)字信息的狀態(tài)?你最喜歡哪種工具?如果客戶想要對一款已經(jīng)發(fā)布的產(chǎn)品做出變動,你怎么處理?版本管理和發(fā)布管理有什么差異?對文本文件的變化和二進(jìn)制文件的變化進(jìn)展管理,這二者有什么不同?同時處理多個變更請求,或是同時進(jìn)展增量開發(fā)和維護(hù),這種事情你怎么對待?十、工程管理范圍、時間、本錢,這三項中哪些是可以由客戶控制的?誰該對工程中所要付出的一切做出估算?誰有權(quán)設(shè)置最后期限?減
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 資源重組對經(jīng)濟(jì)發(fā)展的推動作用試題及答案
- 北京市石景山區(qū)2025屆高三一??荚嚁?shù)學(xué)試題 含解析
- 2025屆江蘇省南京市、鹽城市高三下學(xué)期3月一模政治試題 含解析
- 公司火災(zāi)撲救應(yīng)急預(yù)案(3篇)
- 計算機(jī)考試備考工具試題及答案
- 森林火災(zāi)應(yīng)急撲救預(yù)案(3篇)
- 2025年國際市場中的戰(zhàn)略風(fēng)險分析試題及答案
- 開源社區(qū)參與與貢獻(xiàn)試題及答案
- 消防火災(zāi)應(yīng)急預(yù)案是什么(3篇)
- 行政法學(xué)考試難點(diǎn)試題及答案揭秘
- 綠化養(yǎng)護(hù)服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- 2024年小學(xué)六年級下冊數(shù)學(xué)期末考試卷附完整答案(歷年真題)
- 信訪事項約談方案
- 健康行為干預(yù)的成本效益分析
- DB32T3916-2020建筑地基基礎(chǔ)檢測規(guī)程
- 2024年廣東深圳市檢察機(jī)關(guān)招錄勞動合同制書記員招聘筆試參考題庫附帶答案詳解
- 2024年貴州省銅仁市公共資源交易中心(市產(chǎn)權(quán)交易中心)引進(jìn)2人歷年高頻考題難、易錯點(diǎn)模擬試題(共500題)附帶答案詳解
- Ivy-League美國常春藤大學(xué)
- (正式版)HGT 6313-2024 化工園區(qū)智慧化評價導(dǎo)則
- 自動化設(shè)備生產(chǎn)工藝流程圖
- 汽車維修總體服務(wù)方案
評論
0/150
提交評論