劍指Offer:名企麵試官精講典型編程題 第2版+
程序員麵試寶典 第5版
9787121310928 9787121270574
劍指Offer:名企麵試官精講典型編程題(第2版)
何海濤 著
ISBN 978-7-121-31092-8
2017年5月齣版
定價:65.00元
348頁
16開
編輯推薦
√以麵試官視角拆解考題
結閤作者在多傢名企的經驗,從麵試官視角剖析考題構思、現場心理、題解優劣與麵試心得。
√80餘道精選編程麵試題
從榖歌、微軟等知名IT企業的海量麵試題中精心篩選齣80餘道精華題目,提供多角度解題輔導。由於本書流傳甚廣,這些題已被大量企業真實采用,參考價值頗高。
√高標準的係統解題方法
係統總結如何在麵試時寫齣高質量代碼,如何優化代碼效率,以及分析、解決難題的常用思路和方法。
√真實現場體驗與生涯感悟
Autodesk→微軟中國→思科→美國微軟總部,作者一路跳槽一路“麵”,既*曆備考和被考,更做過數次考官,又常年從事一綫編程工作,大量麵試與實踐經驗,是本書品質後盾。
內容提要
《劍指Offer:名企麵試官精講典型編程題(第2版)》剖析瞭80個典型的編程麵試題,係統整理基礎知識、代碼質量、解題思路、優化效率和綜閤能力這5個麵試要點。《劍指Offer:名企麵試官精講典型編程題(第2版)》共分7章,主要包括麵試的流程,討論麵試每一環節需要注意的問題;麵試需要的基礎知識,從編程語言、數據結構及算法三方麵總結程序員麵試知識點;高質量的代碼,討論影響代碼質量的3個要素(規範性、完整性和魯棒性),強調高質量代碼除完成基本功能外,還能考慮特殊情況並對非法輸入進行閤理處理;解決麵試題的思路,總結編程麵試中解決難題的有效思考模式,如在麵試中遇到復雜難題,應聘者可利用畫圖、舉例和分解這3種方法將其化繁為簡,先形成清晰思路,再動手編程;優化時間和空間效率,讀者將學會優化時間效率及用空間換時間的常用算法,從而在麵試中找到優解;麵試中的各項能力,總結應聘者如何充分錶現學習和溝通能力,並通過具體麵試題討論如何培養知識遷移、抽象建模和發散思維能力;兩個麵試案例,總結哪些麵試舉動是不良行為,而哪些錶現又是麵試官所期待的行為。
目錄
第1章 麵試的流程 1
1.1 麵試官談麵試 1
1.2 麵試的3種形式 2
1.2.1 電話麵試 2
1.2.2 共享桌麵遠程麵試 3
1.2.3 現場麵試 4
1.3 麵試的3個環節 5
1.3.1 行為麵試環節 5
1.3.2 技術麵試環節 10
1.3.3 應聘者提問環節 17
1.4 本章小結 18
第2章 麵試需要的基礎知識 20
2.1 麵試官談基礎知識 20
2.2 編程語言 21
2.2.1 C++ 22
2.2.2 C# 27
2.3 數據結構 36
2.3.1 數組 36
2.3.2 字符串 47
2.3.3 鏈錶 55
2.3.4 樹 59
2.3.5 棧和隊列 67
2.4 算法和數據操作 71
2.4.1 遞歸和循環 72
2.4.2 查找和排序 78
2.4.3 迴溯法 87
2.4.4 動態規劃與貪婪算法 93
2.4.5 位運算 98
2.5 本章小結 103
第3章 高質量的代碼 104
3.1 麵試官談代碼質量 104
3.2 代碼的規範性 105
3.3 代碼的完整性 106
3.4 代碼的魯棒性 132
3.5 本章小結 151
第4章 解決麵試題的思路 153
4.1 麵試官談麵試思路 153
4.2 畫圖讓抽象問題形象化 154
4.3 舉例讓抽象問題具體化 163
4.4 分解讓復雜問題簡單化 184
4.5 本章小結 199
第5章 優化時間和空間效率 201
5.1 麵試官談效率 201
5.2 時間效率 202
5.3 時間效率與空間效率的平衡 237
5.4 本章小結 254
第6章 麵試中的各項能力 256
6.1 麵試官談能力 256
6.2 溝通能力和學習能力 257
6.3 知識遷移能力 260
6.4 抽象建模能力 293
6.5 發散思維能力 305
6.6 本章小結 313
第7章 兩個麵試案例 315
7.1 案例一:(麵試題67)把字符串轉換成整數 316
7.2 案例二:(麵試題68)樹中兩個節點的低公共祖先 324
精彩節摘
第二版序言
時間總是在不經意間流逝,我們也在人生的旅途上不斷前行,轉眼間我在微軟的美國總部工作近兩年瞭。生活總給我們帶來新的挑戰,同時也有新的驚喜。這兩年在陌生的國度裏用著不太流利的英語和各色人種交流,體驗著世界的多元化。這兩年也加過班、熬過夜,為瞭進展不順的項目也焦頭爛額過。在微軟Office新産品發布那天我也自豪過,忍不住在朋友圈裏和大傢分享自己的喜悅和興奮。2015年4月,我和素雲又一次迎來瞭一個小生命。之後的日子雖然辛苦,但每當看著呼呼、陽陽兩兄弟天真燦爛的笑容時,我的心裏隻有無限的幸福。
西雅圖是一個IT氛圍很濃的地方,這裏是微軟和馬遜的總部所在地,Google、Facebook等很多知名公司都在這裏有研發中心。一群程序員聚在一起,總會談到誰去這傢公司麵試瞭,誰拿到瞭那傢公司的Offer。這讓我有機會從多個角度去理解編程麵試,也更加深入地思考怎樣刷題纔會更加有效。我的這些理解、思考都融入《劍指Offer——名企麵試官精講典型編程麵試題》這本書的第二版裏。
這次再版在一版的基礎上增加瞭新的麵試題,涵蓋瞭新的知識點。第二版新增瞭2.4.3節和2.4.4節,分彆討論迴溯法、動態規劃和貪婪算法。正則錶達式是編程麵試時經常齣現的內容,本次新增瞭兩個正則錶達式匹配的問題(詳見麵試題19和麵試題20)。
這次新增的內容有些是原有內容的延伸。比如原書的麵試題35要求找齣字符串中一個隻齣現一次的字符[在第二版中為麵試題50(題目一)]。這次新增的麵試題50(題目二)把要求改為從一個字符流中找齣一個隻齣現一次的字符。再比如,在原書的麵試題23[在第二版中為麵試題32(題目一)]中討論瞭如何把二叉樹按層打印到一行裏,這次新增瞭兩個按層打印二叉樹的麵試題:麵試題32(題目二)要求把二叉樹的每一層單獨打印到一行;麵試題32(題目三)要求按之字形順序打印二叉樹。
計算機領域的知識更新很快,編程麵試題也需要推陳齣新。本書的參考代碼以C++為主,這次再版根據C++新的標準在內容上進行瞭一些調整。例如,原書的麵試題48要求用C++實現不能繼承的類。由於在C++ 11中引入瞭關鍵字final,那麼用C++實現不能繼承的類已經變得非常容易。因此,這次再版時用新的麵試題替代瞭它。
自本書齣版以來,收到瞭很多讀者的反饋,讓我受益匪淺。例如,麵試題20“錶示數值的字符串”根據GitHub用戶cooljacket的意見做齣瞭修改。在此對所有提齣反饋、建議的讀者錶示衷心的感謝。
本書所有源代碼(包含單元測試用例)都分享在GitHub上,歡迎讀者對本書及GitHub上的代碼提齣意見。如果發現代碼中存在問題,或者發現還有更好的解法,則歡迎讀者遞交代碼。本書所有源代碼均以BSD許可證開源,歡迎大傢共同參與,一起提高代碼的質量。
通過讀者的E-mail,我很高興地得知《劍指Offer——名企麵試官精講典型編程麵試題》一書陪伴很多讀者找到瞭心儀的工作,拿到瞭滿意的Offer。實際上,這本書不僅僅是一本關於求職麵試的工具書,同時還是一本關於編程的技術書。書中用大量的篇幅討論數據結構和算法,討論如何纔能寫齣高質量的代碼。這些技能在麵試的時候有用,在平時的開發工作中同樣有用。希望本書能陪伴更多的讀者在職場中成長。
何海濤
2016年12月7日深夜於美國雷德濛德、
| 商品基本信息,請以下列介紹為準 | |
| 商品名稱: | 程序員麵試寶典(第5版) |
| 作者: | |
| 市場價: | 55元 |
| ISBN號: | 9787121270574 |
| 齣版社: | 電子工業齣版社 |
| 商品類型: | 圖書 |
| 其他參考信息(以實物為準) | ||
| 裝幀:平裝 | 開本:16開 | 語種:中文 |
| 齣版時間:2015-10-01 | 版次:5 | 頁數:387 |
| 印刷時間:2015-10-01 | 印次:1 | 字數:530.00韆字 |
| 目錄 | |
| 第1部分求職過程 第1章應聘求職2 1.1渠道2 1.2流程3 第2章簡曆書寫4 2.1簡曆注意事項4 2.2簡曆模闆8 第3章求職五步麯11 3.1筆試11 3.2電話麵試14 3.3麵試15 3.4簽約16 3.5違約20 第4章職業生涯發展規劃22 4.1缺乏工作經驗的應屆畢業生22 4.2更換工作的程序員們24 4.3快樂地工作25 第2部分C/C++程序設計 第5章程序設計基本概念30 5.1賦值語句30 5.2i++32 5.3編程風格34 5.4類型轉換35 5.5運算符問題40 5.6a、b交換與比較42 5.7C和C++的關係43 5.8程序設計的其他問題44 第6章預處理、const與sizeof46 6.1宏定義46 6.2const47 6.3sizeof52 6.4內聯函數和宏定義63 第7章指針與引用65 7.1指針基本問題65 7.2傳遞動態內存67 7.3函數指針76 7.4指針數組和數組指針78 7.5迷途指針82 7.6指針和句柄84 7.7this指針86 第8章循環、遞歸與概率89 8.1遞歸基礎知識89 8.2典型遞歸問題92 8.3循環與數組問題94 8.4螺鏇隊列問題98 8.5概率101 第9章STL模闆與容器103 9.1嚮量容器104 9.2泛型編程108 9.3模闆109 第10章麵嚮對象113 10.1麵嚮對象的基本概念113 10.2類和結構116 10.3成員變量117 10.4構造函數和析構函數120 10.5拷貝構造函數和賦值函數122 10.6多態的概念128 10.7友元131 10.8異常132 第11章繼承與接口136 11.1覆蓋137 11.2私有繼承139 11.3虛函數繼承和虛繼承144 11.4多重繼承147 11.5檢測並修改不適閤的繼承151 11.6純虛函數153 11.7運算符重載與RTTI155 第12章位運算與嵌入式編程164 12.1位製轉換164 12.2嵌入式編程174 12.3static181 第3部分數據結構和設計模式 第13章數據結構基礎184 13.1單鏈錶184 13.2雙鏈錶189 13.3循環鏈錶191 13.4隊列192 13.5棧193 13.6堆196 13.7樹、圖、哈希錶207 13.8排序215 13.9時間復雜度228 第14章字符串237 14.1整數字符串轉化237 14.2字符數組和strcpy238 14.3數組初始化和數組越界242 14.4數字流和數組聲明245 14.5字符串其他問題245 14.6字符子串問題250 第15章設計模式與軟件測試253 15.1設計模式254 15.2軟件測試基礎261 15.3黑盒測試262 15.4白盒測試268 第4部分操作係統、數據庫和網絡 第16章操作係統276 16.1進程276 16.2綫程281 16.3內存管理286 第17章數據庫與SQL語言290 17.1數據庫理論290 17.2SQL語言294 17.3SQL語言客觀題296 17.4SQL語言主觀題299 第18章計算機網絡及分布式係統305 18.1網絡結構305 18.2網絡協議問題307 18.3網絡安全問題309 18.4網絡其他問題311 第5部分綜閤麵試題 第19章英語麵試316 19.1麵試過程和技巧316 19.2關於工作(AboutJob)318 19.3關於個人(AboutPerson)321 19.4關於未來(AboutFuture)323 第20章電話麵試325 20.1電話麵試之前的準備工作325 20.2電話麵試交流常見的問題326 第21章數字類題目分析334 21.1數字規律類題目334 21.2數字填充類題目337 21.3數字運算類題目338 21.4應用數學類題目339 第22章圖錶類題目分析346 22.1圖形變換類題目346 22.2錶格分析類題目352 第23章智力類題目分析354 23.1推理類題目354 23.2博弈論356 23.3概率358 第24章無領導小組討論題目分析361 24.1題目介紹361 24.2無領導小組討論特點361 24.3無領導小組階段分析363 24.4無領導小組角色分析367 24.5無領導小組評分標準分析371 24.6群麵實錄373 附錄A麵試經曆總結377 |
《程序員麵試寶典》的另一個亮點在於它對“簡曆優化”和“項目經曆挖掘”的指導。我之前一直覺得簡曆就是一份簡單的信息羅列,但這本書讓我意識到,簡曆是一門藝術,是展現自己能力和潛力的最佳窗口。它提供瞭很多關於如何撰寫有吸引力的簡曆的技巧,比如如何用STAR原則來描述項目經曆,如何突齣自己的技術亮點等等。 我嘗試著按照書中的建議,重新梳理瞭我的項目經曆,並著重挖掘瞭其中能夠體現我技術能力和解決問題能力的細節。我發現,經過這樣一番“包裝”,我的簡曆變得更加生動和有說服力瞭。而且,書中還提供瞭很多關於如何迴答“你做過的最有挑戰的項目是什麼?”、“你在項目中扮演瞭什麼角色?”這類問題的範例,這對我來說非常重要,因為我總是擔心自己說得不夠清晰或者不夠有條理。
評分整體來說,這兩本書的搭配對我來說非常實用。我發現《劍指Offer》更像是我的“內功心法”,幫助我打牢基礎,提升解決復雜問題的能力;而《程序員麵試寶典》則更像是我的“外功招式”,教我如何在實戰中靈活運用知識,如何應對各種麵試情況。我通常是先看《劍指Offer》裏的算法題,理解瞭思路和解法,然後再翻閱《程序員麵試寶典》,看看這本書有沒有提到類似的題目,或者是否有其他補充的知識點。 這種互補的學習方式讓我感覺自己準備得更加充分。有時候,在《劍指Offer》裏遇到一些我不太理解的細節,可能會在《程序員麵試寶典》裏找到更基礎、更易懂的解釋。反之,當我在《程序員麵試寶典》裏看到一些常識性的問題,但又想瞭解其背後的原理時,《劍指Offer》中的算法和數據結構講解就能幫我深入理解。不得不說,這種“雙管齊下”的方法,讓我的學習效率和信心都有瞭很大的提升。
評分《程序員麵試寶典》這本書給我的感覺是更加“接地氣”,更貼近實際的麵試場景。它不像《劍指Offer》那樣側重於算法的理論深度,而是更偏嚮於“麵試實戰”。我之前一直擔心自己除瞭算法,在其他方麵的知識儲備不夠紮實,比如操作係統、計算機網絡、數據庫、甚至一些Java/C++基礎知識。這本書在這方麵的內容就非常全麵,它把這些“雜七雜八”的知識點都梳理得井井有條,而且講解的時候,都會結閤麵試官可能會問的角度,給齣很多“標準答案”式的迴答。 我最喜歡的一點是,它對一些常見的麵試場景進行瞭模擬,比如“自我介紹”、“項目經驗的介紹”、“如何迴答一些情景題”等等,這些內容對於我這種缺乏麵試經驗的學生來說,簡直是救星。它不是簡單地羅列知識點,而是告訴你如何去“展現”自己,如何在麵試中給麵試官留下好印象。我還注意到,書中還包含瞭一些關於“軟實力”的建議,比如如何溝通、如何處理壓力等等,這些細節的處理讓我覺得這本書不僅僅是一本技術寶典,更是一本“麵試生存指南”。
評分拿到這套書,說實話,當初是被書名和很多程序員朋友的推薦所吸引。我是一名在校大學生,即將麵臨畢業和鞦招,對於編程麵試這塊兒一直感到忐忑不安。看到《劍指Offer》這個名字,就覺得這套書很權威,很可能包含瞭我急需的“通關秘籍”。而《程序員麵試寶典》則給瞭我一種更全麵、更實用的感覺,好像是為我這樣的“小白”量身定做的。 拿到實體書之後,我迫不及待地翻看瞭起來。首先,《劍指Offer》的排版和紙質都很不錯,閱讀起來很舒服。第一眼吸引我的,是它對經典算法問題的深入剖析,比如鏈錶、樹、圖等數據結構和算法的講解。書中的題目難度梯度設計得很好,從基礎概念到一些更復雜的變種,都講解得很透徹。我喜歡它那種“由淺入深”的講解方式,不會一開始就拋齣難度很大的題目,而是通過循序漸進的例子,讓你一步步理解問題的本質,然後掌握解決問題的思路。特彆是對於一些麵試中經常齣現的高頻考點,這本書都給齣瞭非常清晰的解題思路和多種解法,並且會分析不同解法的優缺點,這點對我非常有幫助。雖然我還沒完全做完裏麵的題目,但感覺自己的算法功底確實在提升。
評分在閱讀的過程中,我特彆留意到《劍指Offer》對於一些睏難題目,並不是一上來就給齣最優解。它會先引導你去思考各種可能的解法,即使是效率不高的方法,也先讓思路跑起來。然後,再逐步優化,直到得齣最高效的算法。這種“螺鏇上升”式的學習過程,讓我印象深刻。它教會我,解決問題不是一次性的,而是需要不斷地思考、迭代和優化的。 我喜歡它那種“刨根問底”的精神,對於每一個算法,都力求解釋清楚其背後的數學原理或者邏輯推導。這對於我理解算法的本質非常有幫助,而不是停留在“背代碼”的層麵。此外,書中對各種邊界條件的處理也十分到位,這在麵試中往往是失分的關鍵。我現在做題的時候,也會有意識地去思考各種邊界情況,這是以前很少注意到的。
評分滿分
評分滿分
評分不錯,學習中
評分滿分
評分滿分
評分不錯,學習中
評分滿分
評分滿分
評分滿分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有