【推薦】純乾貨,新鮮出爐!中高級程序員必看!


0 1

熟練使用Shell腳本,並且能夠完成很多自動化的工作;

熟悉awk/sed/perl 操作技術,能夠完成大部分文本處理和數據統計等工作;

精通Linux程序(包括各種庫、包、第三方依賴等等,比如MongoDB/Redis/Sphinx/Luncene/SVN之類的);

熟悉Linux服務,比如如何查看Linux的性能指標數據,比如Linux基礎下面的問題跟蹤等。


02

精通Nginx配置、多核配置、events、proxy_pass,sendfile/tcp_配置,瞭解超時等相關配置和性能影響;

知道nginx除了web server,還能夠承擔代理服務器、反向靜態服務器等配置;熟悉nginx配置調優、權限配置;

熟悉的nginx運行原理(master/worker機制,epoll),並且能夠區分nginx 跟apache的區別和聯繫;


03

熟悉MySQL優化(group by/order by/rand優化等),掌握很多小技巧,熟悉MySQL搭建、冷熱備份MySQL數據;

熟悉能夠影響innodb/myisam性能的配置選項(比如key_buffer/query_cache /sort_buffer/innodb_buffer_pool_size/innodb_flush_log_at_trx_commit等);

熟練mysql主從同步的環境,熟悉各個binlog_format的區別;

瞭解MySQL的性能追查,包括slow_log/explain等,熟悉基本的索引建立以及優化處理等知識;

原理方面瞭解基本的MySQL的架構 (Server+存儲引擎),瞭解基本的InnoDB/MyISAM索引存儲結構和不同(聚簇索引,B樹);

瞭解基本的InnoDB事務處理機制;

瞭解大部分MySQL異常情況的處理方案(或者知道哪兒找到處理方案)。

熟悉NoSQL的代表MongoDB數據庫,對比nosql跟 MySQL的差別,同時能夠結合使用MongoDB。


04

基本所有的中型系統裏面都會涉及到緩存處理,所以一定要熟悉緩存的使用和它存在的一些緩存隱患問題以及解決方案;

知道Memcached和Redis的異同和應用場景以及安裝配置,瞭解Memcahed的特性和優缺點,比如最大的value值;

熟悉Redis的基本工作原理和使用,比如基礎的數據類型以及應用場景,瞭解Redis的事務、隊列等等。

原理部分,熟悉Memcached的內存結構 (slab機制),或者redis常用數據類型底層實現存儲結構(SDS/鏈表/SkipList/HashTable)等等,瞭解Redis 的持久化機制以及RDB、AOF機制恰當使用。


05

安裝配置方面:

熟悉PHP和各種第三方擴展的編譯安裝以及配置;

瞭解phpfpm的大部分配置選項和含義(如 max_requests/max_children/request_terminate_timeout之類的影響性能的配置),瞭解mod_php /fastcgi的區別和聯繫;對PHP面向對象的有深入理解,比如依賴注入,路由運行原理,反射等等;

有做過TP/Laraver等框架的源碼分析,知道PHP主流框架內部實現機制和設計思想;熟練使用常規的設計模式來應用開發(抽象工廠/單例/觀察者/命令鏈/策略/適配器 等模式);

深入理解MVC模式,自己也可以去做到一些開發;熟悉PHP的各種調優方法,熟悉PHP大部分安全問題的解決處理;

熟悉基本的 PHP執行的機制原理(Zend引擎/擴展基本工作機制);


06

能夠設計大部分中型系統的網站架構、數據庫、基本PHP框架選型;

性能測試、問題排查和處理等;

能夠完成類似:瀏覽器 > CDN(Squid) > Nginx+PHP > 緩存 > 數據庫。

架構網站的基本設計開發維護;

能夠支撐每天數百萬到千萬流量基本網站的開發維護工作;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章