程式設計師面試資源大收集

edithfang發表於2014-08-21



本書的中文目錄如下,大部分內容由Hawstein君原創翻譯,部分缺失的由快課網Jay13補充。

1.1 判斷一個字串中的字元是否唯一

1.2 字串翻轉

1.3 去除字串中重複字元

1.8 利用已知函式判斷字串是否為另一字串的子串

2.1 從連結串列中移除重複結點

2.2 實現一個演算法從一個單連結串列中返回倒數第n個元素

2.3 給定連結串列中間某結點指標,刪除連結串列中該結點

2.4 求由兩個連結串列結點組成的數之和

2.5 給定一個迴圈連結串列,實現一個演算法返回這個環的開始結點

3.1 如何只用一個陣列實現三個棧

3.2 實現一個棧,要求實現min函式以返回棧中的最小值

3.3 實現資料結構SetOfStacks來模擬疊盤子

3.4 程式設計解決漢諾塔問題

3.5 使用兩個棧實現一個佇列

3.6 寫程式將一個棧按升序排序

4.1 用一個函式判斷一棵樹是否平衡

4.2 設計演算法判斷有向圖兩結點間是否存在路徑

4.3 將遞增陣列構建成一顆最小高度二叉樹

4.4 將二叉樹每一層結點構建成一個連結串列

4.5 查詢二叉查詢樹的任意給定結點的“下一個”結點

4.6 找出一棵二叉樹中兩個結點的第一個共同祖先結點

4.7 判斷一棵二叉樹是否為另一棵二叉樹的子樹

4.8 輸出二叉樹中路徑上結點值之和為給定值的所有路徑

5.1 寫程式使整數N中第i位到第j位的值與整數M中的相同

5.2 給定一個字串型別表示的小數,輸出其二進位制表示

5.3 給定一個整數x,找出另外兩個二進位制表示中1的個數和x相同的數

5.4 解釋以下程式碼的作用:((n & (n-1)) == 0)

5.5 寫程式計算從整數A變為整數B需要修改的二進位制位數

5.6 交換一個整數二進位制表示中的奇數位和偶數位

5.7 寫程式找出丟失的整數,要求時間複雜度O(n)

6.1-6.6 程式設計師”腦筋急轉彎”

7.1 為通用卡牌遊戲設計資料結構,並設計子類

7.2 為電話呼叫中心設計類和資料結構

7.3 用物件導向的方法設計一個音樂播放機

7.4 用物件導向思想設計一個國際象棋遊戲

7.5 利用OOP思想設計線上讀書系統

7.6 設計一個拼圖遊戲的資料結構

7.7 如何設計一個聊天服務程式

7.8 用物件導向思想設計奧賽羅遊戲(Othello)

7.9 為一個記憶體檔案系統設計資料結構和演算法

7.10 使用C++實現一個垃圾回收器

8.1 寫一個函式來產生第n個斐波那契數

8.2 機器人路徑計算

8.3 寫一個函式返回一個集合中的所有子集

8.4 寫一個函式返回一個串的所有排列

8.5 實現一個演算法列印出n對括號的有效組合

8.6 實現影像處理軟體中的“填充”函式

8.7 有25分,10分,5分和1分的硬幣無限個,計算組成n分的組合數

8.8 經典八皇后問題

9.1 寫一個函式將陣列B融入陣列A,並使其有序

9.2 寫一個函式對字串陣列排序,使所有變位詞都相鄰

9.3 在一個數字中查詢特定元素

9.4 如何給一個2G檔案中的字串排序?

9.5 寫一個函式找到給定字串的位置

9.6 在一個矩陣中找出特定的數

9.7 寫一個函式模擬疊羅漢節目

10.1-10.7 程式設計師面試——數學相關題目

11.1-11.6 程式設計師面試—測試相關題目

12.1 股價資訊摘要整合方案

12.2 如何為社交網站(如facebook,新浪微博)設計資料結構

12.3 在40億個整數值中查詢特定資料

12.4 陣列去重(限制記憶體為4kb)

12.5 如果讓你設計一個網路爬蟲,你怎麼避免陷入無限迴圈?

12.6 10億個url,每個url對應一個網頁,如何檢測重複的網頁?

12.7 如何設計一個支援TB級別資料的資料庫

13.1 用C++寫一個函式,輸出檔案的最後k行。

13.2 淺析雜湊表和STL map

13.3 C++中的虛擬函式是如何工作的?

13.4 深拷貝和淺拷貝有什麼區別,如何使用?

13.5 C語言關鍵字”volatile”的作用?

13.6 C++中名字隱藏是指什麼?

13.7 為什麼基類中的解構函式要宣告為虛解構函式?

13.8 寫一個函式,返回傳入資料結構的一份完全拷貝

13.9 寫一個智慧指標類(smart_ptr)

15.1 寫一條SQL語句找到每個部門員工的數量

15.2 SQL的連線有哪些不同的型別?並解釋其異同點

15.3 什麼是反正規化?它的優缺點是什麼?

15.4 畫一個資料庫的(ER圖),實體包括:公司、人、 專業人士

15.5 寫SQL查詢語句查詢成績排名前10%的學生

16.1 解釋術語:虛擬記憶體、缺頁中斷、抖動

16.5 寫程式判斷一臺機器是大端序還是小端序

16.10 寫一個名為my2DAlloc的函式,用它開闢一個二維陣列

17.1 解釋一下,在你往瀏覽器中輸入一個URL後都發生了什麼,要儘可能詳細

17.2 介紹常用路由協議。例如:BGP,OSPF,RIP

17.4 網路/子網掩碼是什麼?網路路由是什麼?

17.3 比較IPv4和IPv6協議

17.5 TCP和UDP之間有什麼區別?

程式與執行緒的一個簡單解釋

18.1 執行緒和程式的區別是什麼?

18.1 執行緒和程式的區別是什麼?

18.2 你如何測量一次上下文切換所需時間?

18.3 實現一個單例模式的模板

18.5 執行緒排程

19.1 不能使用臨時變數,交換兩個數

19.2 設計演算法檢查某人是否贏得了井字遊戲

19.3 寫一個演算法計算n的階乘末尾0的個數

19.4 你使用if-else及任何比較操作符,返回兩個數中的較大者

19.5 寫一個函式來模擬遊戲

19.7 求最大連續子序列和

19.8 統計給定單詞在一本書中出現的次數

19.10 給定一個能生成1到5隨機數的函式,如何利用它來生成1到7的隨機數。

19.11 設計一個演算法,找到陣列中所有和為指定值的整數對

20.1 不能使用+號或其它算術運算子求兩個數的和

20.2 寫一個隨機洗牌函式

20.3 寫一個函式,隨機地從大小為n的陣列中選取m個整數

20.4 寫一個函式,計算0到n之間2的個數。

20.5 給出兩個單詞,找到它們的最短距離
資源二:《程式設計師程式設計藝術:面試和演算法心得》
這本書是不可多得的一本好書。紙質版的據說10月面市,期待。以下為全書的電子版目錄。
第一部分 資料結構
 第二部分 演算法心得
 第三部分 綜合演練
相關閱讀
評論(5)

相關文章