注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件與程序設計其他編程語言/工具劍指Offer:名企面試官精講典型編程題

劍指Offer:名企面試官精講典型編程題

劍指Offer:名企面試官精講典型編程題

定 價:¥45.00

作 者: 何海濤 編著
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 程序設計

ISBN: 9787121148750 出版時間: 2011-01-01 包裝: 平裝
開本: 16開 頁數: 260 字數:  

內容簡介

  內 容 簡 介本書剖析了50個典型的程序員面試題,從基礎知識、代碼質量、解題思路、優(yōu)化效率和綜合能力五個方面系統(tǒng)整理了影響面試的5個要點。全書分為7章,主要包括面試的流程,討論面試流程中每一環(huán)節(jié)需要注意的問題;面試需要的基礎知識,從編程語言、數據結構及算法三方面總結了程序員面試的知識點;高質量的代碼,討論影響代碼質量的的3個要素(規(guī)范性、完整性和魯棒性),強調高質量的代碼除了能夠完成基本的功能之外,還能考慮到特殊情況并對非法輸入進行合理的處理;解決面試題的思路,總結在編程面試中解決難題的常用思路,如果在面試過程中遇到了復雜的難題,應聘者可以利用畫圖、舉例和分解復雜問題3種方法化繁為簡,先形成清晰的思路再動手編程;優(yōu)化時間和空間效率,介紹如何優(yōu)化代碼的時間效率和空間效率,讀完這一章讀者將學會常用的優(yōu)化時間效率及空間換時間的常用算法,從而在面試中找到最優(yōu)的解法;面試中的各種能力,本章總結應聘者在面試過程中如何表現學習能力和溝通能力,并通過具體的面試題討論如何培養(yǎng)知識遷移能力、抽象建模能力和發(fā)散思維能力;兩個面試案例,這兩個案例總結了應聘者在面試過程中哪些舉動是不好的行為,而哪些表現又是面試官所期待的行為。本書適合即將走向工作崗位的大學生閱讀,也適合作為正在應聘軟件行業(yè)的相關就業(yè)人員和計算機愛好者的參考書。

作者簡介

暫缺《劍指Offer:名企面試官精講典型編程題》作者簡介

圖書目錄

第1章  面試的流程 1
1.1  面試官談面試 1
1.2  面試的三種形式 2
1.2.1  電話面試 2
1.2.2  共享桌面遠程面試 3
1.2.3  現場面試 4
1.3  面試的三個環(huán)節(jié) 5
1.3.1  行為面試環(huán)節(jié) 5
應聘者的項目經驗 6
應聘者掌握的技能 7
回答“為什么跳槽” 8
1.3.2  技術面試環(huán)節(jié) 10
扎實的基礎知識 10
高質量的代碼 11
清晰的思路 14
優(yōu)化效率的能力 15
優(yōu)秀的綜合能力 16
1.3.3  應聘者提問環(huán)節(jié) 17
1.4  本章小結 18
第2章  面試需要的基礎知識 20
2.1  面試官談基礎知識 20
2.2  編程語言 22
2.2.1  C++ 22
面試題1:賦值運算符函數 24
經典的解法,適用于初級程序員 25
考慮異常安全性的解法,高級程序員必備 26
2.2.2  C# 27
面試題2:實現Singleton模式 31
不好的解法一:只適用于單線程 31
不好的解法二:可用于多線程但效率不高 32
可行的解法:同步鎖前后兩次判斷 33
推薦的解法一:利用靜態(tài)構造函數 34
推薦的解法二:按需創(chuàng)建實例 34
解法比較 35
2.3  數據結構 36
2.3.1  數組 36
面試題3:二維數組中的查找 38
2.3.2  字符串 42
面試題4:替換空格 44
O(n2)的解法,不足以拿到Offer 45
O(n)的解法,搞定Offer就靠它 46
2.3.3  鏈表 49
面試題5:從尾到頭打印鏈表 51
2.3.4  樹 53
面試題6:重建二叉樹 55
2.3.5  棧和隊列 58
面試題7:用兩個棧實現隊列 59
2.4  算法和數據操作 62
2.4.1  查找和排序 63
面試題8:旋轉數組的最小數字 66
2.4.2  遞歸和循環(huán) 71
面試題9:斐波那契數列 73
效率很低的解法,面試官不會喜歡 73
面試官期待的實用解法 74
O(logn)但不夠實用的解法 74
解法比較 75
2.4.3  位運算 77
面試題10:二進制中1的個數 78
可能引起死循環(huán)的解法 79
常規(guī)解法 79
能給面試官帶來驚喜的解法 80
2.5  本章小結 82
第3章  高質量的代碼 84
3.1  面試官談代碼質量 84
3.2  代碼的規(guī)范性 86
3.3  代碼的完整性 87
從3方面確保代碼的完整性 87
3種錯誤處理的方法 88
面試題11:數值的整數次方 90
自以為題目簡單的解法 90
全面但不夠高效的解法,離Offer已經很近了 90
全面又高效的解法,確保能拿到Offer 92
面試題12:打印1到最大的n位數 94
跳進面試官陷阱 94
在字符串上模擬數字加法 94
把問題轉換成數字排列 97
面試題13:在O(1)時間刪除鏈表結點 99
面試題14:調整數組順序使奇數位于偶數前面 102
只完成基本功能的解法,僅適用于初級程序員 102
考慮可擴展性的解法,能秒殺Offer 104
3.4  代碼的魯棒性 106
面試題15:鏈表中倒數第k個結點 107
面試題16:反轉鏈表 112
面試題17:合并兩個排序的鏈表 114
面試題18:樹的子結構 117
3.5  本章小結 121
第4章  解決面試題的思路 123
4.1 面試官談面試思路 123
面試題19:二叉樹的鏡像 125
4.2 畫圖讓抽象問題形象化 125
面試題20:順時針打印矩陣 127
4.3 舉例讓抽象問題具體化 131
面試題21:包含min函數的棧 132
面試題22:棧的壓入、彈出序列 134
面試題23:從上往下打印二叉樹 137
面試題24:二叉搜索樹的后序遍歷序列 140
面試題25:二叉樹中和為某一值的路徑 143
4.4 分解讓復雜問題簡單化 146
面試題26:復雜鏈表的復制 147
面試題27:二叉搜索樹與雙向鏈表 151
面試題28:字符串的排列 154
4.5 本章小結 158
第5章  優(yōu)化時間和空間效率 160
5.1 面試官談效率 160
5.2 時間效率 162
面試題29:數組中出現次數超過一半的數字 163
基于Partition函數的O(n)算法 163
利用數組特點的O(n)算法 165
解法比較 166
面試題30:最小的k個數 167
O(n)的算法,只當可以修改輸入數組時可用 167
O(nlogk)的算法,適合處理海量數據 168
解法比較 169
面試題31:連續(xù)子數組的最大和 171
舉例分析數組的規(guī)律 171
應用動態(tài)規(guī)劃法 173
面試題32:從1到n整數中1出現的次數 174
不考慮效率的解法,想拿Offer有點難 174
明顯提高效率的解法,讓面試官耳目一新 175
面試題33:把數組排成最小的數 177
5.3 時間效率與空間效率的平衡 181
面試題34:丑數 182
逐個判斷整數是不是丑數的解法 182
創(chuàng)建數組保存已經找到的丑數的解法 183
面試題35:第一個只出現一次的字符 186
面試題36:數組中的逆序對 189
面試題37:兩個鏈表的第一個公共結點 193
5.4 本章小結 196
第6章  面試中的各項能力 198
6.1  面試官談能力 198
6.2  溝通能力和學習能力 200
溝通能力 200
學習能力 200
善于學習、溝通的人也善于提問 201
6.3  知識遷移能力 203
面試題38:數字在排序數組中出現的次數 204
面試題39:二叉樹的深度 207
重復遍歷結點的解法,不足以打動面試官 209
只遍歷結點一次的解法,正是面試官喜歡的 209
面試題40:數組中只出現一次的數字 211
面試題41:和為s的兩個數字VS和為s的連續(xù)正數序列 214
面試題42:翻轉單詞順序 VS左旋轉字符串 218
6.4  抽象建模能力 222
面試題43:n個骰子的點數 223
基于遞歸求骰子點數,時間效率不夠高 223
基于循環(huán)求骰子點數,時間性能好 224
面試題44:撲克牌的順子 226
面試題45:圓圈中最后剩下的數字 228
經典的解法,用循環(huán)鏈表模擬圓圈 229
創(chuàng)新的解法,拿到Offer不在話下 230
6.5  發(fā)散思維能力 232
面試題46:求1+2+…+n 233
利用構造函數求解 234
利用虛函數求解 234
利用函數指針求解 235
利用模板類型求解 236
面試題47:不用加減乘除做加法 237
面試題48:不能被繼承的類 239
常規(guī)的解法:把構造函數設為私有函數 239
新奇的解法:利用虛擬繼承 240
6.6  本章小結 241
第7章  兩個面試案例 243
7.1  案例一:(面試題49)把字符串轉換成整數 244
7.2  案例二:(面試題50)樹中兩個結點的最低公共祖先 252

本目錄推薦

掃描二維碼
Copyright ? 讀書網 m.shuitoufair.cn 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號