程式設計師如何快速準備面試中的演算法

2021-06-20 11:30:14 字數 1330 閱讀 7872



我決定寫篇短文,即為此文。之所以要寫這篇文章,緣於微博上常有朋友詢問,要畢業找工作了,如何備戰演算法。儘管在微博上簡單梳理過,如下圖所示:

總體來說,備戰面試中的演算法,分為五個步驟,如下:

1

、掌握一門程式語言

首先你得確保你已掌握好一門程式語言:

掌握一門語言並不容易,不是翻完一兩本書即可了事,語言的細枝末節需要在平日不斷的程式設計練習中加以熟練。

2

、過一遍微軟面試100題系列

我從2023年起開始整理微軟面試100題系列,見過的題目不可謂不多,但不管題目怎般變化,依然是那些常見的題型和考察點,當然,不考察任何知識點,純粹考察程式設計能力的題目也屢見不鮮。故不管千變萬化,始終不離兩點:①看你基本知識點的掌握情況;②程式設計基本功。

而當你看了一遍微軟面試100題之後(不要求做完),你自會意識到:資料結構和演算法在筆試面試中的重要性。

3

、苦補資料結構基礎

如果學資料結構,可以看我們在大學裡學的任一本資料結構教材都行,如果你覺得實在不夠上檔次,那麼可以再看看《stl原始碼剖析》。

4、看演算法導論

《演算法導論》上的前大部分的章節都在闡述一些經典常用的資料結構和典型演算法(如二分查詢,快速排序、hash表),以及一些高階資料結構(諸如紅黑樹、b樹),如果你已經學完了一本資料結構教材,那麼建議你著重看貪心、動態規劃、圖論等內容,這3個議題每乙個議題都大有題目可出。

如果演算法導論看不懂,你可以參看本部落格。

5

、刷leetcode或cc150或程式設計藝術系列

而不論是準備國內還是國外的海量資料處理面試題,此文必看:教你如何迅速秒殺掉:99%的海量資料處理面試題。

此外,多看看優秀的開源**,如nginx,多做幾個專案加以實踐之。

《深入理解計算機系統》

w.richard stevens著的《tcp/ip詳解三卷》,《unix網路程式設計二卷》,《unix環境高階程式設計:第2版》,詳見此豆瓣頁面;

你如果要面機器學習一類的崗位,建議看看相關的演算法(如支援向量機通俗導論(理解svm的三層境界)

),及老老實實補補數學基礎,包括微積分、線性代數、概率論與數理統計(除了教材,推薦一本《數理統計學簡史》)、矩陣論(推薦《矩陣分析與應用》)等..

綜上:上述全部過程短則半年,長則三年。最後一句:急功近利者必敗,越想快速越要循序漸進,踏實前進。

程式設計師如何快速準備面試中的演算法

準備面試 學習演算法,特別推薦最新出版的 新書 程式設計之法 面試和演算法心得 已經上架 京東等各大 我決定寫篇短文,即為此文。之所以要寫這篇文章,緣於微博上常有朋友詢問,要畢業找工作了,如何備戰演算法。儘管在微博上簡單梳理過,如下圖所示 但因字數限制,許多問題無法一次性說清楚,故特撰此文著重闡述下...

程式設計師如何快速準備面試中的演算法

我決定寫篇短文,即為此文。之所以要寫這篇文章,緣於微博上常有朋友詢問,要畢業找工作了,如何備戰演算法。儘管在微博上簡單梳理過,如下圖所示 但因字數限制,許多問題無法一次性說清楚,故特撰此文著重闡述下 程式設計師如何快速準備面試中的演算法,繼而推薦一些相關的書籍或資料。順便也供節後跳槽 3月春季招聘小...

程式設計師如何快速準備面試中的演算法

對於立志進一線網際網路公司,同時不滿足於一輩子幹純業務應用開發,希望在後端做點事情的同學來說,備戰面試中的演算法,分為五個步驟,如下 1 掌握一門程式語言 首先你得確保你已掌握好一門程式語言 掌握一門語言並不容易,不是翻完一兩本書即可了事,語言的細枝末節需要在平日不斷的程式設計練習中加以熟練。2 過...