不會數學的程式設計師,只能走到初級開發工程師!
作者:小傅哥
部落格:https://bugstack.cn
沉澱、分享、成長,讓自己和他人都能有所收穫!😄
在我還是初級程式設計師時,每天也都貼上著程式碼和包裝著介面。那個階段並沒有意識到數學能在程式設計中起到什麼作用,就算學了數學的部分知識,也沒法用到程式設計中。但後來隨著程式設計越來越久,逐步接手核心程式碼塊開發時候,用到的數學越來越多了。包括:開發的規則引擎用到的B-自平衡二叉樹、資料庫路雜湊演算法用雪崩測試論證了不同雜湊演算法的使用情況、要處理非對稱加密數學時驗證了素數的合理選擇。直到這時候越來的發現,不是知識沒用
,而是因為你沒用
到。
為了讓更多的夥伴可以夯實數學基礎,提升自身程式設計思想。小傅哥的《程式設計師數學 v2.0》PDF 22年編寫完成了,今天分享給在座的各位兄弟。
一、前言:谷歌招聘
2004年,在矽谷的交通動脈 101 公路上突然出現一塊巨大的廣告牌,上面是一道數學題:{e 的連續數字中最先出現的 10 位質數}
.com。
廣告:這裡的 e 是數學常數,自然對數的底數,無限不迴圈小數。這道題的意思就是,找出 e 中最先出現的 10 位質數,然後可以得出一個網址。進入這個網址會看到 Google 為你出的第二道數學題,成功解鎖這步 Google 會告訴你,我們或許是”志同道合“的人
,你可以將簡歷發到這個郵箱,我們一起做點改變世界的事情。
計算 e 值可以通過泰勒公式推匯出來:e^x≈1 + x + x^2/2! + x^3/3! +……+ x^n/n! (1) 推導計算過程還包括埃拉托色尼篩選法(the Sieve of Eratosthenes)
、線性篩選法
的使用。感興趣的小夥伴可以用程式碼實現下。
除了谷歌以外; - Facebook 在面試時問過:“如何在一個有向圖中找到最短路徑“ - Amazon 在面試時問過:“如何在一個有向圖中找到最短路徑” - Microsoft 在面時問過:“如何在一個有向圖中找到環” - Apple 在面試時問過:“在一個無向圖中找到最短路徑”
國內的網際網路也喜歡問能不能手寫一個紅黑樹,但現在逐步升級了,從真實場景中考察你對演算法運用到實際場景中的能力。比如:你運用過什麼演算法優化布隆過濾器的雜湊碰撞、你的資料庫路由演算法雪崩測試如何驗證的、抽獎生成x個使用者生成n個抽獎碼最後如何快速結算。
經過這麼多,我想說:“不提升數學方面的知識積累,程式設計能力只能停留在初級階段。”
二、新書:提升數學
《程式設計師數學 v2.0》是小傅哥關於整理程式設計資料結構和演算法
方面的書籍資料,本書為結合資料結構14篇繼續擴充套件關於數學的14篇內容。如包括;“如何使用二進位制計算乘法?”
、“為什麼不能用斐波那契雜湊,做資料庫路由演算法?”
、“素數用途 - RSA 加密演算法解析”
、“楊輝三角的數學邏輯特點”
等內容。
有數學才有程式設計之美,程式碼是對數學邏輯的具體實現,有了數學支撐才讓程式設計邏輯具有靈魂。而小傅哥也希望每一個程式設計師都能積累這些數學知識,如:擾動函式、負載因子、斐波那契(Fibonacci)、尤拉公式、貝祖定理、線性同於方程、中國餘數定理、費馬小定理等。
書籍下載:關注公眾號【bugstack蟲洞棧
】回覆【程式設計師數學
】
Hello, world of programmer mathematics! 你好,程式設計師數學的世界!
歡迎來到這裡,很高興你能拿到這本書。如果你能堅持看完書中每章節的內容,那麼不僅可以在你的面試求職上有所幫助,也更能讓你對關於程式設計師數學方面的知識有更加深入的學習。
《程式設計師數學》 是一本通過 Java 語言漸進式的講解資料結構的書籍,通過循序漸進的方式介紹程式設計師數學方面的知識。全書共計 5 章 28 節,268 頁 6.9 萬字 200+張圖片,耗時 6 個月完成。涵蓋 4 類 14 種資料結構,包括:連結串列、陣列、佇列、堆疊、雜湊表、堆、字典樹、二分 搜尋樹、平衡二叉樹、2-3 樹、紅黑樹、並查集、圖、布隆過濾器,以及數學部 分 14 章,包括:二進位制、階乘、斐波那契、RSA、割圓術、傅立葉變換等,後續還會繼續擴充。下一次就是v3.0版本了
。
1. 適合人群
- 具備基本程式設計技能,在校大學生和工作的研發人員
- 對資料結構和演算法感興趣,但總感覺看不懂的
- 看了太多理論,但沒有實踐驗證的
- 求職面試,總被面試題搞的死去活來的
2. 閱讀建議
本書雖然是原始碼分析、理論實踐,但並不會讓讀者感覺枯燥。作者:小傅哥
,在每一篇的知識裡都通過對資料結構的實踐和配圖來講解。小夥伴在閱讀的時候可以對照原始碼實踐,並且在原始碼中還包括了一些必備的原圖稿件方便做筆記。希望這本書徹底教會你資料結構,也讓所有認真閱讀的讀者,學習後都能讓懂了就是真的懂
!
好啦,這是新年前的最後一本PDF啦。每一本原創資料的PDF輸出,都要在1~3個月甚至半年時間;整理資料、編寫文章、開發程式碼,再到PDF的封面的設計和內容的歸納。 也因此希望讀者夥伴可以在獲取資料的同時,留言、分享、點贊支援,我非常需要你的幫忙!非常感謝!
- 免費1年伺服器,部署個ChatGPT專屬網頁版!
- 面試官:“專案這麼問,就能把你水分擠幹!”
- 做了一個和ChatGPT有關的開源專案
- 不會數學的程式設計師,只能走到初級開發工程師!
- 把ChatGPT配置到微信群裡,可以對AI提問了!
- 學這個原始碼專案,Java編碼能力提升3年?
- 布隆過濾器是否好用,得看雜湊函式寫成啥樣
- 考你個並查集,你竟然摳腳!
- 我大抵是捲上癮了,橫豎睡不著!竟讓一個Bug,搞我兩次!
- 敲了幾萬行原始碼後,我給Mybatis畫了張“全地圖”
- 放假寫小冊,做技術副業的第1年總結
- 《Mybatis 手擼專欄》第10章:使用策略模式,呼叫引數處理器
- 《Mybatis 手擼專欄》第9章:細化XML語句構建器,完善靜態SQL解析
- 你說寫程式碼,最常用的3個設計模式是啥?
- 《手寫 Mybatis》第7步:SQL執行器的定義和實現
- 《Mybatis 手擼專欄》第6章:資料來源池化技術實現
- 久等了,網傳“位元組跳動總結的設計模式”,出版紙質書了【送書】!
- 教小白使用 docsify,搭建一個賊簡單的所見即所得部落格!
- 怎麼說服領導,能讓我用DDD架構肝專案?
- 金3銀4面試前,把自己弄成卷王!