PHP後端技術能力模型

2022-06-06 04:18:06 字數 3681 閱讀 2016

技能初級

中級高階

技能初級

中級高階

mysql

1 能夠搭建乙個可執行的mysql資料庫

2 知道innodb和myisam的區別

3 了解、遵守mysql開發規範

4 索引的使用, 優化explain

5 能使用事務

1 常規sql引數優化

知道影響innodb/myisam效能的配置選項(比如key_buffer/query_cache/sort_buffer/innodb_buffer_pool_size/

innodb_flush_log_at_trx_commit等)

2 知道基本的innodb/myisam索引儲存結構和不同(聚簇索引,b樹)

3 理解事務的原理

4 掌握mysqladmin,授權、備份等知識

1 能夠處理更多複雜的mysql的問題,比如各種問題的追查,主從同步延遲問題的解決、跨機房同步資料方案、mysql高可用架構等都有涉及了解

2 對mysql應用層面,對mysql的核心關鍵技術比較熟悉,比如事務機制(隔離級別、鎖等)、分割槽等技術有一定了解和應用

3 innodb併發事務處理帶來的問題(更新丟失、髒讀、不可重複讀、幻讀),如何產生的和如何避免

php1.環境搭建

2. 基礎知識(基本語法,資料型別,基礎函式)、**規範

3. 主流框架(odp,yii,thinkphp)

4. 請求生命週期,fast-cgi, php-fpm

5. 錯誤日誌分析

1. 記憶體管理,gc機制,記憶體池

2. php的構成,生命週期,sapi

3. 物件導向,命名空間,自動載入機制,異常處理,spl,動態屬性,魔術方法

4. 動態追蹤,trace工具應用

5. 變數作用域,靜態變數,臨時變數等

1. 擴充套件開發,構成及編譯,鉤子函式,全域性資源,zval的操作

2. 核心原理,zend虛擬機器,opcache,jit

3. php的編譯與執行, 排程方式,執行流程,執行時快取

4. hvvm,swoole了解和使用

nginx

1.了解nginx安裝和配置, 熟悉反向**,靜態快取等相關配置

2.能配置nginx+fastcgi整合,並解決開發中的問題.

1. 深入了解非同步非阻塞模型的工作原理

2. 能結合業務設計使用靜態快取,負載均衡,跨域解決方案

1. 掌握nginx擴充套件開發 (openresty、lua)

2. 配置nginx安全策略

3. 能nginx進行高可用優化

4. 結合業務, 設計高峰期的削峰,降級, 限流方案

linux

1. 熟悉crontab,wget,grep,vim,tar,make,gcc,管道操作等系統命令

2. 熟悉awk/sed文字工具 .

3. 熟悉linux使用者和組,使用者許可權配置

4. 熟悉linux軟體包安裝,yum,rpm,apt-get,原始碼

5. 熟悉常用網路協議,icmp/dns/udp/ssh/ftp/dhcp/arp等

6. 熟悉relay命令,fsh,myquery等

7. 熟悉磁碟管理程序管理,記憶體管理等工具.

1. 掌握la/nmp的安裝.排錯.

2. 掌握shell語法,熟練編寫shell指令碼.

3. 掌握程序,執行緒,程序通訊,程序排程,執行緒共享

4. 理解虛擬化技術,kvm,docker

5. 掌握iptables,selinux安全策略.

1. 精通linux監控,能編寫自動化指令碼,熟練使用nagios/cacti.

2. 精通效能調優,io/反代,記憶體等

3. 精通tcp/ip原理,網路程式設計(socket).

4. 精通linux集群,devops,k8s

5. 深入理解linux核心設計,訊號機制

快取應用

1. 了解服務端常用快取技術, **快取 資料庫快取 opcache.

2. 了解瀏覽器快取和cdn快取

3. memcache&redis使用

1. 在業務中能熟練使用各項快取技術,進行效能優化

2. 理解快取雪崩、快取穿透的原理,並能通過技術手段避免和解決

1. 設計高併發與高可用的的快取架構,

2. 設計出適合的分布式快取的一致性方案,

3. 根據業務場景定製不同的快取更新,降級,預熱,同步等策略.

安全1 了解生產系統常見的會導致後台系統被入侵的安全漏洞(緩衝區溢位,sql注入,直連db,無鑑權等),

2 能按照日常開發當中理解並按規範避免這些漏洞,遵守開發安全規範

1 了解前台安全知識

2 許可權控制、儲存安全、傳輸安全、反作弊、資源隔離、資訊加密技術及金鑰安全管理 等安全相關知識應用

1 根據負責業務的特點靈活運用安全知識。

2 安全的核心原則(sdl)能在架構設計中大部分應用

資料結構與演算法

1. 常見資料結構:鍊錶、樹(如二叉樹)

2. 常見演算法思想:遞迴,分治,動態規劃,貪心

3. 複雜度分析,時間複雜度,空間複雜度

4. 基本排序演算法,冒泡,插入

1. 排序演算法:快速排序,堆排序,優先佇列,歸併排序,線性時間排序(基數,計數,桶排序)

2. 中位數和順序統計量:最大最小值,中位數,選擇演算法

3. 概率分析和隨機演算法

4. 雜湊表,雜湊演算法

5. 二叉搜尋樹,紅黑樹

1. 動態規劃原理,最長公共子串行,最優二叉搜尋樹

2. 貪心演算法原理

3. 圖演算法,最小生成樹,單源最短路徑,最大流等基本原理

設計模式

1 了解設計原則(solid).

2 了解常用的設計模式(單例,介面卡,簡單工廠),有哪些設計模式,什麼場景可用

1. 在專案中合理的使用設計模式(單例,抽象工廠,裝飾者模式,策略模式,觀察者模式,模板模式)等

2. 了解各種設計模式的差異(比如簡單工廠,抽象工廠).

1 熟練掌握大部分的設計模式,

2 能發現系統的一些設計問題,能在專案設計、重構中應用

監控1 了解什麼是監控,哪些需要監控,常用的監控系統noah

2 伺服器系統的load、cpu的利用率、i/o繁忙程度、網路traffic、記憶體利用率等常用指標 如何檢視

3 執行期間業務資料、日誌的記錄和問題定位

1 在業務中noah的使用,系統監控、日誌監控、流量監控、資料庫監控、memcache、redis、mysql等監控,有一定的報警策略,提前發現問題

2 核心頁面監控、核心介面監控等業務檢測和報警

3 使用 uda & crm 對業務系統監控

1 第三方介面、依賴服務的監控

2 瀏覽器使用者訪問效能等監控

3 業務指標監控,效能指標監控

4 分級報警策略的合理應用

訊息佇列

1 了解什麼是mq,常用的使用場景(非同步處理,應用解耦,流量削峰和訊息通訊)

2 基礎使用redis、nmq

1 在專案設計中能靈活應用nmq、redis

2 了解kafka、rabbitmq、rocketmq等訊息佇列

3訊息型別:點對點、多訂閱模式、推拉模式原理和應用

1 架構設計中關於高效能、高可用、可伸縮和最終一致性, 如何合理應用 達到耦合,非同步訊息,流量削峰等。

2 訊息消費如何實現冪等性、可靠性、時序性,佇列堆積、訊息丟失場景和處理方式

能力成長模型

最近看了溫伯格1986年出版的 技術領導之路 很老的書,講的都是一些淺顯但容易被忽視的道理,就像第一章,講作者自己玩彈子球的水平提公升,時間長了,以為自己的水平提公升像下圖這樣,每年都在逐步提公升 而實際上往往不是,能力的提公升過程通常都是 高原 突破 式的,在高原時期沉澱和思考,在學會新方法後突破...

CTO能力模型

cto是能力矩陣裡面最均衡的乙個,突出的能力是領導力和文化構造能力,而不是技術實力。公司小的時候,cto可能是公司中技術最強的那個人,但是cto必須要有能力構建乙個文化和體系,迅速能讓比自己技術牛的人 體系搭建能力比自己強的人融入到公司,才可以讓自己到更高層次上來做決策。cto要把控和技術相關的布局...

能力成長模型

iteye梁飛部落格 能力成長模 最近看了溫伯格1986年出版的 技術領導之路 很老的書,講的都是一些淺顯但容易被忽視的道理,就像第一章,講作者自己玩彈子球的水平提公升,時間長了,以為自己的水平提公升像下圖這樣,每年都在逐步提公升 而實際上往往不是,能力的提公升過程通常都是 高原 突破 式的,在高原...