《程序員面試寶典(第5版)》是《程序員面試寶典》的第5 版,在保留第4 版的數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο、程序設(shè)計(jì)等主干的基礎(chǔ)上,修正了前4 版近40 處錯(cuò)誤,解釋清楚一些讀者提出的問題,并使用各大IT 公司及相關(guān)企業(yè)**面試題(2014-2015)替換和補(bǔ)充原內(nèi)容,以反映自第4 版以來(lái)兩年多的時(shí)間內(nèi)所發(fā)生的變化。
《程序員面試寶典(第5版)》取材于各大公司面試真題(筆試、口試、電話面試、英語(yǔ)面試,以及邏輯測(cè)試和智商測(cè)試),詳細(xì)分析了應(yīng)聘程序員(含網(wǎng)絡(luò)、測(cè)試等)職位的常見考點(diǎn)。《程序員面試寶典(第5版)》不僅對(duì)傳統(tǒng)的C 系語(yǔ)言考點(diǎn)做了詳盡解釋,還根據(jù)外企出題**特點(diǎn),新增加了對(duì)友元、Static、圖形/音頻、樹、棧、ERP 等問題的深入講解。*后《程序員面試寶典(第5版)》著力講述了如何進(jìn)行英語(yǔ)面試和電話面試,并對(duì)求職中簽約、毀約的注意事項(xiàng)及群體面試進(jìn)行了解析。
《程序員面試寶典(第5版)》的面試題除了有詳細(xì)解析和答案外,對(duì)相關(guān)知識(shí)點(diǎn)還有擴(kuò)展說(shuō)明。真正做到了由點(diǎn)成線,舉一反三,對(duì)讀者從求職就業(yè)到提升計(jì)算機(jī)專業(yè)知識(shí)都有顯著幫助。
《程序員面試寶典(第5版)》適合計(jì)算機(jī)相關(guān)專業(yè)應(yīng)屆畢業(yè)生閱讀,也適合作為正在應(yīng)聘軟件行業(yè)的相關(guān)就業(yè)人員和計(jì)算機(jī)愛好者的參考書。
第1部分求職過程
第1章應(yīng)聘求職 2
1.1 渠道 2
1.2 流程 3
第2章簡(jiǎn)歷書寫 4
2.1 簡(jiǎn)歷注意事項(xiàng) 4
2.2 簡(jiǎn)歷模板 8
第3章求職五步曲 11
3.1 筆試 11
3.2 電話面試 14
3.3 面試 15
3.4 簽約 16
3.5 違約 20
第4章職業(yè)生涯發(fā)展規(guī)劃 22
4.1 缺乏工作經(jīng)驗(yàn)的應(yīng)屆畢業(yè)生 22
4.2 更換工作的程序員們 24
4.3 快樂地工作 25
第2部分 C/C++程序設(shè)計(jì)
第5章程序設(shè)計(jì)基本概念 30
5.1 賦值語(yǔ)句 30
5.2 i++ 32
5.3 編程風(fēng)格 34
5.4 類型轉(zhuǎn)換 35
5.5 運(yùn)算符問題 40
5.6 a、b交換與比較 42
5.7 C和C++的關(guān)系 43
5.8 程序設(shè)計(jì)的其他問題 44
第6章預(yù)處理、const與sizeof 46
6.1 宏定義 46
6.2 const 47
6.3 sizeof 52
6.4 內(nèi)聯(lián)函數(shù)和宏定義 63
第7章指針與引用 65
7.1 指針基本問題 65
7.2 傳遞動(dòng)態(tài)內(nèi)存 67
7.3 函數(shù)指針 76
7.4 指針數(shù)組和數(shù)組指針 78
7.5 迷途指針 82
7.6 指針和句柄 84
7.7 this指針 86
第8章循環(huán)、遞歸與概率 89
8.1 遞歸基礎(chǔ)知識(shí) 89
8.2 典型遞歸問題 92
8.3 循環(huán)與數(shù)組問題 94
8.4 螺旋隊(duì)列問題 98
8.5 概率 101
第9章STL模板與容器 103
9.1 向量容器 104
9.2 泛型編程 108
9.3 模板 109
第10章面向?qū)ο?113
10.1 面向?qū)ο蟮幕靖拍?113
10.2 類和結(jié)構(gòu) 116
10.3 成員變量 117
10.4 構(gòu)造函數(shù)和析構(gòu)函數(shù) 120
10.5 拷貝構(gòu)造函數(shù)和賦值函數(shù) 122
10.6 多態(tài)的概念 128
10.7 友元 131
10.8 異常 132
第11章繼承與接口 136
11.1 覆蓋 137
11.2 私有繼承 139
11.3 虛函數(shù)繼承和虛繼承 144
11.4 多重繼承 147
11.5 檢測(cè)并修改不適合的繼承 151
11.6 純虛函數(shù) 153
11.7 運(yùn)算符重載與RTTI 155
第12章位運(yùn)算與嵌入式編程 164
12.1 位制轉(zhuǎn)換 164
12.2 嵌入式編程 174
12.3 static 181
第3部分?jǐn)?shù)據(jù)結(jié)構(gòu)和設(shè)計(jì)模式
第13章數(shù)據(jù)結(jié)構(gòu)基礎(chǔ) 184
13.1 單鏈表 184
13.2 雙鏈表 189
13.3 循環(huán)鏈表 191
13.4 隊(duì)列 192
13.5 棧 193
13.6 堆 196
13.7 樹、圖、哈希表 207
13.8 排序 215
13.9 時(shí)間復(fù)雜度 228
第14章字符串 237
14.1 整數(shù)字符串轉(zhuǎn)化 237
14.2 字符數(shù)組和strcpy 238
14.3 數(shù)組初始化和數(shù)組越界 242
14.4 數(shù)字流和數(shù)組聲明 245
14.5 字符串其他問題 245
14.6 字符子串問題 250
第15章設(shè)計(jì)模式與軟件測(cè)試 253
15.1 設(shè)計(jì)模式 254
15.2 軟件測(cè)試基礎(chǔ) 261
15.3 黑盒測(cè)試 262
15.4 白盒測(cè)試 268
第4部分操作系統(tǒng)、數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)
第16章操作系統(tǒng) 276
16.1 進(jìn)程 276
16.2 線程 281
16.3 內(nèi)存管理 286
第17章數(shù)據(jù)庫(kù)與SQL語(yǔ)言 290
17.1 數(shù)據(jù)庫(kù)理論 290
17.2 SQL語(yǔ)言 294
17.3 SQL語(yǔ)言客觀題 296
17.4SQL語(yǔ)言主觀題 299
第18章計(jì)算機(jī)網(wǎng)絡(luò)及分布式系統(tǒng) 305
18.1 網(wǎng)絡(luò)結(jié)構(gòu) 305
18.2 網(wǎng)絡(luò)協(xié)議問題 307
18.3 網(wǎng)絡(luò)安全問題 309
18.4 網(wǎng)絡(luò)其他問題 311
第5部分綜合面試題
第19章英語(yǔ)面試 316
19.1 面試過程和技巧 316
19.2 關(guān)于工作(About Job) 318
19.3 關(guān)于個(gè)人(About Person) 321
19.4 關(guān)于未來(lái)(About Future) 323
第20章電話面試 325
20.1 電話面試之前的準(zhǔn)備工作 325
20.2 電話面試交流常見的問題 326
第21章數(shù)字類題目分析 334
21.1 數(shù)字規(guī)律類題目 334
21.2 數(shù)字填充類題目 337
21.3 數(shù)字運(yùn)算類題目 338
21.4 應(yīng)用數(shù)學(xué)類題目 339
第22章圖表類題目分析 346
22.1 圖形變換類題目 346
22.2 表格分析類題目 352
第23章智力類題目分析 354
23.1 推理類題目 354
23.2 博弈論 356
23.3 概率 358
第24章無(wú)領(lǐng)導(dǎo)小組討論題目分析 361
24.1 題目介紹 361
24.2 無(wú)領(lǐng)導(dǎo)小組討論特點(diǎn) 361
24.3 無(wú)領(lǐng)導(dǎo)小組階段分析 363
24.4 無(wú)領(lǐng)導(dǎo)小組角色分析 367
24.5 無(wú)領(lǐng)導(dǎo)小組評(píng)分標(biāo)準(zhǔn)分析 371
24.6 群面實(shí)錄 373
附錄A面試經(jīng)歷總結(jié) 377
序
首先,我要感謝本書的作者能夠選擇這樣一個(gè)備受大家關(guān)注的話題作為題材,同時(shí)也要感謝電子工業(yè)出版社能夠?qū)⒋藭罅ν茝V。要知道,程序員和面試可能是現(xiàn)在因特網(wǎng)上大家*為關(guān)心的字眼之一了——不,應(yīng)該是之二。正好,本書詳盡地描述了程序員應(yīng)該學(xué)些什么、做些什么,然后應(yīng)該如何面對(duì)煩人的但又必不可少的面試過程。當(dāng)然,如果您不是程序員,我依然認(rèn)為本書會(huì)對(duì)您的職業(yè)生涯有所幫助,相信我吧。
哦,忘了介紹我自己了。我是孔文達(dá),畢業(yè)于北京某某大學(xué)材料系,現(xiàn)任微軟(中國(guó))有限公司顧問。咦?怎么讀材料的從事上IT工作了?這說(shuō)來(lái)可話長(zhǎng)了。但其實(shí)一句概括的話,就是:努力加機(jī)遇。當(dāng)然,我并不想長(zhǎng)篇大論應(yīng)該如何努力及如何把握機(jī)遇,我想說(shuō)的是和本書密切相關(guān)的話題——面試。
其實(shí),無(wú)論是程序員還是其他任何行業(yè)的任何職位,面試過程都大同小異,無(wú)非就是提交簡(jiǎn)歷、電話面試、面談、得到Offer等這一系列過程。當(dāng)然,這其中每一步都很重要!簡(jiǎn)歷要寫得得體、漂亮,盡量突出自己的優(yōu)勢(shì),屏蔽自己的劣勢(shì)。電話面試還好一些,因?yàn)橹皇请娫捊徽,所以您也許會(huì)更好地把握自己的語(yǔ)言。面談是*關(guān)鍵的一步,而且如果您準(zhǔn)備不充分的話,一定會(huì)緊張。緊張,就有可能出現(xiàn)錯(cuò)誤。不過還好,大多數(shù)面試官都可以接受面試者的緊張,只要不是太過分,問題就不大。一般來(lái)說(shuō),中型或大型企業(yè)的面試都不止一輪,有些甚至有十幾輪。就拿微軟來(lái)說(shuō)吧,官方渠道需要12輪面試,內(nèi)部推薦也需要4輪,而且是一票否決制。就是說(shuō),有一個(gè)面試官說(shuō)你不行,你就沒戲了。怎么搞定所有的面試官呢?當(dāng)然有很多技巧,但*重要的一條就是:面試官是個(gè)活生生的人,他/她一定有個(gè)人偏好,在你見到面試官時(shí),盡可能在*短的時(shí)間內(nèi)——**是在他/她了解你之前——了解他/她,合乎時(shí)宜地與他/她展開對(duì)話。*后一點(diǎn),**不要極其地、非常地、十分地想得到某個(gè)職位,這有可能會(huì)使你失態(tài),抱著平常心有時(shí)會(huì)得到意想不到的效果。
這本書寫得非常好,它非常詳盡地描述了作為一名程序員應(yīng)該為面試準(zhǔn)備些什么和注意些什么。也許您現(xiàn)在還用不到它,先看看吧,指不定什么時(shí)候就用上了呢!這不是杞人憂天,而是未雨綢繆!
孔文達(dá)
技術(shù)顧問 微軟全國(guó)TOP3講師