學php要拿到月薪20K,至少要熟練掌握哪些知識?
來源:互聯網
上載者:User
感覺現在學的比較混亂,想理一理學習脈絡。
回複內容:
我只想說,如果你在北上廣深這樣的城市能拿到20+K並不太難,我身邊有好多(我只有10K),還有根本就不知道怎麼尋找Bug的90後(不是惡意,只是恰巧,更巧的是她們有天然優勢)。
那麼我想說的是,如果你要是看錢的話,請別用自身的技術來衡量,如果你想紮紮實實的搞技術,並且也想樂在其中的話,那麼從頭來吧,相當於你重新上一次大學(我當時只顧著玩DOTA了)。
分享下我的學習路線,
電腦系統知識(起碼知道十六進位,二進位,十進位的相互轉換;補碼、原碼、反碼,海明碼;溢出和進位的區別之類的;儲存空間的工作方式,緩衝;磁碟列陣之類的...因為我聽說過有人竟然用raid-5存限制級的電影),
程式語言知識(程式如何編譯的,例如PHP的話就是代碼是怎麼執行的,sapi,opcode,記憶體回收,線程,進程之類的,如果你想把PHP搞好可以看下《深入理解PHP核心》),
作業系統知識(起碼要知道什麼是死結...知道點shell命令,畢竟PHP現在都是LAMP(謝謝@飛雪連天的評論,修改為LNMP))了,),
資料庫(這個我就瞭解的太片面了,我只知道MySQL,還用不好,但是基礎的應該都差不多吧,例如笛卡兒積,索引吧),
資料結構(抱歉上學也沒學好,現在也在自學,也在看,例如樹、圖之類的),
演算法設計(遞迴(欄位最大和),動態規劃法(背包),貪進法等等,感興趣可以看演算法導論),現在都要
物件導向了,這不能不看不瞭解。
然後你會發現,上面說的和你的工作一點關係都沒有,你可能一輩子都用不上你前面學的東西,很正常,就好比說一輩子都不知道72法則,但是當你有貸款的時候,告訴你,你的複利這麼算就可以了。
其實你一直都在用,只是不知道怎麼就會用的這麼好了。
然後下一步就是你想要在哪個地方走的更遠,相信到這,你的PHP之路已經結束了。如果在互連網一線公司,只要達到一定技術職級,就有了,不需要管理。非一線互連網的,大部分都需要具備一定的專案管理或者系統架構的能力。
迴歸到最原始的地方,補基礎。
例如《深入理解PHP核心》這本書,如果直接看下去,你會發現很多額外的需要理解的概念。例如設計編譯原理,記憶體管理,網路通訊,資料結構,演算法等等。如果這些東西的基礎不到位,結果就是你似懂非。這樣即使看完,也沒有完成吃透。
進階的書,不是你看完一遍,就算完了,而是真正將它建立為你的知識體系,隨便一個技術點,信手拈來,以點帶面。也就是說,需要做筆記,要不斷消化。我是學 PHP 的出道的,現在月薪過20K 的。但是就我個人而言,純技術開發,除非是混跡各大技術平台的牛人,一般來說很難達到這個薪資。
比較好的方法是除了技術本身外,要有一定的管理經驗,這個管理組件括團隊管理,專案管理等等,一般來說,一個員工的薪資和他給企業帶來的利潤成正比,而一個個人的產出始終有限,因此需要一整個團隊來提高利潤值,這時候,誰是這個團隊的核心誰就容易獲得更豐厚的收入。
以上僅是個人經驗,不代表所有情況。僅供參考。個人覺得php其實範圍挺廣的。要學http,ftp,smtp等網路通訊協定,1.瞭解html,css,js等前端技術,方便和前端能更好的溝通。2.瞭解php源碼,最好能自己寫擴充。對於常用的設計模式有自己的理解和使用。其實php代碼真的很簡單。3. 懂資料庫,我是會mysql的,要能設計表結構,參數配置,sql最佳化,如果業務較大就要考慮分表分庫的問題,還有資料庫主從配置,讀寫分離,都是和架構方面相關的。如果出現慢查詢現象的處理方案。4.web伺服器,比如nginx,apache。熟練配置各種參數,並且瞭解php和web伺服器之間的關係和運行原理。5. 其他工具的使用,比如sphinx,memcache,redis,nosql等。根據業務需要可能會需要其他語言,比如java,go等。還要會linux常用命令以及shell命令。
綜上所述,到這個層次其實就是往架構方向了,php只是一個工具,我們要使用多個工具構建一個高效能的web項目才是最終目的。
上面說的還是比較籠統的,大家覺得有什麼不對的,可以補充,不喜勿噴哈~
電腦系統知識,
程式語言知識,
作業系統知識,
資料庫,
資料結構,
演算法設計我想這些夠了吧