-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

程序員面試筆試寶典 第3版

( 簡體 字)
作者:何昊類別:1. -> 程式設計 -> 面試指南
譯者:
出版社:機械工業出版社程序員面試筆試寶典  第3版 3dWoo書號: 49331
詢問書籍請說出此書號!

缺書
NT售價: 345

出版日:6/26/2018
頁數:345
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111598893
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

內容簡介:

《程序員面試筆試寶典 第3版》針對當前各大IT企業面試筆試中常見的問題以及注意事項,進行了深層次地分析。本書除了對傳統的計算機相關知識(C/C++、數據結構與算法、操作系統等)進行介紹外,還根據當前計算機技術的發展潮流,對面試筆試中常見的海量數據處理進行了詳細地分析。同時,為了更具說服力,本書對面試過程中求職者存在的問題進行了深度剖析,總結提煉了大量程序員面試筆試技巧,這些技巧生動形象,對求職者能夠起到一定的指引作用。本書也從歷年的程序員面試筆試真題中精挑細選多套完整試題,以供讀者學完本書后檢測自我能力,通過這些試卷與講解,能夠幫助求職者有針對性地進行求職準備。
《程序員面試筆試寶典 第3版》是一本計算機相關專業畢業生面試筆試的求職用書,同時也適合期望在計算機軟硬件行業大顯身手的計算機愛好者閱讀。
目錄:

前言
上篇:面試筆試經驗技巧篇
經驗技巧1 如何巧妙地回答面試官的問題
經驗技巧2 如何回答技術性的問題
經驗技巧3 如何回答非技術性問題
經驗技巧4 如何回答快速估算類問題
經驗技巧5 如何回答算法設計問題
經驗技巧6 如何回答系統設計題
經驗技巧7 如何解決求職中的時間沖突問題
經驗技巧8 如果面試問題曾經遇見過,是否要告知面試官
經驗技巧9 在被企業拒絕后是否可以再申請
經驗技巧10 如何應對自己不會回答的問題
經驗技巧11 如何應對面試官的“激將法”語言
經驗技巧12 如何處理與面試官持不同觀點這個問題
經驗技巧13 什么是職場暗語
下篇:面試筆試技術攻克篇
第1章 程序設計基礎
1.1 C/C++關鍵字
1.1.1 static(靜態)變量有什么作用
1.1.2 const有哪些作用
1.1.3 switch語句中的case結尾是否必須添加break語句
1.1.4 volatile在程序設計中有什么作用
1.1.5 斷言ASSERT( )是什么
1.1.6 枚舉變量的值如何計算
1.1.7 char str1[] = "abc"; char str2[] = "abc"; str1與str2不相等,為什么
1.1.8 為什么有時候main( )函數會帶參數?參數argc與argv的含義是什么
1.1.9 C++里面是不是所有的動作都是main( )函數引起的
1.1.10 *p++與(*p)++等價嗎?為什么
1.1.11 前置運算與后置運算有什么區別
1.1.12 a是變量,執行(a++) += a語句是否合法
1.1.13 如何進行float、bool、int、指針變量與“零值”的比較
1.1.14 new/delete與malloc/free的區別是什么
1.1.15 什么時候需要將引用作為返回值
1.1.16 變量名為618Software是否合法
1.1.17 C語言中,整型變量x小于0,是否可知x×2也小于0
1.1.18 exit(status)是否與從main( )函數返回的status等價
1.1.19 已知String類定義,如何實現其函數體
1.1.20 在C++語言中如何實現模板函數的外部調用
1.1.21 在C++語言中,關鍵字explicit有什么作用
1.1.22 C++中異常的處理方法以及使用了哪些關鍵字
1.1.23 如何定義和實現一個類的成員函數為回調函數
1.2 內存分配
1.2.1 內存分配的形式有哪些
1.2.2 什么是內存泄漏
1.2.3 棧空間的最大值是多少
1.2.4 什么是緩沖區溢出
1.3 sizeof
1.3.1 strlen("\0")=?sizeof("\0")=?
1.3.2 對于結構體而言,為什么sizeof返回的值一般大于期望值
1.3.3 指針進行強制類型轉換后與地址進行加法運算,結果是什么
1.4 指針
1.4.1 使用指針有哪些好處
1.4.2 引用還是指針
1.4.3 指針和數組是否表示同一概念
1.4.4 指針是否可進行>、<、>=、<=、= =運算
1.4.5 指針與數字相加的結果是什么
1.4.6 野指針?空指針
1.5 預處理
1.5.1 C/C++頭文件中的ifndef/define/endif的作用有哪些
1.5.2 #include 和#include “filename.h” 有什么區別
1.5.3 #define有哪些缺陷
1.5.4 如何使用define 聲明一個常數,用以表明1年中有多少秒(忽略閏年問題)
1.5.5 含參數的宏與函數有什么區別
1.5.6 宏定義平方運算#define SQR(X) X*X是否正確
1.5.7 不能使用大于、小于、if語句,如何定義一個宏來比較兩個整數a、b的大小
1.5.8 如何判斷一個變量是有符號數還是無符號數
1.5.9 #define TRACE(S) (printf("%s\n", #S), S)是什么意思
1.5.10 不使用sizeof,如何求int占用的字節數
1.5.11 如何使用宏求結構體的內存偏移地址
1.5.12 如何用sizeof判斷數組中有多少個元素
1.5.13 枚舉和define有什么不同
1.5.14 typdef和define有什么區別
1.5.15 C++中宏定義與內聯函數有什么區別
1.5.16 定義常量誰更好?#define還是const
1.6 結構體與類
1.6.1 C語言中struct與union的區別是什么
1.6.2 C和C++中struct的區別是什么
1.6.3 C++中struct與class的區別是什么
1.7 位操作
1.7.1 一些結構聲明中的冒號和數字是什么意思
1.7.2 最有效的計算2乘以8的方法是什么
1.7.3 如何使用位操作求兩個數的平均值
1.7.4 如何求解整型數的二進制表示中1的個數
1.7.5 不能用sizeof( )函數,如何判斷操作系統是16位,還是32位
1.7.6 嵌入式編程中,什么是大端?什么是小端
1.7.7 考慮n位二進制數,有多少個數中不存在兩個相鄰的1
1.7.8 不用除法操作符如何實現兩個正整數的除法
1.8 函數
1.8.1 怎么樣寫一個接受可變參數的函數
1.8.2 函數指針與指針函數有什么區別
1.8.3 C++函數傳遞參數的方式有哪些
1.8.4 重載與覆蓋有什么區別
1.8.5 無參數構造函數是否可以調用單參數構造函數
1.8.6 C++中函數調用有哪幾種方式
1.8.7 什么是可重入函數?C語言中如何寫可重入函數
1.9 數組
1.9.1 int a[2][2]={{1},{2,3}},則a[0][1]的值是多少
1.9.2 如何合法表示二維數組
1.9.3 a是數組,(int*)(&a+1)表示什么意思
1.9.4 不使用流程控制語句,如何打印出1∼1000的整數
1.9.5 char str[1024];?scanf("%s",str)是否安全
1.9.6 行存儲與列存儲中哪種存儲效率高
1.10 變量
1.10.1 全局變量和靜態變量有什么異同
1.10.2 局部變量需要“避諱”全局變量嗎
1.10.3 如何建立和理解非常復雜的聲明
1.10.4 變量定義與變量聲明有什么區別
1.10.5 不使用第三方變量,如何交換兩個變量的值
1.10.6 C與C++變量初始化有什么不同
1.10.7 類型轉換
1.11 字符串
1.11.1 如何實現memmove
1.11.2 不使用C/C++字符串庫函數,如何自行編寫strcpy( )函數
1.11.3 如何把數字轉換成字符串
1.12 編譯
1.12.1 編譯和鏈接的區別是什么
1.12.2 編譯型語言與解釋型語言的區別是什么
1.12.3 如何判斷一段程序是由C編譯程序,還是由C++編譯程序編譯的
1.12.4 C++程序中調用被C編譯器編譯后的函數,為什么要加extern“C
1.12.5 兩段代碼共存于一個文件,編譯時有選擇地編譯其中的一部分,如何實現
1.13 面向對象相關
1.13.1 面向對象與面向過程有什么區別
1.13.2 面向對象的基本特征有哪些
1.13.3 什么是深拷貝?什么是淺拷貝
1.13.4 什么是友元
1.13.5 拷貝構造函數與賦值運算符的區別
1.13.6 基類的構造函數/析構函數是否能被派生類繼承
1.13.7 初始化列表和構造函數初始化的區別
1.13.8 C++中有哪些情況只能用初始化列表,而不能用賦值
1.13.9 類的成員變量的初始化順序
1.13.10 當一個類為另一個類的成員變量時,如何對其進行初始化
1.13.11 C++能設計實現一個不能被繼承的類嗎
1.13.12 構造函數沒有返回值,那么如何得知對象是否構造成功
1.13.13 public繼承、protected繼承、private繼承的區別
1.13.14 C++提供默認參數的函數嗎
1.13.15 如何解決多重繼承中存在的鉆石問題
1.14 虛函數
1.14.1 什么是虛函數
1.14.2 C++如何實現多態
1.14.3 純虛函數指的是什么
1.14.4 什么函數不能聲明為虛函數
1.14.5 C++中如何阻止一個類被實例化
1.15 編程技巧
1.15.1 當while( )的循環條件是賦值語句時會出現什么情況
1.15.2 不使用if/?:/switch及其他判斷語句如何找出兩個int型變量中的最大值和最小值
1.15.3 C語言獲取文件名的宏定義是什么
1.15.4 表達式a>b>c是什么意思
1.15.5 如何打印自身代碼
1.15.6 如何實現一個最簡單的病毒
1.15.7 如何只使用一條語句實現x是否為2的若干次冪的判斷
1.15.8 如何定義一對相互引用的結構
1.15.9 什么是逗號表達式
1.15.10 \n是否與\n\r等價
1.15.11 什么是短路求值
1.15.12 已知隨機數函數rand7( ),如何構造rand10( )函數
1.15.13 printf("%p\n",(void *)x)與printf("%p\n",&x)有什么區別
1.15.14 printf( )函數是否有返回值
1.15.15 不能使用任何變量,如何實現計算字符串長度函數
1.15.16 負數除法與正數除法的運算原理是否一樣
1.15.17 main( )主函數執行完畢后,是否會再執行一段代碼
第2章 操作系統
2.1 進程管理
2.1.1 進程與線程有什么區別
2.1.2 線程同步有哪些機制
2.1.3 內核線程和用戶線程的區別
2.2 內存管理
2.2.1 內存管理有哪幾種方式
2.2.2 什么是虛擬內存
2.2.3 什么是內存碎片?什么是內碎片?什么是外碎片
2.2.4 虛擬地址、邏輯地址、線性地址、物理地址有什么區別
2.2.5 Cache替換算法有哪些
2.3 用戶編程接口
2.3.1 庫函數調用與系統調用有什么不同
2.3.2 靜態鏈接與動態鏈接有什么區別
2.3.3 靜態鏈接庫與動態鏈接庫有什么區別
2.3.4 用戶態和核心態有什么區別
2.3.5 用戶棧與內核棧有什么區別
第3章 數據結構與算法
3.1 數組
3.1.1 如何用遞歸實現數組求和
3.1.2 如何用一個for循環打印出一個二維數組
3.1.3 在順序表中插入和刪除一個結點平均移動多少個結點
3.1.4 如何用遞歸算法判斷一個數組中的元素是否遞增
3.1.5 如何分別使用遞歸與非遞歸實現二分查找算法
3.1.6 如何在排序數組中找出給定數字出現的次數
3.1.7 如何計算兩個有序整型數組的交集
3.1.8 如何找出數組中重復次數最多的數
3.1.9 如何在O(n)的時間復雜度內找出數組中出現次數超過了一半的數
3.1.10 如何找出數組中唯一的重復元素
3.1.11 如何判斷一個數組中的數值是否連續相鄰
3.1.12 如何找出數組中出現奇數次的元素
3.1.13 如何找出數列中符合條件的數對的個數
3.1.14 如何尋找出數列中缺失的數
3.1.15 如何判定數組是否存在重復元素
3.1.16 如何重新排列數組,使得數組左邊為奇數,右邊為偶數
3.1.17 如何把一個整型數組中重復的數字去掉
3.1.18 如何找出一個數組中第二大的數
3.1.19 如何尋找數組中的最小值和最大值
3.1.20 如何將數組的后面m個數移動為前面m個數
3.1.21 如何計算出序列的前n項數據
3.1.22 如何判斷一個整數x是否可以表示成n(n?2)個連續正整數的和
3.2 鏈表
3.2.1 數組和鏈表的區別是什么
3.2.2 何時選擇順序表、何時選擇鏈表作為線性表的存儲結構為宜
3.2.3 如何使用鏈表頭
3.2.4 如何實現單鏈表的插入、刪除操作
3.2.5 如何找出單鏈表中的倒數第k個元素
3.2.6 如何實現單鏈表反轉
3.2.7 如何從尾到頭輸出單鏈表
3.2.8 如何尋找單鏈表的中間結點
3.2.9 如何對鏈表進行重新排序
3.2.10 如何把鏈表相鄰元素翻轉
3.2.11 如何檢測一個較大的單鏈表是否有環
3.2.12 如何判斷兩個單鏈表(無環)是否交叉
3.2.13 如何刪除單鏈表中的重復結點
3.2.14 如何合并兩個有序鏈表(非交叉)
3.2.15 什么是循環鏈表
3.2.16 如何實現雙向鏈表的插入、刪除操作
3.2.17 一個鏈表不知道頭結點,有一個指針指向其中一個結點,請問如何刪除這個指針
指向的結點
3.2.18 如何實現雙向循環鏈表的刪除與插入操作
3.2.19 如何在不知道頭指針的情況下將結點刪除
3.3 字符串
3.3.1 如何統計一行字符中有多少個單詞
3.3.2 如何將字符串逆序
3.3.3 如何找出一個字符串中第一個只出現一次的字符
3.3.4 如何輸出字符串的所有組合
3.3.5 如何檢查字符是否是整數?如果是,返回其整數值
3.3.6 如何查找字符串中每個字符出現的個數
3.4 STL容器
3.4.1 什么是泛型編程
3.4.2 棧與隊列的區別有哪些
3.4.3 vector與list的區別有哪些
3.4.4 如何實現循環隊列
3.4.5 如何使用兩個棧模擬隊列操作
3.5 排序
3.5.1 如何進行選擇排序
3.5.2 如何進行插入排序
3.5.3 如何進行冒泡排序
3.5.4 如何進行歸并排序
3.5.5 如何進行快速排序
3.5.6 如何進行希爾排序
3.5.7 如何進行堆排序
3.5.8 各種排序算法有什么優劣
3.6 二叉樹
3.6.1 基礎知識
3.6.2 如何遞歸實現二叉樹的遍歷
3.6.3 已知先序遍歷和中序遍歷,如何求后序遍歷
3.6.4 如何非遞歸實現二叉樹的后序遍歷
3.6.5 如何使用非遞歸算法求二叉樹的深度
3.6.6 如何判斷兩棵二叉樹是否相等
3.6.7 如何判斷二叉樹是否是平衡二叉樹
3.6.8 什么是霍夫曼編解碼
3.7 圖
3.7.1 什么是拓撲排序
3.7.2 什么是DFS?什么是BFS
3.7.3 如何求關鍵路徑
3.7.4 如何求最短路徑
第4章 數據庫原理
4.1 SQL的功能
4.2 內連接與外連接
4.3 事務
4.4 存儲過程與函數
4.5 數據庫范式
4.6 觸發器
4.7 游標
4.8 數據庫日志
4.9 union和union all
4.10 視圖
4.11 數據庫分類
4.12 死鎖
第5章 海量數據處理
5.1 問題分析
5.2 基本方法
5.3 經典實例分析
5.3.1 top K問題
5.3.2 重復問題
5.3.3 排序問題
附錄
附錄A
某互聯網公司筆試真題1
某互聯網公司筆試真題2
附錄B
某互聯網公司筆試真題1答案
某互聯網公司筆試真題2答案
序: