《劍指Offer——名企面試官精講典型編程題(紀念版)》是為紀念本書英文版全球發(fā)行而推出的特殊版本,在原版基礎(chǔ)上新增大量本書英文版中的精選題目,系統(tǒng)整理基礎(chǔ)知識、代碼質(zhì)量、解題思路、優(yōu)化效率和綜合能力這5個面試要點。全書分為8章,主要包括面試流程:討論面試每一環(huán)節(jié)需要注意的問題;面試需要的基礎(chǔ)知識:從編程語言、數(shù)據(jù)結(jié)構(gòu)及算法三方面總結(jié)程序員面試知識點;高質(zhì)量代碼:討論影響代碼質(zhì)量的3個要素(規(guī)范性、完整性和魯棒性),強調(diào)高質(zhì)量代碼除完成基本功能外,還能考慮特殊情況并對非法輸入進行合理處理;解題思路:總結(jié)編程面試中解決難題的有效思考模式,如在面試中遇到復(fù)雜難題,應(yīng)聘者可利用畫圖、舉例和分解這3種方法將其化繁為簡,先形成清晰思路再動手編程;優(yōu)化時間和空間效率:讀者將學(xué)會優(yōu)化時間效率及空間換時間的常用算法,從而在面試中找到最優(yōu)解;面試必備能力:總結(jié)應(yīng)聘者如何充分表現(xiàn)學(xué)習(xí)和溝通能力,并通過具體面試題討論如何培養(yǎng)知識遷移、抽象建模和發(fā)散思維能力;綜合面試案例:總結(jié)哪些面試舉動是不良行為,而哪些表現(xiàn)又是面試官所期待的行為;英文版面試題增補,優(yōu)選久經(jīng)歐美知名企業(yè)面試考驗的經(jīng)典題目,幫助國內(nèi)讀者開闊視野、增補技能。 《劍指Offer——名企面試官精講典型編程題(紀念版)》適合即將走向工作崗位的大學(xué)生閱讀,也適合作為正在應(yīng)聘軟件行業(yè)的相關(guān)就業(yè)人員和計算機愛好者的參考書。 目錄: 第1章面試的流程1 1.1面試官談面試1 1.2面試的三種形式2 1.2.1電話面試2 1.2.2共享桌面遠程面試3 1.2.3現(xiàn)場面試4 1.3面試的三個環(huán)節(jié)5 1.3.1行為面試環(huán)節(jié)5第1章面試的流程1 1.1面試官談面試1 1.2面試的三種形式2 1.2.1電話面試2 1.2.2共享桌面遠程面試3 1.2.3現(xiàn)場面試4 1.3面試的三個環(huán)節(jié)5 1.3.1行為面試環(huán)節(jié)5 應(yīng)聘者的項目經(jīng)驗6 應(yīng)聘者掌握的技能7 回答“為什么跳槽”8 1.3.2技術(shù)面試環(huán)節(jié)10 扎實的基礎(chǔ)知識10 高質(zhì)量的代碼11 清晰的思路14 優(yōu)化效率的能力15 優(yōu)秀的綜合能力16 1.3.3應(yīng)聘者提問環(huán)節(jié)17 1.4本章小結(jié)18 第2章面試需要的基礎(chǔ)知識20 2.1面試官談基礎(chǔ)知識20 2.2編程語言22 2.2.1C++22 面試題1:賦值運算符函數(shù)24 經(jīng)典的解法,適用于初級程序員25 考慮異常安全性的解法,高級程序員必備26 2.2.2C#27 面試題2:實現(xiàn)Singleton模式31 不好的解法一:只適用于單線程31 不好的解法二:可用于多線程但效率不高32 可行的解法:同步鎖前后兩次判斷33 推薦的解法一:利用靜態(tài)構(gòu)造函數(shù)34 推薦的解法二:按需創(chuàng)建實例34 解法比較35 2.3數(shù)據(jù)結(jié)構(gòu)36 2.3.1數(shù)組36 面試題3:二維數(shù)組中的查找38 2.3.2字符串42 面試題4:替換空格44 O(n2)的解法,不足以拿到Offer45 O(n)的解法,搞定Offer就靠它46 2.3.3鏈表49 面試題5:從尾到頭打印鏈表51 2.3.4樹53 面試題6:重建二叉樹55 2.3.5棧和隊列58 面試題7:用兩個棧實現(xiàn)隊列59 2.4算法和數(shù)據(jù)操作62 2.4.1查找和排序63 面試題8:旋轉(zhuǎn)數(shù)組的最小數(shù)字66 2.4.2遞歸和循環(huán)71 面試題9:斐波那契數(shù)列73 效率很低的解法,面試官不會喜歡73 面試官期待的實用解法74 O(logn)但不夠?qū)嵱玫慕夥?4 解法比較75 2.4.3位運算77 面試題10:二進制中1的個數(shù)78 可能引起死循環(huán)的解法79 常規(guī)解法79 能給面試官帶來驚喜的解法80 2.5本章小結(jié)82 第3章高質(zhì)量的代碼84 3.1面試官談代碼質(zhì)量84 3.2代碼的規(guī)范性86 3.3代碼的完整性87 從3方面確保代碼的完整性87 3種錯誤處理的方法88 面試題11:數(shù)值的整數(shù)次方90 自以為題目簡單的解法90 全面但不夠高效的解法,離Offer已經(jīng)很近了90 全面又高效的解法,確保能拿到Offer92 面試題12:打印1到最大的n位數(shù)94 跳進面試官陷阱94 在字符串上模擬數(shù)字加法94 把問題轉(zhuǎn)換成數(shù)字排列97 面試題13:在O(1)時間刪除鏈表結(jié)點99 面試題14:調(diào)整數(shù)組順序使奇數(shù)位于偶數(shù)前面102 只完成基本功能的解法,僅適用于初級程序員102 考慮可擴展性的解法,能秒殺Offer104 3.4代碼的魯棒性106 面試題15:鏈表中倒數(shù)第k個結(jié)點107 面試題16:反轉(zhuǎn)鏈表112 面試題17:合并兩個排序的鏈表114 面試題18:樹的子結(jié)構(gòu)117 3.5本章小結(jié)121 第4章解決面試題的思路123 4.1面試官談面試思路123 面試題19:二叉樹的鏡像125 4.2畫圖讓抽象問題形象化125 面試題20:順時針打印矩陣127 4.3舉例讓抽象問題具體化131 面試題21:包含min函數(shù)的棧132 面試題22:棧的壓入、彈出序列134 面試題23:從上往下打印二叉樹137 面試題24:二叉搜索樹的后序遍歷序列140 面試題25:二叉樹中和為某一值的路徑143 4.4分解讓復(fù)雜問題簡單化146 面試題26:復(fù)雜鏈表的復(fù)制147 面試題27:二叉搜索樹與雙向鏈表151 面試題28:字符串的排列154 4.5本章小結(jié)158 第5章優(yōu)化時間和空間效率160 5.1面試官談效率160 5.2時間效率162 面試題29:數(shù)組中出現(xiàn)次數(shù)超過一半的數(shù)字163 基于Partition函數(shù)的O(n)算法163 利用數(shù)組特點的O(n)算法165 解法比較166 面試題30:最小的k個數(shù)167 O(n)的算法,只當可以修改輸入數(shù)組時可用167 O(nlogk)的算法,適合處理海量數(shù)據(jù)168 解法比較169 面試題31:連續(xù)子數(shù)組的最大和171 舉例分析數(shù)組的規(guī)律171 應(yīng)用動態(tài)規(guī)劃法173 面試題32:從1到n整數(shù)中1出現(xiàn)的次數(shù)174 不考慮效率的解法,想拿Offer有點難174 明顯提高效率的解法,讓面試官耳目一新175 面試題33:把數(shù)組排成最小的數(shù)177 5.3時間效率與空間效率的平衡181 面試題34:丑數(shù)182 逐個判斷整數(shù)是不是丑數(shù)的解法182 創(chuàng)建數(shù)組保存已經(jīng)找到的丑數(shù)的解法183 面試題35:第一個只出現(xiàn)一次的字符186 面試題36:數(shù)組中的逆序?qū)?89 面試題37:兩個鏈表的第一個公共結(jié)點193 5.4本章小結(jié)196 第6章面試中的各項能力198 6.1面試官談能力198 6.2溝通能力和學(xué)習(xí)能力200 溝通能力200 學(xué)習(xí)能力200 善于學(xué)習(xí)、溝通的人也善于提問201 6.3知識遷移能力203 面試題38:數(shù)字在排序數(shù)組中出現(xiàn)的次數(shù)204 面試題39:二叉樹的深度207 重復(fù)遍歷結(jié)點的解法,不足以打動面試官209 只遍歷結(jié)點一次的解法,正是面試官喜歡的209 面試題40:數(shù)組中只出現(xiàn)一次的數(shù)字211 面試題41:和為s的兩個數(shù)字VS和為s的連續(xù)正數(shù)序列214 面試題42:翻轉(zhuǎn)單詞順序VS左旋轉(zhuǎn)字符串218 6.4抽象建模能力222 面試題43:n個骰子的點數(shù)223 基于遞歸求骰子點數(shù),時間效率不夠高223 基于循環(huán)求骰子點數(shù),時間性能好224 面試題44:撲克牌的順子226 面試題45:圓圈中最后剩下的數(shù)字228 經(jīng)典的解法,用循環(huán)鏈表模擬圓圈229 創(chuàng)新的解法,拿到Offer不在話下230 6.5發(fā)散思維能力232 面試題46:求1+2+…+n233 利用構(gòu)造函數(shù)求解234 利用虛函數(shù)求解234 利用函數(shù)指針求解235 利用模板類型求解236 面試題47:不用加減乘除做加法237 面試題48:不能被繼承的類239 常規(guī)的解法:把構(gòu)造函數(shù)設(shè)為私有函數(shù)239 新奇的解法:利用虛擬繼承240 6.6本章小結(jié)241 第7章兩個面試案例243 7.1案例一:(面試題49)把字符串轉(zhuǎn)換成整數(shù)244 7.2案例二:(面試題50)樹中兩個結(jié)點的最低公共祖先252 第8章英文版新增面試題261 8.1數(shù)組261 面試題51:數(shù)組中重復(fù)的數(shù)字261 面試題52:構(gòu)建乘積數(shù)組263 8.2字符串265 面試題53:正則表達式匹配265 面試題54:表示數(shù)值的字符串267 面試題55:字符流中第一個不重復(fù)的字符269 8.3鏈表270 面試題56:鏈表中環(huán)的入口結(jié)點270 面試題57:刪除鏈表中重復(fù)的結(jié)點273 8.4樹275 面試題58:二叉樹的下一個結(jié)點275 面試題59:對稱的二叉樹277 面試題60:把二叉樹打印成多行278 面試題61:按之字形順序打印二叉樹280 面試題62:序列化二叉樹283 面試題63:二叉搜索樹的第k個結(jié)點285 面試題64:數(shù)據(jù)流中的中位數(shù)286 8.5棧和隊列290 面試題65:滑動窗口的最大值290 8.6回溯法294 面試題66:矩陣中的路徑294 面試題67:機器人的運動范圍296 海濤2008年在我的團隊做過軟件開發(fā)工程師。他是一個很細心的員工,對面試這個話題很感興趣,經(jīng)常和我及其他員工討論,積累了很多面試方面的技巧和經(jīng)驗。他曾跟我提過想要寫本有關(guān)面試的書,三年過后他把書寫出來了!他是一個有目標、有耐心和持久力的人。 我在微軟做了很多年的面試官,后面七年多作為把關(guān)面試官也面試了很多應(yīng)聘者。應(yīng)聘者要想做好面試,確實應(yīng)把面試當作一門技巧來學(xué)習(xí),更重要的是要提高自身的能力。我遇到很多應(yīng)試者可能自身能力也不差但因為不懂得怎樣回答提問,不能很好發(fā)揮。也有很多校園來的應(yīng)聘者也學(xué)過數(shù)據(jù)結(jié)構(gòu)和算法分析,可是到處理具體問題時不能用學(xué)過的知識來有效地解決問題。這些朋友讀讀海濤的這本書,會很受益,在面試中的發(fā)揮也會有很大提高。這本書也可以作為很好的教學(xué)補充資料,讓學(xué)生不只學(xué)到書本知識,也學(xué)到解決問題的能力。 在向我匯報的員工中有面試發(fā)揮很好但工作平平的,也有面試一般但工作優(yōu)秀的。對于追求職業(yè)發(fā)展的人來說,通過面試只是邁過一個門檻而不是目的,真正的較量是在入職后的成長。就像學(xué)釣魚,你可能在有經(jīng)驗的垂釣者的指導(dǎo)下能釣到幾條魚,但如果沒有學(xué)到垂釣的真諦,離開了指導(dǎo)者你可能就很難釣到很多魚。我希望讀這本書的朋友不要只學(xué)一些技巧來對付面試,而是通過學(xué)習(xí)如何解決面試中的難題來提高自己的編程和解決問題的能力,進而提高自信心,在職場中能迅速成長。 徐鵬陽(PungXu)海濤2008年在我的團隊做過軟件開發(fā)工程師。他是一個很細心的員工,對面試這個話題很感興趣,經(jīng)常和我及其他員工討論,積累了很多面試方面的技巧和經(jīng)驗。他曾跟我提過想要寫本有關(guān)面試的書,三年過后他把書寫出來了!他是一個有目標、有耐心和持久力的人。 我在微軟做了很多年的面試官,后面七年多作為把關(guān)面試官也面試了很多應(yīng)聘者。應(yīng)聘者要想做好面試,確實應(yīng)把面試當作一門技巧來學(xué)習(xí),更重要的是要提高自身的能力。我遇到很多應(yīng)試者可能自身能力也不差但因為不懂得怎樣回答提問,不能很好發(fā)揮。也有很多校園來的應(yīng)聘者也學(xué)過數(shù)據(jù)結(jié)構(gòu)和算法分析,可是到處理具體問題時不能用學(xué)過的知識來有效地解決問題。這些朋友讀讀海濤的這本書,會很受益,在面試中的發(fā)揮也會有很大提高。這本書也可以作為很好的教學(xué)補充資料,讓學(xué)生不只學(xué)到書本知識,也學(xué)到解決問題的能力。 在向我匯報的員工中有面試發(fā)揮很好但工作平平的,也有面試一般但工作優(yōu)秀的。對于追求職業(yè)發(fā)展的人來說,通過面試只是邁過一個門檻而不是目的,真正的較量是在入職后的成長。就像學(xué)釣魚,你可能在有經(jīng)驗的垂釣者的指導(dǎo)下能釣到幾條魚,但如果沒有學(xué)到垂釣的真諦,離開了指導(dǎo)者你可能就很難釣到很多魚。我希望讀這本書的朋友不要只學(xué)一些技巧來對付面試,而是通過學(xué)習(xí)如何解決面試中的難題來提高自己的編程和解決問題的能力,進而提高自信心,在職場中能迅速成長。 徐鵬陽(PungXu) PrincipalDevelopmentManager,SearchTechnologyCenterAsia Microsoft IhadtheprivilegeofworkingwithHarryatMicrosoft.Hisbackgroundandindustryexperienceareagreatassetinlearningabouttheprocessandtechniquesoftechnicalinterviews.Harrysharespracticalinformationaboutwhattoexpectinatechnicalinterviewthatgoesbeyondthecoreengineeringskills.Aninterviewismorethanaskillsassessment.Itisthechanceforyouandaprospectiveemployertogaugewhetherthereisamutualfit.Harryincludesremindersaboutthekeyfactorsthatcandetermineasuccessfulinterviewaswellassuccessinyournewjob. Harrytakesyouthroughasetofinterviewquestionstosharehisinsightintothekeyaspectsofthequestion.Byunderstandingthesequestions,youcanlearnhowtoapproachanyquestionmoreeffectively.Thebasicsoflanguages,algorithmsanddatastructuresarediscussedaswellasquestionsthatexplorehowtowriterobustsolutionsafterbreakingdownproblemsintomanageablepieces.Harryalsoincludesexamplestofocusonmodelingandcreativeproblemsolving. TheskillsthatHarryteachesforproblemsolvingcanhelpyouwithyournextinterviewandinyournextjob.Understandingbetterthekeyproblemsolvingtechniquesthatareanalyzedinaninterviewcanhelpyougetthefirstjobafteruniversityormakeyournextcareermove. MattGibbs DirectofDevelopment,AsiaResearch&Development MicrosoftCorporation2011年9月份以來,我的面試題博客(http://zhedahht.blog.163.com/)點擊率上升很快,累計點擊量超過了70萬,并且平均每天還會增加約3000次點擊。每一年隨著秋季新學(xué)期的開始,新一輪招聘高峰也即將來到。這不禁讓我想起幾年前自己找工作的情形。那個時候的我,也是在網(wǎng)絡(luò)的各個角落搜索面試經(jīng)驗,盡可能多地收集各個公司的面試題。 當時網(wǎng)上的面試經(jīng)驗還很零散,應(yīng)聘者如果想系統(tǒng)地收集面試題,需要付出很大的努力。于是我萌生了一個念頭,在博客上系統(tǒng)地收集、整理有代表性的面試題,這樣可以極大地方便后來人。經(jīng)過一段時間的準備,我于2007年2月在網(wǎng)易博客上發(fā)表了第一篇關(guān)于編程面試題的博客。 在過去4年多的日子里,我陸續(xù)發(fā)表了60余篇關(guān)于面試題的博客。隨著博客數(shù)目的增加,我也逐漸意識到一篇篇博客仍然是零散的。一篇博客只是單純地分析一個面試題,但對解題思路缺乏系統(tǒng)性的梳理。于是在2010年10月我有了把博客整理成一本書的想法。經(jīng)過一年的努力,這本書終于和讀者見面了。 本書內(nèi)容 全書分為7章,各章的主要內(nèi)容如下: 第1章介紹面試的流程。通常整個面試過程可以分為電話面試、共享桌面遠程面試和現(xiàn)場面試3個階段,每一輪面試又可以分為行為面試、技術(shù)面試和應(yīng)聘者提問3個環(huán)節(jié)。本章詳細討論了面試中每一環(huán)節(jié)需要注意的問題。其中第1.3.2節(jié)深入討論了技術(shù)面試中的5個要素,是全書的大綱,接下來的第2~6章逐一討論每個要點。 第2章梳理應(yīng)聘者接受技術(shù)面試時需要用到的基礎(chǔ)知識。本章從編程語言、數(shù)據(jù)結(jié)構(gòu)及算法三方面總結(jié)了程序員面試的知識點。 第3章討論應(yīng)聘者在面試時寫出高質(zhì)量代碼的3個要點。通常面試官除了期待應(yīng)聘者寫出的代碼能夠完成基本的功能之外,還能應(yīng)對特殊情況并對非法輸入進行合理的處理。讀完這一章,讀者將學(xué)會如何從規(guī)范性、完整性和魯棒性3個方面提高代碼的質(zhì)量。 第4章總結(jié)在編程面試中解決難題的常用思路。如果在面試過程中遇到復(fù)雜的難題,應(yīng)聘者最好在寫代碼之前形成清晰的思路。讀者在讀完這一章之后將學(xué)會如何用畫圖、舉例和分解復(fù)雜問題3種思路來解決問題。 第5章介紹如何優(yōu)化代碼的時間效率和空間效率。如果一個問題有多種解法,面試官總是期待應(yīng)聘者能找到最優(yōu)的解法。讀完這一章,讀者將學(xué)會優(yōu)化時間效率及空間換時間的常用算法。 第6章總結(jié)面試中的各項能力。面試官在面試過程中會一直關(guān)注應(yīng)聘者的學(xué)習(xí)能力和溝通能力。除此之外,有些面試官還喜歡考查應(yīng)聘者的知識遷移能力、抽象建模能力和發(fā)散思維能力。讀完這一章,讀者將學(xué)會如何培養(yǎng)和運用這些能力。 第7章是兩個面試的案例。在這兩個案例中,我們將看到應(yīng)聘者在面試過程中的哪些舉動是不好的行為,而哪些表現(xiàn)又是面試官所期待的行為。衷心地希望應(yīng)聘者能在面試時少犯甚至不犯錯誤,完美地表現(xiàn)出自己的綜合素質(zhì),最終拿到心儀的Offer。 本書特色 正如前面提到的那樣,本書的原型是我過去4年多陸陸續(xù)續(xù)發(fā)表的幾十篇博客,但這本書也不僅僅是這些博客的總和,它在博客的基礎(chǔ)上添加了如下內(nèi)容。 本書試圖以面試官的視角來剖析面試題。本書前6章的第一節(jié)都是“面試官談面試”,收錄了分布在不同IT企業(yè)(或者IT部門)的面試官們對代碼質(zhì)量、應(yīng)聘者如何形成及表達解題思路等方面的理解。在本書中穿插著幾十條“面試小提示”,是我作為面試官給應(yīng)聘者在面試方法、技巧方面的建議。在第7章的案例中,“面試官心理”揭示了面試官在聽到應(yīng)聘者不同回答時的心理活動。應(yīng)聘者如果能了解面試官的心理活動,無疑能在面試時更好地表現(xiàn)自己。 本書總結(jié)了解決面試難題的常用方法,而不僅僅只是解決一道道零散的題目。在仔細分析、解決了幾十道典型的面試題之后,我發(fā)現(xiàn)其實是有一些通用的方法可以在面試的時候幫助我們解題的。舉個例子,如果面試的時候遇到的題目很難,我們可以試圖把一個大的復(fù)雜的問題分解成若干個小的簡單的子問題,然后遞歸地去解決這些子問題。再比如,我們可以用數(shù)組實現(xiàn)一個簡單的哈希表解決一系列與字符串相關(guān)的面試題。在詳細分析了一道面試題之后,很多章節(jié)都會在“相關(guān)題目”中列舉出同類型的面試題,并在“舉一反三”中總結(jié)解決這一類型題目的方法和要點。 本書收集的面試題都是各大公司的編程面試題,極具實戰(zhàn)意義。包括谷歌、微軟在內(nèi)的知名IT企業(yè)在招聘的時候,都非常重視應(yīng)聘者的編程能力,編程技術(shù)面試也是整個面試流程中最為重要的一個環(huán)節(jié)。本書選取的題目都是被各大公司面試官反復(fù)采用的編程題。如果讀者一開始覺得書中的有些題目比較難,那也正常,沒有必要感到氣餒,因為像谷歌、微軟這樣的大企業(yè)的面試本身就不簡單。讀者逐步掌握了書中總結(jié)的解題方法之后,編程能力和分析復(fù)雜問題的能力將會得到很大的提升,再去大公司面試將會輕松很多。 本書附帶提供了50道編程題的完整的源代碼,其中包含了每道題的測試用例。很多面試官在應(yīng)聘者寫完程序之后,都會要求應(yīng)聘者自己想一些測試用例來測試自己的代碼,一些沒有實際項目開發(fā)經(jīng)驗的應(yīng)聘者不知道如何做單元測試。相信讀者朋友在讀完這本書之后就會知道如何從基本功能測試、邊界值測試、性能測試等方面去設(shè)計測試用例,從而提高編寫高質(zhì)量代碼的能力。 本書體例 在本書的正文中間或者章節(jié)的末尾,穿插了不少特殊體例。這些體例或用來給應(yīng)聘者提出建議,或用來總結(jié)解題方法,希望能夠引起讀者的注意。 面試小提示: 本條目是從面試官的角度對應(yīng)聘者的建議或者希望應(yīng)聘者能夠注意到的細節(jié)。 源代碼: 讀者將在本條目中看到一個格式為XX_YYYYY或者XX_Y_ZZZZZ的項目名稱,該名稱與用VisualStudio打開文件InterviewQuestions.sln之后看到的項目名稱對應(yīng)。本書附帶的源代碼請到電子工業(yè)出版社博文視點的官方網(wǎng)站下載。讀者下載源代碼并解壓縮之后,請用VisualStudio2008或者更新的版本閱讀或者運行代碼。 測試用例: 本條目列舉應(yīng)聘者在面試時可以用來測試代碼是否完整、魯棒的單元測試用例。通常本書從基本功能、邊界值、無效的輸入等方面測試代碼的完整性和魯棒性,針對在時間效率或者空間效率有要求的面試題還包含性能測試的測試用例。 本題考點: 本條目總結(jié)面試官采用一道面試題的考查要點。 相關(guān)題目: 本條目列舉一些和詳細分析的面試例題相關(guān)或者類似的面試題。 舉一反三: 本條目從解決面試例題中提煉出常用的解題方法。這些解題方法能夠應(yīng)用到解決其他同類型的問題中去,達到舉一反三的目的。 面試官心理: 在第七章的面試案例中,本條目用來模擬面試官聽到應(yīng)聘者的回答之后的心理活動。 關(guān)于遺漏的問題 由于時間倉促,再加上筆者的能力有限,書中難免會有一些遺漏。今后一旦發(fā)現(xiàn)遺漏的問題,我將第一時間在博客(http://zhedahht.blog.163.com/)上公布勘誤信息。讀者如果發(fā)現(xiàn)任何問題或者有任何建議,也請在博客上留言、評論,或者通過微博(http://weibo.com/zhedahht)和我聯(lián)系。 致謝 在寫博客及把博客整理成書的過程中,我得到了很多人的幫助。沒有他們,也就沒有這本書。因此,我想在這里對他們誠摯地說一聲:謝謝! 首先我要謝謝個人博客上的讀者。網(wǎng)友們的鼓勵讓我在博客上的寫作從2007年2月開始堅持到了現(xiàn)在。也正是由于網(wǎng)友們的鼓勵,我最終下定決心把博客整理成一本書。 在本書的寫作過程中,我得到了很多同學(xué)、同事的幫忙,包括Autodesk的馬凌洲、劉景勇、王海波、藍誠,支付寶的殷焰,百度的張珺、張曉禹,Intel的尹彥,交通銀行的朱麟,淘寶的堯敏,微軟的陳黎明、田超,NVidia的吳斌,SAP的何幸杰和華為的韓偉東(在書稿寫作階段他還在盛大工作)。感謝他們和大家分享了對編程面試的理解和思考。同時還要感謝GlaxoSmithKlineInvestment的Recruitment&HRISManager蔡詠來(也是2008年把我招進微軟的HR)和大家分享了微軟所推崇的STAR簡歷模型。還要感謝在微軟期間我的兩個老板徐鵬陽和MattGibbs,他們都是在微軟有十幾年面試經(jīng)驗的資深面試官,對面試有著深刻的理解。感謝二位在百忙之中抽時間為本書寫序,為本書增色不少。 我同樣要感謝現(xiàn)在思科的老板MinLu及TQSG上海團隊的同事王劦、趙斌和朱波對我的理解。他們在我寫作期間替我分擔了大量的工作,讓我能夠集中更多的精力來寫書。 感謝電子工業(yè)出版社的工作人員,尤其是張春雨和趙樹剛的幫助。兩位編輯大到全書的構(gòu)架,小到文字的推敲,都給予了我極大的幫助,從而使本書的質(zhì)量有了極大的提升。 本書還得到了很多朋友的支持和幫助,限于篇幅,雖然不能在此一一說出他們的名字,但我一樣對他們心存感激。 最后,我要衷心地感謝我的愛人劉素云。感謝她在過去一年中對我的理解和支持,為我營造了一個溫馨而又浪漫的家,讓我能夠心無旁騖地寫書。我無以為謝,謹以此書獻給她及我們尚未出生的小寶寶。 何海濤 2011年9月8日清晨于上海三涇南宅
|