程序員的技能樹,決定了一生職業的高度

什麼是程序員?

碼農、程序猿、程序媛

使用 程序實現價值

程序=數據+算法

軟件=程序+軟件工程

程序員=工程師?

程序員金字塔

​​

​​

程序員知識結構

面試造火箭,工作打蚊子

會什麼是你的下限,能夠會什麼是你的上限

越底層的東西越決定上限

學習慾望

杜絕 1年工作經驗重複 N年

如果自己遇到這種問題會怎麼解決,與資料中的解決方案相比優劣如何?

別人爲什麼會想到這種解決方案?

自己是由於經驗欠缺還是技能點欠缺才導致沒有想到好的解決方案?

解決這類問題的根本思路是什麼樣的?

學習能力

不是懂得多,而是學得快

知其然更要知其所以然:技術以深度優先

類比現實:對現實世界的模擬

更好地接受信息:建立自己的知識體系;閱讀並記筆記,納入知識體系

深度思考:閱讀書籍

動手實踐、頻繁練習:項目驅動型學習;主動思考

自我總結:完善知識體系;筆記、博客、分享

持續學習:逃離舒適區;學到老,活到老

如何學習新技術

如何閱讀源碼

閱讀該技術的架構文檔,瞭解其總體架構和組成

根據總體架構,將源碼文件以模塊或者上下層級進行分類。

從未閱讀過的模塊中選擇最獨立(依賴性最小)的模塊代碼讀起。

閱讀此模塊的功能介紹文檔。

閱讀此模塊的源代碼: 運行程序,斷點調試。

一邊閱讀一邊整理調用關係圖。

轉到第三步。

參考 官方文檔或者經典書籍

計算機思維

馮.諾依曼體系:程序存儲,順序執行。

二進制存儲:用比特解決問題

位運算:位運算的高效

邏輯分支:條件判斷、循環、迭代、遞歸

個人規劃

長期規劃:職業規劃;高瞻遠矚

短期規劃:具體技能、晉升、學習方面的規劃;優先級排序

基礎學科

物理:電路原理;量子計算機

數學:工程優化;線性代數;微積分

英語!!:閱讀英文文獻;計算機術語

計算機組成原理

計算機的硬件組成和運行原理

馮諾依曼體系、 摩爾定律、 阿曼達定律

數據的機器表示:原碼、補碼、反碼、浮點數/定點數

指令系統:複雜指令集、簡單指令集

存儲器:分類、緩存

CPU: 流水線、僞共享、緩存

IO設備:IO總線、DMA、中斷

計算機操作系統

屏蔽計算機硬件的中間層

作業調度: 調度策略、優先級

進程管理:進程和線程、進程間通信

存儲管理:內存、虛擬內存、文件系統、頁、頁緩存

IO管理:IO設備讀寫操作

Linux操作系統

計算機網絡

單個計算機之間的互連

TCP/IP協議棧:四層/七層

TCP連接狀態

TCP與UDP的區別

HTTP協議、RESTful規範

網絡安全

如今的互聯網:IPv6、物聯網、5G

編譯原理

將代碼轉換成機器可理解的二進制,有助於實現DSL

詞法分析、語法分析

類型檢查

運行時環境、中間代碼

代碼生成、代碼優化

數據結構和算法

程序=數據+算法

無論你在哪裏。技術的提高都是靠自己。現在是互聯網時代,即使你在深山,你依然與世界同步。

推薦一下我的Python的學習裙【 784758214 】,無論你是大牛還是小白,是想轉行還是想入行都可以來了解一起進步一起學習!裙內有開發工具,很多幹貨和技術資料分享!希望新手少走彎路

不要太過急功近利, 慢慢玩, 精進.

如果你覺着編程有趣, 成長也就不再痛苦, 祝學習愉快.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章