目錄
前言
程式員技能樹
鞏固的基礎
互聯網技術相關知識全面的了解
PHP編程能力
MySQL技能
作業系統應用能力
編程能力,編程思想
總結一下
廣:
深:
前言
今天重繪聞的時間看到一篇很有針對性的報道,說是作為一名程式員想在一線互聯網月薪破萬,到底需要自身了解多深的技術,大家都知道既然是在一線城市,如果月薪沒有萬元以上,生活是很艱難的,畢竟一線城市科技和經濟都很高,當然消費自然就高了,里面隱隱約約說了一些技術,大部分都是一名程式員必備的技能,但限于作業及其他原因就沒有面面俱到的報道出來了,大家也都懂,小編就不在這詳細的討論這個問題了,讓我來了解一下到底是什么要的技術,才能夠在一線互聯網月薪萬元以上吧!

這是一個經常被初級程式員問到的一個問題,如果你問公司的HR,人家會告訴你,你的薪資取決于于公司的薪酬制度,以及你在公司的位置,,,,所以啊,你懂的,小伙子好好干,繼續加班吧,

這是可恥的忽悠, 我們廣大程式員都是追求技術進步的有為青年,程式員的薪資水平要掌握在自己手中,
身為一個合格的Java架構師,應該了解并且常用的Java技術有哪些?
程式員技能樹
鞏固的基礎
比如對集合類,并發包,類加載,IO/NIO,JVM,記憶體模型,泛型,例外,反射,等有深入了解,最好是看過原始碼了解底層的設計,比如一般面試都會問ConcurrentHashMap,CopyOnWrite,執行緒池,CAS,AQS,虛擬機優化等知識點,因為這些對互聯網的企業是絕對重要的,而且一般人這關都過不了,還發鬧騷說這些沒什么用,為什么要面試,舉一例子,在使用執行緒池時,因為使用了無界佇列,在遠程服務例外情況下導致內層飆升,怎么去解決?你要是連執行緒池都不清楚,你怎么去玩?再舉一例,由于對ThreadLocal理解出錯,使用它做執行緒安全的控制,導致沒能實作真的執行緒安全,還有遇到記憶體泄露怎么排插問題,怎么優化系統性能,所以作為一個拿兩萬的JAVA程式員這點基礎是要有的,
HTML/CSS/JavaScript 這些就不必說了,入門級WEB開發程式員都要掌握的,
互聯網技術相關知識全面的了解
從底層說起,你起碼得深入了解mysql,redis,nginx,tomcat,rpc,jms等方面的知識,你要問需要了解到什么程度,我可以給你說個大慨,首先對于MySQL,你要知道常見的引數設定,存盤引擎怎么去選擇,還需要了解常見的索引引擎,知道怎么去選擇,知道怎么去設計表,怎么優化sql,怎么根據執行計劃去調優,高級的你需要去做分庫分表的設計和優化,一般互聯網企業的資料庫都是讀寫分離,還會垂直與水平拆分,所以這個也有經驗的成分在里面,然后redis幾乎是必須的技能,而nginx和tomcat幾乎都是JAVA互聯網方面必配,至于rpc相關的就多的去,必須各種網路協議,序列化技術,SOA等等,你要有一個深入的理解,現在應用比較廣的rpc框架,在國內就是dubbo了,開源的還有spring cloud相關技術堆疊,可以自行搜索,至于jms相關的起碼得了解原理吧,一般情況下不是專門開發中間件系統和支撐系統的不需要了解太多細節,國內企業常用的主要是activeMQ和kafka,你能對我說的都有研究,阿里p7都不是太大問題的,
PHP編程能力
其次說說PHP編程能力,精通PHP語法,掌握常用的函式,熟悉PHP5下的OOP應用,熟練使用快取,掌握一些設計模式等等,這個是基礎,再高級一點,你要會這些:對PHP運行機制的理解;對系統資源的呼叫互動理解;關健性能的優化能力,以及有過OOP架構設計經驗,熟悉設計模式、UML,熟悉PHP物件運行機制,記憶體管理等
MySQL技能
MySQL技能也是必不可少的,還是先從基本的來說,你要知道用PHP連接資料庫;懂得寫一些簡單的SQL;建一些簡單的索引;懂得用工具簡單操作一下資料庫(增刪改庫表結構資料等等),進階一點呢,你要懂得在開發應用上設計資料庫,建立一些有效的索引,用explain分析SQL性能,壓力測驗等等,再往上呢,你要深入了解資料庫索引、存盤引擎原理以及運行機制,能有效地構建高性能可擴展的資料庫結構/架構,有效地優化資料庫性能配置并加以除錯,分析資料庫運行狀態,再往上呢,再往上先不說了,
作業系統應用能力
再說說作業系統應用能力,WEB開發不只是會寫代碼就行的,作業系統應用也是必備技能,需要廣泛且扎實的基礎理論,而對于開發者來說,熟悉基本的命令操作,對WEB相關服務的安裝、配置、優化能力需要具備,
說到這,已經把很多程式員打回原形了,天啊,要到這么高的水平,原來我以為我很牛,現在才發現我太菜了,

還沒完呢,作為一個PHP程式員,沒有大型網站作業經驗,怎么好意思出來混呢,PHP開發下的快取應用(memcache、APC等);session處理方案;熟悉負載均衡;熟悉PHP資料連接池應用;了解PHP編程性能優化,這些只有在大訪問量網站作業才能接觸到,這些只是小菜,你還要掌握分布式快取及快取性能優化、熟悉存盤系統、檔案系統、資料庫,開發可擴展平臺,能結合負載均衡合理布置流量,對PHP運行性能進行監控與分析等,
不說了,再說下去連我自己都沒信心了,不過呢,大家要往這個方向努力,FaceBook只招全堆疊工程師,現在大家知道為什么了吧,你掌握了上面說的,你就是一個全堆疊工程師了,

編程能力,編程思想
首先2W程式員對演算法的要求我覺得還是比較低,再高級也最多紅黑樹吧,但是排序和查詢的基本演算法得會,編程思想是必須的,問你個AOP和IOC你起碼的清清楚楚,設計模式不說每種都用過,但也能了解個幾種,編程能力這個我覺得不好去評價,但是拿一個2000W用戶根據姓名年齡排序這種題目也能信手拈來,最后就是架構能力,這種不是說要你設計個多牛逼多高并發的系統,起碼讓你做一個秒殺系統,得有一個明確的思路和方向,
總結一下
PHP程式員要月薪上萬,還是要求比較高的, 那個C++,JAVA程式員,可以專精某一技術,但是做Web開發的人,就得往全堆疊工程師這個方向發展,
其實,我內心是糾結的,因為我現在所學習的東西無法有價值的運用至專案中去,不僅僅是自己是后端的身份,還因為專案組中有專業的前端/美工,而我僅僅還只能做些拖拽bootstrap框架中,別人寫好的組件到處德瑟~糊弄那些不懂行的可以,專業人士就算了,還不如扎扎實實的去研究CSS/JavaScript底層的東西,
我喜歡去學習新的技術,但這些還不夠,人有不是機器,學多了總會忘,所以通常都是兩條路
廣:
橫線發展,這種比較耗費時間,要么面面具備,要么什么都不會
深:
專精一本,做一門技術中資深的專家,根據一萬小時的定律,這個應該是不難實作的,
其實,人活著要點目標,有了目標就什么都不用怕,只要朝著好的方向一步一步向前進即可...
文章到此就結束了!

最后來自小編的福利
以下的Java核心知識點整理是小編整理許久整理成的檔案資料,300頁Java核心技術,需要領取的小伙伴可以 點我 免費領取 ,編程的世界永遠向所有熱愛編程的人開放,這是一個自由,平等,共享的世界,我始終是這樣堅信的,
部分資料圖片:


喜歡小編的分享可以點贊關注哦,小編持續為你分享最新文章 和 福利領取哦
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/212257.html
標籤:其他
下一篇:Java面試必備的12個技術點決議:Spring全家桶+微服務+Redis+Netty+Kafka等,你掌握了多少?
