1、PHP編程能力
由於PHP的入門較為簡單,所以暫時只有熟悉和精通兩個級別。
1、熟悉PHP:精通PHP語法,掌握常用的函數,熟悉PHP5下的OOP應用,這個是基礎,也沒什麼好說的。
2、精通PHP:對PHP運行機制的理解;對系統資源的調用交互理解;關健性能的優化能力。
2、MySQL能力
在開發上的應用基於幾個能力體現:
1、了解:知道用PHP連接數據庫;懂得寫一些簡單的SQL;建一些簡單的索引;懂得用工具簡單操作一下數據庫(增刪改庫表結構數據等等)。
2、熟悉:懂得在開發應用上設計數據庫,建立一些有效的索引,用explain分析SQL性能,壓力測試等等。
3、很熟悉:深入了解數據庫索引、存儲引擎原理以及運行機制,能有效地構建高性能可擴展的數據庫結構/架構,有效地優化數據庫性能配置並加以調試,分析數據庫運行狀態。
4、精通:簡單地說具備以上所有能力的同時,有多年高負載分布式環境下的優化管理經驗。
據我觀察以及交往經驗,70%的PHPer處在了解階段,25%處於熟悉階段,>4%很熟悉,精通的人基本就不是phper了。
70%這個群體最容易忽視MySQL,以為MySQL只是簡單的存儲媒介,沒有優化意識,認為加個內存、CPU就能解決問題。
典型事件:join、order by、group by等語句性能一塌糊塗,數據庫根本沒有設計(僅限於拆成一個主表,N個附表等),搞不清字段類型及作用,碰到大表的復雜查詢就沒轍。
20%這個群體的人只是MySQL運行機制理解不透徹,對影響MySQL性能的關健因素把握不明確,不熟練。
典型事件:熟讀手冊,但說不清索引原理,不知道二叉樹、HASH等算法對於數據庫的作用
>4%的群體已經基本可以勝任DBA的職能。
3、OOP能力
1、了解:了解變量的作用域、類型,及其意義,了解繼承機制等,懂得復用、封裝概
念。
2、熟悉:熟練應用接口、抽象等技術混合開發程序,並理解其中含義,一般研究過JAVA。
3、很熟悉:有過OOP架構設計經驗,熟悉設計模式、UML,熟悉PHP對象運行機制,內容管理等。
4、精通:應該是架構師級別了,不限於PHP。
經常我們會碰到一些自稱熟悉OOP卻連public、private、protected、static都解釋不清的人,是肯定沒有經歷過正規的OOP項目。
4、大型網站經驗
1、了解:熟悉PHP開發下的緩存應用(memcache、APC等);接觸過LVS、SQUID應用;
有一定的session處理方案;熟悉負載均衡;熟悉PHP數據連接池應用;了解PHP編程性能優化。
2、熟悉:掌握分布式緩存及緩存性能優化、熟悉存儲系統、文件系統、數據庫,開發可擴展平台。能結合負載均衡合理布置流量,對PHP運行性能進行監控與分析。
3、非常熟悉:具備系統分析師能力,已經超出phper環節...
4、精通:太深奧..
5、操作系統應用能力
操作系統的熟悉與精通需要需要廣泛且扎實的基礎理論,而對於開發者來說,熟悉基本的命令操作,對WEB相關服務的安裝、配置、優化能力需要具備。