天天看點

成為一名頂尖程式員,你需要多少數學知識?|極客時間

每當我想深入學習一下算法相關的内容時,其中涉及的一些複雜數學知識有時候就會成為“攔路虎”。

我承認自己的數學确實沒學好,但也不至于很糟糕。不過,這種“不上不下”的數學水準,完全無法應對業界 Big Tech 公司(亞馬遜、蘋果、谷歌、Facebook 和微軟)的面試,尤其是面試被問到算法的一些問題,比如某個算法的時間和空間複雜度,或者具體的排序和搜尋算法之間的比較等。

是以,我要學習所有這些知識點。在搜尋和學習過程中,我搜集了幾篇有關程式設計所需的數學知識的文章。

在程式設計方面,最為知名的數學支援者是史蒂夫·耶格(Steve Yegge)。關于程式設計所需的數學,我列舉了以下内容供你參考:

數學筆記

《Math for Programmers》

成為一名黑客需要多少數學

談數學

《數學黑客》

《關于 C 語言實作的斐波那契數示例》

如果你還沒讀過以上内容,那麼你可能會錯過我寫這篇部落格所要表達的意圖。按照史蒂夫·薩米特(Steve Summit)、埃裡克·雷蒙德(Eric Raymond)以及保羅·格雷厄姆(Paul Graham)的觀點,你無需過多地關注數學就可以成為一名出色的程式員或者黑客(此處黑客泛指維基百科中對黑客的定義以及埃裡克·雷蒙德(Eric Raymond)對黑客的定義)。

史蒂芬·諾布爾(Steven Noble)認為,程式員應該懂一些數學;埃文·米勒(Evan Miller)似乎在某種程度上也同意這一觀點。我本人隻是出于熱愛而開始踏上程式設計之路的。

從 2009 年以來,我主要使用 C 語言進行程式設計,有時候還會用 C++,并且大部分時候是在 Linux 和 UNIX 環境下工作。我對程式設計充滿熱情,有時候需要使用多種不同的語言進行程式設計,是以我必須學習用不同的思維方式工作。編寫代碼不是很難,但是,使用特定的程式設計語言并按照一定的範式尋找思路且建立模型,才是最難最耗時的工作。

市面上的數學資料我看了不少,不是太難就是太抽象,能深入淺出的确實不多,《程式員的數學基礎課》就是其中一個。跟着學下來,讓我把算法和數學模型都串聯起來,還理清了之前的一些盲點,有時間一定二三刷。

這門課非常适合想紮實數學基礎的程式員和準程式員,課程裡的學習路徑既能讓你鞏固基礎知識,又可以深入了解這些内容對計算機程式設計和算法究竟意味着什麼。通過“數學概念 - 數學模型 - 資料結構 - 基礎算法 / 機器學習算法 - 編碼實作”這幾個關鍵步驟,讓你深刻了解程式設計中的數學。

要把一門學了十幾年的課重新拾起,還是得“耗點功夫”的。一個好老師可以将複雜的問題簡單化,把晦澀的知識點講得通俗易懂,這門課的作者黃申,就是這麼個人。

關于這哥們:

LinkedIn 資深資料科學家和微軟學者,IBM ExtremeBlue 天才計劃成員。

長期專注于大資料相關的搜尋、推薦、自然語言處理、廣告以及使用者精準化領域;

在微軟亞洲研究院、IBM 美國研究院、eBay 中國、1 号店和大潤發飛牛網都曾擔任要職,帶隊完成了若幹個公司級的戰略項目;

著有 20 多篇國際論文和 10 多項國際專利;

這種資曆的人開專欄講課,說真的,挺難得。專欄已有近6 W人訂閱,截了點評價給你們參考:

成為一名頂尖程式員,你需要多少數學知識?|極客時間

這個專欄除了内容過硬,還有 3 點不得不提:

第一,專欄圖文并茂,我發現,手繪圖檔是真挺好看,數學書裡面可沒有這些,算是給程式員的專屬福利了;

第二,每一章末尾,老師都會針對這一講的内容總結「學習筆記」,友善大家記憶,可以儲存下來,随時檢視;

第三,每篇文章老師都會留個難度适中的思考題,并在評論區跟大家耐心互動,解答大家提出的問題。

成為一名頂尖程式員,你需要多少數學知識?|極客時間

課程原價 199 元,限時優惠僅需119 元,該門課程也加入超級會員體系,開通會員,能一次性拿下平台 190 多門課程。

成為一名頂尖程式員,你需要多少數學知識?|極客時間

如果把 APP 内的這 190 多門課程和專欄全部加起來,按照以往單價,總價達到了 3 萬多。而現在,一個會員隻要 499,一次性拿下課程和專欄。

說實話,這個方案算是很良心的。畢竟 499 可能以前隻能買幾個專欄

極客時間這個平台的課程主要是涉及IT、産品和職業技能,非常适合網際網路的同學。

在學習這件事兒上,回報大于投入,沖!

繼續閱讀