程序員如何快速準(zhǔn)備面試中的算法
來源:
奇酷教育 發(fā)表于:
程序員如何快速準(zhǔn)備面試中的算法
備戰(zhàn)面試中算法的五個步驟
總體來說,備戰(zhàn)面試中的算法,分為五個步驟,如下:
1、掌握一門編程語言
首先你得確保你已掌握好一門編程語言:
● C的話,推薦Dennis M. Ritchie & Brian W. Kernighan合著的《C程序設(shè)計語言》,和《C和指針》;
● C++ 則推薦《C++ Primer》,《深度探索C++對象模型》,《Effective C++》 。
掌握一門語言并不容易,不是翻完一兩本書即可了事,語言的細(xì)枝末節(jié)需要在平日不斷的編程練習(xí)中加以熟練。
2、過一遍微軟面試100題系列
?、倏茨慊局R點的掌握情況;②編程基本功。
而當(dāng)你看了一遍微軟面試100題之后(不要求做完),你自會意識到:數(shù)據(jù)結(jié)構(gòu)和算法在筆試面試中的重要性。
3、苦補(bǔ)數(shù)據(jù)結(jié)構(gòu)基礎(chǔ)
如果學(xué)數(shù)據(jù)結(jié)構(gòu),可以看我們在大學(xué)里學(xué)的任一本數(shù)據(jù)結(jié)構(gòu)教材都行,如果你覺得實在不夠上檔次,那么可以再看看《STL源碼剖析》。
4、看算法導(dǎo)論
《算法導(dǎo)論》上的前大部分的章節(jié)都在闡述一些經(jīng)典常用的數(shù)據(jù)結(jié)構(gòu)和典型算法(如紅黑樹、B樹),如果你已經(jīng)學(xué)完了一本數(shù)據(jù)結(jié)構(gòu)教材,那么建議你著重看貪心、動態(tài)規(guī)劃、圖論等內(nèi)容,這3個議題每一個議題都大有題目可出。
5、刷leetcode或cc150或編程藝術(shù)系列
●如主要在國外找工作,推薦兩個面試編程網(wǎng)站:一個是http://leetcode.com/,leetcode是國外一網(wǎng)站,它上面有不少編程題;另外一個是http://www.careercup.com/,而后這個網(wǎng)站的創(chuàng)始人寫了本書,叫《careercup cracking coding interview》,最終這本英文書被圖靈教育翻譯出版為《程序員面試金典》。
●若是國內(nèi)找工作,則鄭重推薦我編寫的《程序員編程藝術(shù)》,有編程藝術(shù)博客版,以及在博客版本基礎(chǔ)上精簡優(yōu)化的編程藝術(shù)github版。除此之外,還可看看《編程之美》,與《劍指offer》。
而不論是準(zhǔn)備國內(nèi)還是國外的海量數(shù)據(jù)處理面試題,此文必看:教你如何迅速秒殺掉:99%的海量數(shù)據(jù)處理面試題。
此外,多看看優(yōu)秀的開源代碼,如nginx或redis,多做幾個項目加以實踐之。