小白程式設計師想走後端方向,該怎麼學習計算機基礎知識?需要做什麼?

毛橘教學puls發表於2020-12-12

計算機基礎知識對於程式設計師來說非常重要,重要程度高,想成為高階程式設計師,必須有好的計算機基礎,可是為什麼需要基礎呢?

把這個問題弄明白,要學哪些基礎知識就清楚多了。

第一個問題,10個使用者使用的系統和1000000個人使用的系統,對後端來說差別大嗎?

這是很多初學者弄不清楚的事情。對前端而已,差別不會特別大,對後端來說,天壤之別。

不說架構,只說伺服器的資源,後端程式碼是執行在伺服器上,伺服器和pc一樣,同樣是要有cpu,記憶體,硬碟,頻寬的,當系統的使用量比較多的時候,就會出現效能瓶頸。

記憶體不足,cpu跑滿100%,磁碟不足等等問題,這在很多時候都交給運維去檢測和處理,開發人員需要懂嗎?

不同的解決方案,帶來的資源使用率不一樣。

所以後端人員必須做效能優化,很多事情,專業和非專業的區別,就在於能不能把事情做好。

 

從這個問題來看,你發現後端需要什麼基礎知識沒?

計算機組成原理,來告訴你計算機的物理機構,資料如何儲存。

計算機作業系統來告訴你怎麼管理記憶體,什麼叫程式 ,什麼叫執行緒,什麼又是io。

計算機網路告訴你什麼是tcp和http,什麼是報文。

這些課程和基礎知識的作用就是給你更好的認知自己編寫程式都底層實現原理,為你解決效能問題提供基礎支撐。

如果你在學習C/C++的過程中遇到了問題,可以來加入小編的企鵝圈問小編哦~小編很熱情的(●’◡’●)

第二個問題,資料庫要建索引,btree和hash兩種索引,區別是什麼?各自應該用在什麼場景。

如果你沒有資料結構的基礎,對btree唯一的認知應該就是逼數吧?

hash是什麼鬼,hash演算法?算什麼鬼玩意。

 

對這兩個概念都不清楚的話,能不能做好索引的建立?當然能,操作很簡單,可是建立出來的索引能不能解決問題,讓訪問速度更快?

也很簡單,兩個索引隨便試唄,這個不行用那個。

這就是沒文化時候的解決方案,而正確的學習方式就是花時間理解什麼是btree,什麼是hash,底層如何實現的,再結合業務場景,去判斷應該做什麼樣的索引。

 

正常而言,學到組成原理就夠了。

但是,這麼一個龐大的知識體系,你要學多久?

而且,真正用到的基礎知識和工作場景緊密相連,可能只有20%用得到,你只是不清楚是哪20%而已。

結論如下:

1 計算機組成原理,計算機作業系統,計算機網路,資料庫,資料結構,演算法 這是六門基礎課要學習

2 你沒時間系統的學習一遍,只能去找工作中很大可能用到的,先過一遍,有基礎概念,以後遇到問題的時候,可以知道歸屬哪個領域。

3 對於沒有使用者量的系統而言,沒有太多學習基礎課程的必要,因為你不需要解決這些問題。但薪水和你能解決的問題是等價的,你願意一直只做初級程式設計師麼?

4 程式設計思維在基礎課程裡都有鍛鍊,在工作中也更重要。

相關文章