百科解釋
目錄·程序員面試寶典·編輯推薦·內(nèi)容簡介·主要特點·圖書目錄·書摘 程序員面試寶典 作 者: 歐立奇,劉洋,段韜 編著 出 版 社: 電子工業(yè)出版社 出版時間: 2008-11-1 字 數(shù): 526400 版 次: 1 頁 數(shù): 361 開 本: 16開 印 次: 1 紙 張: 膠版紙 I S B N : 9787121073793 包 裝: 平裝 所屬分類: 圖書 >> 自我實現(xiàn)/勵志 >> 求職/面試 定價:¥39.80編輯推薦 揭開知名IT企業(yè)面試、筆試的核心機密,傳授程序員崗位求職的關鍵技巧、傳遞快樂工作的精神與態(tài)度。 本書涉獵各大IT公司歷年面試真題(包括筆試題、口試題、電話面試、英語面試,以及邏輯測試和智力測試),通過精確詳細的分在,把在應聘程序員(含網(wǎng)絡、測試等)過程中所遇見的常見考點為你一一點破。內(nèi)容簡介 作為剛畢業(yè)的學生和正在找工作的程序員,當你應聘一份程序設計、軟件開發(fā)方面的工作時,招聘方總會安排一次筆試以考查你的程序設計能力。我們寫作這本書的目的就是希望能幫助大家順利地通過這類面試。 程序設計面試,時間大約是一小時,試題范圍包括計算機知識、程序設計、邏輯分析等。與傳統(tǒng)的面試不同,程序設計面試題以程序設計題、IQ智力題及各種與計算機相關的技術性問題為主。我們收集了大量知名企業(yè)技術類筆試中的常見試題,深入淺出地對試題的解答思路進行了分析和指導,不僅能幫助求職者快速復習有關知識,也對如何給面試官留下一個良好而深刻的印象進行了指導。希望能把在技術面試中取得的寶貴經(jīng)驗毫無保留地傳授給讀者,以便使求職者對程序設計面試中的常見題型應付自如,從而獲得一份真正的高薪工作! 通過對本書的學習,讀者能夠掌握關鍵性的面試技巧,發(fā)現(xiàn)和完善有關試題的最佳解決方案,以應對不利的局面。讀完本書,讀者會了解負責招聘工作的HR主管對程序設計面試都有哪些想法,公司將依據(jù)怎樣的標準評估應聘人員在程序設計面試中的表現(xiàn),公司將出哪方面的題目來測試你,以及不同的公司在程序設計方面的側(cè)重點有何不同。通過對書中代表性例題舉一反三地鉆研,相信讀者無論以后遇見什么樣的面試題目,都可以應對自如,在就業(yè)路上一帆風順。主要特點 《程序員面試寶典》不同于同類書籍的主要特點是: &#8226; 細 國外的面試書籍和中國國情不是很相符。中國的軟件企業(yè)比較小,涉及的方面比較細、比較基礎,比如常會考基礎性編程的問題,如const、sizeof、類型轉(zhuǎn)化等。一些國內(nèi)公司(北大方正、北大青鳥等)的面試題,多半是淺顯的基礎的問詢。換句話說就是,他們考得很細。本書把面試中國內(nèi)公司最易考到的基礎考點放在“第2部分C/C++程序設計”里面,希望能切切實實幫讀者解決實際問題。 &#8226; 專 面試題是通過一道題考查一個專類的能力。從被面試者的角度來講,你能了解許多關于出題者或監(jiān)考者的情況。從面試者的角度來講,一個測試也許能從多方面揭示應試者的素質(zhì)。本書將考查的方面分類:嵌入式編程類,軟件類,面向?qū)ο箢,模板類……通過面試題目提升你對這些方面知識的掌握能力,以達到有的放矢、舉一反三的效果。 &#8226; 廣 求職者應聘的職位一般有3種:Bnet、Btest和Se,分別代表網(wǎng)絡工程師、測試工程師和軟件開發(fā)人員。市面上流行的面試書籍僅側(cè)重第三類軟件開發(fā)人員而忽略網(wǎng)絡工程師和測試工程師,F(xiàn)實情況是諸如趨勢科技、華為3COM、Cisco等公司對網(wǎng)絡方面的考題日趨增加。本書就這一方面給出了詳細論斷,并結合大量考題分析題目特點,給出應試方案。 此外,隨著全球五百強企業(yè)進入中國大陸,外企對UML、設計模式、軟件度量等方面試題的喜愛有增無減。本書在這些方面加以改進,以適應市場需求。 &#8226; 新 程序員面試或者說應屆畢業(yè)生面試的題目年年翻新,歲歲不同。比如說現(xiàn)在很少有ASP和VB的面試例題,而新興語言C#卻成為面試熱點。同時本書對時下流行的綜合面試題、智力測試題、英語面試、電話面試加以分門別類,以大量實際案例總結應對面試的方案,以達到“一冊在手,臨危不亂”的效果。 &#8226; 真 本書的所有面試題都是近兩年各大公司面試題的匯總,內(nèi)容非常新,可以算做面試者求職前的一份全真模擬。我們希望營造一種真實的面試氛圍,同時把如何寫好簡歷及如何在面試過程中應答的實際感悟融匯在書中,指引讀者走上理想的工作崗位。 本書不是一本萬能書籍,但卻肯定是你工作求職的好助手和好伙伴!圖書目錄 第1部分 求職過程 求職的過程就是一個提高和認識自我的過程,最后的成功根植于你本人一絲一毫的努力當中。也許真的像電影《肖申克的救贖》里面說的那樣:“得救之道,就在其中! 第1章 應聘求職 3 1.1 應聘渠道 3 1.2 應聘流程 4 第2章 簡歷書寫 5 2.1 簡歷注意事項 5 2.2 簡歷模板 8 第3章 3種考試 13 3.1 筆試 13 3.2 電話面試 15 3.3 面試 16 第4章 職業(yè)生涯發(fā)展規(guī)劃 19 4.1 缺乏工作經(jīng)驗的應屆畢業(yè)生 19 4.2 更換工作的程序員們 21 第2部分 C/C++程序設計 為什么要選擇C系的語言呢?這是因為各大公司的編程語言絕大多數(shù)是C系的語言,雖然Java也占很大的比重,可是C++相對于Java來說更有區(qū)分度—C++是那種為每一個問題提供若干個答案的語言,遠比Java靈活。 第5章 程序設計基本概念 25 作為一個求職者或應屆畢業(yè)生,公司除了對你的項目經(jīng)驗有所問詢之外,最好的考量辦法就是你的基本功,包括你的編程風格,你對賦值語句、遞增語句、類型轉(zhuǎn)換、數(shù)據(jù)交換等程序設計基本概念的理解。 5.1 賦值語句 25 5.2 i++ 27 5.3 編程風格 29 5.4 類型轉(zhuǎn)換 30 5.5 螺旋隊列 34 5.6 a、b交換 35 5.7 C和C++的關系 36 5.8 程序設計其他問題 37 第6章 預處理、const與sizeof 39 6.1 宏定義 39 6.2 const 41 6.3 sizeof 42 6.4 內(nèi)聯(lián)函數(shù)和宏定義 55 第7章 指針與引用 57 指針是C系語言的特色,是C和C++的精華所在,也是C和C++的一個十分重要的概念。 7.1 指針基本問題 57 7.2 傳遞動態(tài)內(nèi)存 65 7.3 函數(shù)指針 71 7.4 指針數(shù)組和數(shù)組指針 73 7.5 迷途指針 77 7.6 指針和句柄 79 第8章 循環(huán)、遞歸與概率 81 8.1 遞歸基礎知識 81 8.2 典型遞歸問題 83 8.3 打靶 84 8.4 字符子串 89 8.5 循環(huán)語言 91 8.6 0-1背包 94 8.7 概率 95 第9章 STL模板與容器 97 9.1 向量容器 98 9.2 泛型編程 103 9.3 模板 105 第10章 面向?qū)ο?109 有這樣一句話:“編程是在計算機中反映世界”,我覺得再貼切不過。面向?qū)ο螅∣bject-Oriented)對這種說法的體現(xiàn)也是最優(yōu)秀的。 10.1 面向?qū)ο蟮幕靖拍?110 10.2 類和結構 111 10.3 成員變量 113 10.4 構造函數(shù)和析構函數(shù) 117 10.5 拷貝構造函數(shù)和賦值函數(shù) 119 10.6 多態(tài)的概念 123 第11章 繼承與接口 127 整個C++程序設計全面圍繞面向?qū)ο蟮姆绞竭M行。類的繼承特性是C++的一個非常重要的機制。這一章的內(nèi)容是C++面向?qū)ο蟪绦蛟O計的關鍵。 11.1 覆蓋 128 11.2 私有繼承 130 11.3 虛函數(shù)繼承和虛繼承 137 11.4 多重繼承 141 11.5 檢測并修改不適合的繼承 142 11.6 純虛函數(shù) 146 11.7 COM 148 第12章 位運算與嵌入式編程 151 12.1 位制轉(zhuǎn)換 151 12.2 嵌入式編程 157 第3部分 數(shù)據(jù)結構和設計模式 隨著外企研發(fā)機構大量內(nèi)遷我國,在外企的面試中,軟件工程的知識,包括設計模式、UML、敏捷軟件開發(fā),以及.NET技術和完全面向?qū)ο笳Z言C#的面試題目將會有增無減。 第13章 數(shù)據(jù)結構基礎 167 面試時間一般有2小時,其中至少有約20~30分鐘是用來回答數(shù)據(jù)結構相關問題的。鏈表、數(shù)組的排序和逆置是必考的內(nèi)容之一。 13.1 單鏈表 167 13.2 雙鏈表 173 13.3 循環(huán)鏈表 176 13.4 隊列 177 13.5 堆棧 180 13.6 樹 185 13.7 排序 185 第14章 字符串 203 14.1 整數(shù)字符串轉(zhuǎn)化 203 14.2 字符數(shù)組和strcpy 205 14.3 數(shù)組越界 210 14.4 數(shù)字流和數(shù)組聲明 212 14.5 字符串其他問題 213 第15章 設計模式 219 “地上本沒有路,走的人多了也就成了路”。設計模式如同此理,它是經(jīng)驗的傳承,并非體系。它是被前人發(fā)現(xiàn),經(jīng)過總結形成的一套某一類問題的一般性解決方案,而不是被設計出來的定性規(guī)則。 15.1 設計模式 220 15.2 軟件工程 235 15.3 C#基礎 237 15.4 C#繼承 240 15.5 C#委托 249 15.6 ASP.NET 251 第4部分 操作系統(tǒng)、數(shù)據(jù)庫和網(wǎng)絡 本部分主要介紹求職面試過程中出現(xiàn)的第三個重要的板塊—操作系統(tǒng)、數(shù)據(jù)庫和網(wǎng)絡知識。這些內(nèi)容雖不是面試題目中的主流,但仍然具有重要的意義。 第16章 操作系統(tǒng) 257 16.1 進程 257 16.2 圖形學 259 16.3 內(nèi)存管理 261 16.4 DOS、Linux、UNIX 271 第17章 數(shù)據(jù)庫與SQL語言 273 17.1 數(shù)據(jù)庫理論 273 17.2 SQL語言 276 17.3 SQL語言客觀題 279 17.4 SQL語言主觀題 282 第18章 計算機網(wǎng)絡及分布式系統(tǒng) 285 18.1 網(wǎng)絡結構 285 18.2 TCP/IP 288 18.3 SNMP 292 18.4 網(wǎng)絡其他問題 295 第5部分 綜合面試題 英語面試、電話面試和智力測試,是除技術面試之外的另三大模塊。本部分教你如何精心地為這些內(nèi)容做好準備,以讓你在整個面試過程中的表現(xiàn)更加完美。 第19章 英語面試 301 這里的英語面試不同于普通的英語面試。就一個程序員而言,最好能夠做到用英文流利地介紹自己的求職經(jīng)歷,這是進外企非常重要的一步。有些問題即便是中文你都很難回答,更何況是用英文去回答。但是求職過程本身就是一個準備的過程,精心地準備等待機會,機會總是垂青于那些精心準備的人。 19.1 面試過程和技巧 301 19.2 關于工作(About Job) 303 19.3 關于個人(About Person) 308 19.4 關于未來(About Future) 311 19.5 其他建議(Other Tips) 312 19.6 英文面試常用詞匯 313 19.6.1 工作經(jīng)歷相關詞匯 313 19.6.2 個人資料相關詞匯 314 19.6.3 個人品質(zhì)相關詞匯 315 19.6.4 學歷相關詞匯 316 19.6.5 離職原因相關詞匯 318 第20章 電話面試 319 20.1 電話面試之前的準備工作 319 20.2 電話面試交流常見問題 320 第21章 智力測試 329 智力測試是企業(yè)招聘時有可能出現(xiàn)的一個環(huán)節(jié),事實上,IT企業(yè)求職招聘還是主要以基本的程序設計及數(shù)據(jù)結構為主。智力測試是考驗人的綜合智商、邏輯能力的過程,本身是很難復習和準備的。這些年來,智力測試的一個新的趨勢是和編程及算法結合起來。 21.1 關于數(shù)字的智力測試 329 21.2 關于推理的智力測試 332 21.3 關于時間的智力測試 333 附錄A 簡歷模板 339 附錄B 面試經(jīng)歷總結 351書摘 樣張: 8.4【螺旋隊列問題】 面試例題1: 21 22................ 20 7 8 9 10 19 6 1 2 11 18 5 4 3 12 17 16 15 14 13 看清以上數(shù)字排列的規(guī)律,設1點的坐標是(0,0),x方向向右為正,y方向向下為正.例如:7的坐標為(-1,-1) ,2的坐標為(0,1),3的坐標為(1,1).編程實現(xiàn)輸入任意一點坐標(x,y),輸出所對應的數(shù)字。[芬蘭著名軟件公司面試題,2005] 解析:規(guī)律能看出來,問題就在于如何利用它。很明顯這個隊列是順時針螺旋向外擴展的,我們可以把它看成一層一層往外延伸。第 0 層規(guī)定為中間的那個 1,第 1 層為 2 到 9,第 2 層為 10 到 25,注意到 1、9、25、……不就是平方數(shù)嗎?而且是連續(xù)奇數(shù)(1、3、5、……)的平方數(shù)。這些數(shù)還跟層數(shù)相關,推算一下就可以知道第 t 層之內(nèi)一共有 (2t-1)^2 個數(shù),因而第 t 層會從 [(2t-1)^2] + 1 開始繼續(xù)往外螺旋。給定坐標 (x,y),如何知道該點處于第幾層?層數(shù) t = max(|x|,|y|)。 知道了層數(shù),接下來就好辦多了,這時我們就知道所求的那點一定在第 t 層這個圈上,順著往下數(shù)就是了。要注意的就是螺旋隊列數(shù)值增長方向和坐標軸正方向并不一定相同。我們可以分成四種情況——上、下、左、右——或者——東、南、西、北,分別處于四條邊上來分析。 東|右:x == t,隊列增長方向和 y 軸一致,正東方向(y = 0)數(shù)值為 (2t-1)^2 + t,所以 v = (2t-1)^2 + t + y 南|下:y == t,隊列增長方向和 x 軸相反,正南方向(x = 0)數(shù)值為 (2t-1)^2 + 3t,所以 v = (2t-1)^2 + 3t - x 西|左:x == -t,隊列增長方向和 y 軸相反,正西方向(y = 0)數(shù)值為 (2t-1)^2 + 5t,所以 v = (2t-1)^2 + 5t - y 北|上:y == -t,隊列增長方向和 x 軸一致,正北方向(x = 0)數(shù)值為 (2t-1)^2 + 7t,所以 v = (2t-1)^2 + 7t + x 其實還有一點很重要,不然會有問題。其它三條邊都還好,但是在東邊(右邊)那條線上,隊列增加不完全符合公式!注意到東北角(右上角)是本層的最后一個數(shù),再往下卻是本層的第一個數(shù),那當然不滿足東線公式啊。所以我們把東線的判斷放在最后(其實只需要放在北線之后就可以),這樣一來,東北角那點始終會被認為是北線上的點。 答案:代碼如下: #include <stdio.h> #define max(a,b) ((a)<(b)?(b):(a)) #define abs(a) ((a)>0?(a):-(a)) int foo(int x, int y) { int t = max(abs(x), abs(y)); int u = t + t; int v = u - 1; v = v * v + u; if (x == -t) v += u + t - y; else if (y == -t) v += 3 * u + x - t; else if (y == t ) v += t - x; else v += y - t; return v; } int main() { int x, y; for (y=-4;y<=4;y++) { for (x=-4;x<=4;x++) printf("%5d", foo(x, y)); printf(" "); } while(scanf("%d%d", &x, &y)==2) printf("%d ", foo(x, y)); return 0; } 17.4【關于臨界問題】 面試例題2:有一個100層高的大廈,你手中有兩個相同的玻璃圍棋子。從這個大廈的某一層扔下圍棋子就會碎,用你手中的這兩個玻璃圍棋子,找出一個最優(yōu)的策略,來得知那個臨界層面。[中國著名通訊企業(yè)H公司面試題,2008年] 解析:設總共樓層為 h a(n)(如a(1) ,a(2)...)表示每一次拋所在的層次。 則對于任一次拋擲an,必須沿著上一次所拋得層之上逐個嘗試 既最多必須拋擲 a(n) - a(n-1) - 1 + n次 依此類推,考慮平均值,將各次求和,消去之后得到 (a(n) - n + (1+n)*n/2) / n 由于 a(n) = h 所以等式化為 h/n + n/2 + 1/2 其最小值發(fā)生于 n = (h*2)^(1/2)的時候 代入 h = 100 得到 n 約等于 14 及最壞情況下,約需14次完成。 答案:最多14次。 從14層開始扔第一次,如果碎了,那么從第2層開始扔,一層層加,直到13層。一共14次。 如果沒有碎。27層再扔一次。依次推理,從15層到26層一共12次。加上前面的14層,27層2次所以說也是14次。 依次這樣扔 14 14+13=27 27+12=39 39+11=50 50+10=60 60+9=69 69+8=77 77+7=84 84+6=90 90+5=95 96 97 98 99 最多14次 算法如下: #include <iostream> using namespace std; int kk[5]; int fmin2[101]; int fmax2[101][101]; int f(int n); int main() { memset(fmin2,101,sizeof(fmin2)); memset(fmax2,0,sizeof(fmax2)); fmin2[0] = 0; fmin2[1] = 1; cout <<"100 floor: " << f(100) << endl; return 0; } int f(int n) { if(fmin2[n] < 101) return fmin2[n]; for(int i = 1; i <= n; i++) { int d = f(n-i) ; fmax2[n] = (i-1) > d ? (i-1) : d; } int min = 101; for(int i = 1; i <= n; i++) { min = min < fmax2[n] ? min : fmax2[n]; } fmin2[n] = 1 + min; return 1 + min; } 。ǜ杏X答案還是有點問題的:) 如果一次15層的話,最后的期望值是13.75 = (15/2 + 90/15) * (9/10) + (90/15 + 10) * (1/10) 如果一次14層的話,最后的期望值是13.9 = (14/2 + 98/14) * (98/100) + (98/14 + 2) * (2/100) 21.5【關于群體面試】 面試例題3:如果唐僧去西天取經(jīng),可以帶八個人去,李魁,孔子,瓦特,林黛玉,鄭和,武則天,牛頓,李白,請你把這八個人按照你的想帶的意愿從強到弱排個序,并解釋為什么這么排序。[中國著名互聯(lián)網(wǎng)企業(yè)W公司群體面試題,2008年] 解析:群面主要是考驗團隊配合、領導力等非技術素質(zhì)。所以群面的題目一般都是有分歧的,沒有標準答案,每個答案只要自己把理由列充分就能自圓其說。 群面關鍵看是否能自圓其說,和其他成員的合作與溝通方面的東西。下面的答案僅供參考。 答案: 第一,選鄭和,理由:鄭和有豐富的遠行經(jīng)驗,曾指揮數(shù)千上萬人,及若干船隊.還有他與途經(jīng)各國打交道的優(yōu)勢.即一項任務的總指揮; 第二,選李魁,理由:西行,路途艱險,無數(shù)突發(fā)情況,需要武力的保障,沒有武力作為堅強保障,什么也干不了。 第三,選武則天,武則天的生平:普通女子,普通才人,被太宗寵愛,太宗死后成尼姑,用計勾引高宗,變成宮里的貴人,用計謀清除異已,成為皇后,最后強勢成帝。在這角色變化中,她應付皇宮里的勾心斗角,人際關系,處理得當,綜合能力實屬強大。 第四,選牛頓,物理學家,可以運用科學知識為西行中所碰到的問題解決.簡單說就是用理論指導實踐,例如,簡單的物理知識,水的浮力,還有力的運用等等 第五選瓦特,與牛頓類似,但略遜牛頓.沒有足夠條件給這位先生去發(fā)明,改善,運用他的發(fā)明。 第六選孔子,倫理道德,之乎者也,有理但也拘泥于禮法.對任務的執(zhí)行,總體起阻礙作用 第七選李白,一介書生,空有文采,對任務執(zhí)行無太大用處,但缺點明顯,如只會抱怨,感嘆懷才不遇,起阻礙作用。 第八,選林妹妹,特點是哭,還有體力弱?,會影響團體情緒,體力弱,影響隊伍行進的速度,搞不好還要別人背她。起阻礙作用。 從排序上,即 1.指揮決策;2.武力保障;3.公關能力;4.科學知識;5.科學技術,6.禮法拘束,7.浪漫消極,8.哭泣體弱。 前五名是從對任務的執(zhí)行起到正作用的,后三名起的是負作用。其實執(zhí)行一項任務,挑選需要的人,為任務的完成來服務。每個人物都有優(yōu)點缺點,但是為了完成西天取經(jīng)的任務,只能選擇最合適的人選了。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團隊博客 | 免責聲明 | 關于詞典 | 幫助