從 Google 的一道面試題說起·

weixin_33766168發表於2019-04-03

內容選自《程式設計師的數學基礎課》

2004 年,在矽谷的交通動脈 101 公路上出現了一塊巨大的廣告牌,上面是道數學題: { e 的連續數字中最先出現的 10 位質數 }.com。這裡的 e 是數學常數,自然對數的底數,無限不迴圈小數。

這道題的意思是:找到 e 中最先出現的 10 位質數,可得出一個網址。進入網址後會看到 Google 為你出的第二道數學題。成功解鎖這兩步,你才可能成為和 Google “志同道合”的人,並得到下一步提示:發個簡歷吧,我們一起來做點改變世界的事情。

\"\"

其實,不止是 Google,很多大公司在招人時都會優先考慮數學專業的畢業生,因為,數學基礎好,程式設計就更容易上手。但還是陸續有人問我:數學學得不好,能當程式設計師嗎?

當程式設計師是沒問題啊,但我覺得問題的關鍵在於:你想成為一個怎樣的程式設計師。

如果你只想做一個純粹的程式碼搬運工,工作中的大部分時間除了 CRUD,就是處理各類字串、連結串列、Hash 表,那麼高中甚至初中數學就足夠了。

但只要你想「再往上走一步」,成為資深開發工程師、做一些有“技術含量”的事情,學好數學是必不可少的。

這一點,做演算法和人工智慧的朋友應該深有體會。所以說,數學基礎的好壞,會直接決定一個程式設計師的發展潛力。

往大了說,數學是一種思維模式,考驗的是歸納、總結和抽象的能力,在程式設計師的世界就是解決問題的能力;往小了說,無論是資料結構與演算法,還是程式設計,其底層原理和思路都源自數學。在大資料和智慧化的時代,學好數學更是門檻本身。

我們都知道數學對於程式設計開發的重要性,但是,要把這門學了十幾年的課程重新拾起,確實是要“耗點功夫”的。而一個好老師可以將複雜的問題簡單化,把晦澀的知識點講得通俗易懂,黃申就是這樣一個人。

關於黃申:
→  LinkedIn 資深資料科學家和微軟學者,IBM ExtremeBlue 天才計劃成員。
→ 長期專注於大資料相關的搜尋、推薦、自然語言處理、廣告以及使用者精準化領域;
→ 在微軟亞洲研究院、IBM 美國研究院、eBay 中國、1 號店和大潤發飛牛網都曾擔任要職,帶隊完成了若干個公司級的戰略專案;
→ 著有 20 多篇國際論文和 10 多項國際專利;

這種資歷的人開專欄講課,說真的,挺難得。另外,《趣談網路協議》的劉超老師講的一段話也讓我印象深刻。

\"\"

正如劉超所說,如果通過一門課程就能把自己在計算機領域的數學功底給打紮實,那麼無疑這筆投資是值得的。

這個專欄,我沒記錯的話,是去年 12 月上線的,到現在也就 3 個多月 的時間,已經有超過 1.7W 人訂閱了,截了點評價給你們參考:

\"\"

說實話,數學厲害的人我見了不少,但讀了幾篇黃申在極客時間的專欄《程式設計師的數學基礎課》,還很想推薦給大家。

這個專欄非常適合想紮實打下數學基礎的程式設計師和準程式設計師,專欄中的學習路徑既能讓你鞏固基礎知識,又可以深入理解這些內容對計算機程式設計和演算法究竟意味著什麼。跟著好好學吧,錯不了。

\"\"

彩蛋:
之前看到黃申還寫過一篇「程式設計師的數學書單」
可以作為本專欄的“輔食”,一起服用,風味更佳。

相關文章