成为一名优秀的PHP程序员,该如何做呢?应该具有什么样的技能,才算得上PHP程序员?你的技术又是在什么水平级别上?本文将列出一些作为一名PHP程序员应该了解的事情。
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的职能。
OOP能力
(1)了解:了解变量的作用域、类型,及其意义,了解继承机制等,懂得复用、封装概念。
(2)熟悉:熟练应用接口、抽象等技术混合开发程序,并理解其中含义,一般研究过Java。
(3)很熟悉:有过OOP架构设计经验,熟悉设计模式、UML,熟悉PHP对象运行机制,内容管理等。
(4)精通:应该是架构师级别了,不限于PHP。
经常我们会碰到一些自称熟悉OOP却连public、private、protected、static都解释不清的人,是肯定没有经历过正规的OOP项目。
大型网站经验
(1)了解:熟悉PHP开发下的缓存应用(Memcache、APC等);接触过LVS、SQUID应用;有一定的Session处理方案;熟悉负载均衡;熟悉PHP数据连接池应用;了解PHP编程性能优化。
(2)熟悉:掌握分布式缓存及缓存性能优化、熟悉存储系统、文件系统、数据库,开发可扩展平台。能结合负载均衡合理布置流量,对PHP运行性能进行监控与分析。
(3)非常熟悉:具备系统分析师能力,已经超出PHPer环节;
(4)精通。
DOM开发能力
应用能力
分享到:
相关推荐
Perl程序员应该知道的事 Andy Lester
java程序员上班那些事儿.pdfjava程序员上班那些事儿.pdf
PHP程序员面试宝典 笔试 (PHP版).zip
PHP程序员常备手册PHP程序员常备手册PHP程序员常备手册PHP程序员常备手册PHP程序员常备手册PHP程序员常备手册
程序员应该做的事 与怎样成为一个优秀的程序员。
每天程序员必做8件事 每天程序员必做8件事 每天程序员必做8件事 每天程序员必做8件事 每天程序员必做8件事 每天程序员必做8件事
为您介绍程序员在编写代码过程中所要注意的地方,并可以避免不必要的错误!
php程序员工具箱是迄今为止全网唯一款php程序员的专属工具箱,集合了php环境搭建、在线小工具、原生手册、文字与视频教程、问答社区等,可以更好的帮助和服务广大php初学者,需要此款工具的朋友们欢迎前来下载使用。...
不管是新手还是高手。php程序员必备手册。
程序员都应该知道的MYSQL秘籍程序员都应该知道的MYSQL秘籍程序员都应该知道的MYSQL秘籍程序员都应该知道的MYSQL秘籍程序员都应该知道的MYSQL秘籍程序员都应该知道的MYSQL秘籍程序员都应该知道的MYSQL秘籍程序员都...
80后大叔伪二次元爱好者 • 10年+ PHP开发经验,LazyPHP&TeamToy作者 • 前新浪云产品经理,曾负责SinaAppEngine的产品工作 • 两度创业,08年曾创建过自己的软件工作室,2014年创建互联网人才拍卖网站 JobDeer.com ...
如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一个有素养的程序员如何做一...
PHP程序员面试题目
不知道是谁总结的,总结的很好,可以帮助很快入手perl。很感谢作者
本人收藏了许多做为程序员应该做的事
程序员必做的50题
1.普通PHP程序员笔试题 2.PHP经典面试题 …… 希望对你有帮助
程序员必做的50题及解题答案,均为个人书写并验证,部分题目的坑点均标有注释,制作不易,希望有好的方法可以与我沟通,互相学习,共同进步,谢谢~
程序员应该具有下列素质: ①耐得住寂寞,静不下心来的人做不得。 ②禁得起熬夜,一个程序不是一天两就能做好的,有时写程序刚进入状态,此时即使夜已深,也不能(不愿)停下来。 ③要严谨细心,程序设计语言不是人...
程序员应该具备的技能程序员应该具备的技能程序员应该具备的技能