程式設計師面試筆試寶典(第2版)

程式設計師面試筆試寶典(第2版)

《程式設計師面試筆試寶典(第2版)》是機械工業出版社出版的圖書,作者是何昊、葉向陽、竇浩。

基本介紹

  • 中文名:程式設計師面試筆試寶典(第2版) 
  • 作者:何昊、葉向陽、竇浩
  • 出版時間:2014年12月1日
  • 出版社:機械工業出版社
  • 頁數:297 頁
  • ISBN:9787111487876
  • 定價:44.90 元
  • 裝幀:平裝
內容簡介,圖書目錄,作者簡介,

內容簡介

本書針對當前各大IT企業面試筆試中常見的問題以及注意事項,進行了深層次的分析。本書除了對傳統的計算機相關知識(C/C++、數據結構與算法、作業系統等)進行介紹外,還根據當前計算機技術的發展潮流,對面試筆試中常見的海量數據處理進行了詳細的分析。同時,為了更具說服力,本書特邀多位IT名企面試官現身說法,對面試過程中求職者存在的問題進行了深度剖析,同時本書引入了一批來自於名牌高校、就職於明星企業的職場達人的真實求職案例,通過他們的求職經驗與教訓,拋磚引玉,將整個求職過程生動形象地展示在讀者面前,進而對求職者起到一定的指引作用。本書也對各種類型的IT企業的招聘環節進行了庖丁解牛式的分析,幫助求職者能夠更加有針對性地進行求職準備。 本書是一本計算機相關專業畢業生面試筆試的求職用書,同時也適合期望在計算機軟硬體行業大顯身手的計算機愛好者閱讀。

圖書目錄

上篇 面試筆試經驗技巧篇
第1章 面試官箴言
1.1 有道無術,術可求;有術無道,止於術
1.2 求精不求全
1.3 腳踏實地,培養多種技能
1.4 保持空杯心態
1.5 職場是能者的舞台
1.6 學會“紙上談兵”
1.7 小結
第2章 面試心得交流
2.1 心態決定一切
2.2 假話全不說,真話不全說
2.3 走自己的路,讓別人去說吧
2.4 夯實基礎謀出路
2.5 書中自有編程法
2.6 筆試成績好,不會被鄙視
2.7 不要一廂情願做公司的備胎
2.8 小結
第3章 企業面試筆試攻略
3.1 網際網路企業
3.2 網路設備提供商
3.3 外企
3.4 國企
3.5 研究所
3.6 創業型企業
3.7 如何抉擇
下篇 面試筆試技術攻克篇
第4章 程式設計基礎
4.1 C/C++關鍵字
4.1.1 static(靜態)變數有什麼作用
4.1.2 const有哪些作用
4.1.3 switch語句中的case結尾是否必須添加break語句?為什麼
4.1.4 volatile在程式設計中有什麼作用
4.1.5 斷言ASSERT( )是什麼
4.1.6 枚舉變數的值如何計算
4.1.7 char str1[] = "abc"; char str2[] = "abc"; str1與str2不相等,為什麼
4.1.8 為什麼有時候main( )函式會帶參數?參數argc與argv的含義是什麼
4.1.9 C++裡面是不是所有的動作都是main( )函式引起的
4.1.10 *p++與(*p)++等價嗎?為什麼
4.1.11 前置運算與後置運算有什麼區別
4.1.12 a是變數,執行(a++) += a語句是否合法
4.1.13 如何進行float、bool、int、指針變數與“零值”的比較
4.1.14 new/delete與malloc/free的區別是什麼
4.1.15 什麼時候需要將引用作為返回值
4.1.16 變數名為618Software是否合法
4.1.17 C語言中,整型變數x小於0,是否可知x×2也小於0
4.1.18 exit(status)是否跟從main( )函式返回的status等價
4.1.19 已知String類定義,如何實現其函式體
4.1.20 在C++中如何實現模板函式的外部調用
4.1.21 在C++中,關鍵字explicit有什麼作用
4.1.22 C++中異常的處理方法以及使用了哪些關鍵字
4.1.23 如何定義和實現一個類的成員函式為回調函式
4.2 記憶體分配
4.2.1 記憶體分配的形式有哪些
4.2.2 什麼是記憶體泄露
4.2.3 棧空間的最大值是多少
4.2.4 什麼是緩衝區溢出
4.3 sizeof
4.3.1 sizeof是關鍵字嗎
4.3.2 strlen("\0")=?sizeof("\0")=?
4.3.3 對於結構體而言,為什麼sizeof返回的值一般大於期望值
4.3.4 指針進行強制類型轉換後與地址進行加法運算,結果是什麼
4.4 指針
4.4.1 使用指針有哪些好處
4.4.2 引用還是指針
4.4.3 指針和數組是否表示同一概念
4.4.4 指針是否可進行>、<、>=、<=、= =運算
4.4.5 指針與數字相加的結果是什麼
4.4.6 野指針?空指針
4.5 預處理
4.5.1 C/C++頭檔案中的ifndef/define/endif的作用有哪些
4.5.2 #include 和#include“filename.h”有什麼區別
4.5.3 #define有哪些缺陷
4.5.4 如何使用define 聲明一個常數,用以表明1年中有多少秒(忽略閏年問題)
4.5.5 含參數的宏與函式有什麼區別
4.5.6 宏定義平方運算#define SQR(X) X*X是否正確
4.5.7 不能使用大於、小於、if語句,如何定義一個宏來比較兩個數a、b的大小
4.5.8 如何判斷一個變數是有符號數還是無符號數
4.5.9 #define TRACE(S) (printf("%s\n", #S), S)是什麼意思
4.5.10 不使用sizeof,如何求int占用的位元組數
4.5.11 如何使用宏求結構體的記憶體偏移地址
4.5.12 如何用sizeof判斷數組中有多少個元素
4.5.13 枚舉和define有什麼不同
4.5.14 typdef和define有什麼區別
4.5.15 C++中宏定義與內聯函式有什麼區別
4.5.16 定義常量誰更好?#define還是const
4.6 結構體與類
4.6.1 C語言中struct與union的區別是什麼
4.6.2 C和C++中struct的區別是什麼
4.6.3 C++中struct與class的區別是什麼
4.7 位操作
4.7.1 一些結構聲明中的冒號和數字是什麼意思
4.7.2 最有效的計算2乘以8的方法是什麼
4.7.3 如何實現位操作求兩個數的平均值
4.7.4 unsigned int i=3;printf("%u\n",i*-1)輸出為多少
4.7.5 如何求解整型數的二進制表示中1的個數
4.7.6 不能用sizeof( )函式,如何判斷作業系統是16位還是32位的
4.7.7 嵌入式編程中,什麼是大端?什麼是小端
4.7.8 考慮n位二進制數,有多少個數中不存在兩個相鄰的1
4.7.9 不用除法操作符如何實現兩個正整數的除法
4.8 函式
4.8.1 怎么樣寫一個接受可變參數的函式
4.8.2 函式指針與指針函式有什麼區別
4.8.3 C++函式傳遞參數的方式有哪些
4.8.4 重載與覆蓋有什麼區別
4.8.5 是否可以通過絕對記憶體地址進行參數賦值與函式調用
4.8.6 默認構造函式是否可以調用單參數構造函式
4.8.7 C++中函式調用有哪幾種方式
4.8.8 什麼是可重入函式?C語言中如何寫可重入函式
4.9 數組
4.9.1 int a[2][2]={{1},{2,3}},則a[0][1]的值是多少
4.9.2 如何合法表示二維數組
4.9.3 a是數組,(int*)(&a+1)表示什麼意思
4.9.4 不使用流程控制語句,如何列印出1~1000的整數
4.9.5 char str[1024]; scanf("%s",str)是否安全
4.9.6 行存儲與列存儲中哪種存儲效率高
4.10 變數
4.10.1 全局變數和靜態變數有什麼異同
4.10.2 局部變數需要“避諱”全局變數嗎
4.10.3 如何建立和理解非常複雜的聲明
4.10.4 變數定義與變數聲明有什麼區別
4.10.5 不使用第三方變數,如何交換兩個變數的值
4.10.6 C與C++變數初始化有什麼不同
4.11 字元串
4.11.1 不使用C/C++字元串庫函式,如何自行編寫strcpy( )函式
4.11.2 如何把數字轉換成字元串
4.11.3 如何自定義記憶體複製函式memcpy( )
4.12 編譯
4.12.1 編譯和連結的區別是什麼
4.12.2 編譯型語言與解釋型語言的區別是什麼
4.12.3 如何判斷一段程式是由C編譯程式還是由C++編譯程式編譯的
4.12.4 在C++程式中調用被C編譯器編譯後的函式,為什麼要加extern“C”
4.12.5 兩段代碼共存於一個檔案,編譯時有選擇地編譯其中的一部分,如何實現
4.13 面向對象相關
4.13.1 面向對象與面向過程有什麼區別
4.13.2 面向對象的基本特徵有哪些
4.13.3 什麼是深拷貝?什麼是淺拷貝
4.13.4 什麼是友元
4.13.5 複製構造函式與賦值運算符的區別是什麼
4.13.6 基類的構造函式/析構函式是否能被派生類繼承
4.13.7 初始化列表和構造函式初始化的區別是什麼
4.13.8 類的成員變數的初始化順序是按照聲明順序嗎
4.13.9 當一個類為另一個類的成員變數時,如何對其進行初始化
4.13.10 C++能設計實現一個不能被繼承的類嗎
4.13.11 構造函式沒有返回值,那么如何得知對象是否構造成功
4.13.12 C++中的空類默認產生哪些成員函式
4.13.13 如何設定類的構造函式的可見性
4.13.14 public繼承、protected繼承、private繼承的區別是什麼
4.13.15 C++提供默認參數的函式嗎
4.13.16 C++中有哪些情況只能用初始化列表而不能用賦值
4.14 虛函式
4.14.1 什麼是虛函式
4.14.2 C++如何實現多態
4.14.3 C++中繼承、虛函式、純虛函式分別指的是什麼
4.14.4 C++中的多態種類有哪幾種
4.14.5 什麼函式不能聲明為虛函式
4.14.6 是否可以把每個函式都聲明為虛函式
4.14.7 C++中如何阻止一個類被實例化
4.15 編程技巧
4.15.1 當while( )的循環條件是賦值語句時會出現什麼情況
4.15.2 不使用if/:?/switch及其他判斷語句如何找出兩個int型變數中的最大值和最小值
4.15.3 C語言獲取檔案大小的函式是什麼
4.15.4 表達式a>b>c是什麼意思
4.15.5 如何列印自身代碼
4.15.6 如何實現一個最簡單病毒
4.15.7 如何只使用一條語句實現x是否為2的若干次冪的判斷
4.15.8 如何定義一對相互引用的結構
4.15.9 什麼是逗號表達式
4.15.10 \n是否與\n\r等價
4.15.11 什麼是短路求值
4.15.12 已知隨機數函式rand7( ),如何構造rand10( )函式
4.15.13 printf("%p\n",(void *)x)與printf("%p\n",&x)有何區別
4.15.14 printf( )函式是否有返回值
4.15.15 不能使用任何變數,如何實現計算字元串長度函式Strlen( )
4.15.16 負數除法與正數除法的運算原理是否一樣
4.15.17 main( )主函式執行完畢後,是否可能會再執行一段代碼
第5章 作業系統
5.1 進程管理
5.1.1 進程與執行緒有什麼區別
5.1.2 執行緒同步有哪些機制
5.1.3 核心執行緒和用戶執行緒的區別
5.2 記憶體管理
5.2.1 記憶體管理有哪幾種方式
5.2.2 分段和分頁的區別是什麼
5.2.3 什麼是虛擬記憶體
5.2.4 什麼是記憶體碎片?什麼是內碎片?什麼是外碎片
5.2.5 虛擬地址、邏輯地址、線性地址、物理地址有什麼區別
5.2.6 Cache替換算法有哪些
5.3 用戶編程接口
5.3.1 庫函式與系統調用有什麼不同
5.3.2 靜態連結與動態連結有什麼區別
5.3.3 靜態程式庫與動態程式庫有什麼區別
5.3.4 用戶態和核心態有什麼區別
5.3.5 用戶棧與核心棧有什麼區別
第6章 數據結構與算法
6.1 數組
6.1.1 如何用遞歸實現數組求和
6.1.2 如何用一個for循環列印出一個二維數組
6.1.3 在順序表中插入和刪除一個結點平均移動多少個結點
6.1.4 如何用遞歸算法判斷一個數組是否是遞增
6.1.5 如何分別使用遞歸與非遞歸實現二分查找算法
6.1.6 如何在排序數組中,找出給定數字出現的次數
6.1.7 如何計算兩個有序整型數組的交集
6.1.8 如何找出數組中重複次數最多的數
6.1.9 如何在O(n)的時間複雜度內找出數組中出現次數超過了一半的數
6.1.10 如何找出數組中唯一的重複元素
6.1.11 如何判斷一個數組中的數值是否連續相鄰
6.1.12 如何找出數組中出現奇數次的元素
6.1.13 如何找出數列中符合條件的數對的個數
6.1.14 如何尋找出數列中缺失的數
6.1.15 如何判定數組是否存在重複元素
6.1.16 如何重新排列數組使得數組左邊為奇數,右邊為偶數
6.1.17 如何把一個整型數組中重複的數字去掉
6.1.18 如何找出一個數組中第二大的數
6.1.19 如何尋找數組中的最小值和最大值
6.1.20 如何將數組的後面m個數移動為前面m個數
6.1.21 如何計算出序列的前n項數據
6.1.22 如何找出數組中只出現一次的數字
6.1.23 如何判斷一個整數x是否可以表示成n(n≥2)個連續正整數的和
6.2 鍊表
6.2.1 數組和鍊表的區別是什麼
6.2.2 何時選擇順序表、何時選擇鍊表作為線性表的存儲結構為宜
6.2.3 如何使用鍊表頭
6.2.4 如何實現單鍊表的插入、刪除操作
6.2.5 如何找出單鍊表中的倒數第k個元素
6.2.6 如何實現單鍊表反轉
6.2.7 如何從尾到頭輸出單鍊表
6.2.8 如何尋找單鍊表的中間結點
6.2.9 如何進行單鍊表排序
6.2.10 如何實現單鍊表交換任意兩個元素(不包括表頭)
6.2.11 如何檢測一個較大的單鍊表是否有環
6.2.12 如何判斷兩個單鍊表(無環)是否交叉
6.2.13 如何刪除單鍊表中的重複結點
6.2.14 如何合併兩個有序鍊表(非交叉)
6.2.15 什麼是循環鍊表
6.2.16 如何實現雙向鍊表的插入、刪除操作
6.2.17 為什麼在單循環鍊表中設定尾指針比設定頭指針更好
6.2.18 如何刪除結點的前驅結點
6.2.19 如何實現雙向循環鍊表的刪除與插入操作
6.2.20 如何在不知道頭指針的情況下將結點刪除
6.3 字元串
6.4 STL容器
6.5 排序
6.6 二叉樹
6.7 圖
第7章 海量數據處理
7.1 問題分析
7.2 基本方法
7.3 經典實例分析
附錄
附錄A 某知名搜尋引擎公司2014年校園招聘筆試題
附錄B 某知名入口網站2014年校園招聘筆試題
附錄C 某知名電子商務公司2014年校園招聘筆試題
附錄D 某知名外企2014年校園招聘筆試題
附錄E 求職有用網站及QQ群一覽表

作者簡介

何昊,湖北仙桃人,軟體系統分析師(高級),西安電子科技大學計算機軟體與理論專業碩士。長期從事C/C++/C#的項目研發,具有豐富的項目經驗。酷愛體育鍛鍊與歷史,並喜歡嘗試各種新鮮事物。成功指導多名應屆畢業生進入各大IT名企工作。
葉向陽,湖北英山人,工學碩士,高級工程師。主要研究方向:計算機網路,無線通信。 竇浩,陝西西安人,工學碩士,工程師。主要研究方向:教育信息化,信息系統開發,軟體設計。

相關詞條

熱門詞條

聯絡我們