《PHP等级水平评定标准》,又看到了前进的方向。

分享下,这样和我曾经一样迷茫的phper不用迷茫了。

0级:(没有计算机编程基础,在培训学校里培训了三个月会php或者以前搭建过网站,又有很长一段时间没写过代码的社会人员)。特点:懂一大堆东西都说学过,实际测试的时候,机试写程序上反应半天,笔试的时候,题目鲜有答对。

入门级:
 可以完整的搭建自己的网站和进行域名解析绑定操作,
 在windows下能完整的配置环境,能看懂dedecms,ecshop,smarty等代码,可以进行模板的修改和常规功能的二次开发。
 可以用thinkphp或者YII进行CURD操作。可以对企业网站数据库进行迁移备份。掌握ajax,cookie,session等基本概念的使用。了解php的语法,数组,字符串,可以写最简单的算法比如简单的随机分组读取,用过100个以上的php函数,同时需要掌握一定div+css html  js jquery的前端知识(这种php程序员大部分在外包或者对企业网站进行维护公司)

初级:
 可以在Linux下独立的配置LAMP或者LNMP环境(保持简单的运行即可)使用过20个以上的Linux命令,掌握Linux的目录大致结构。可以手写一定的原生mysql和对mysql进行初步的管理。理解了MVC系统的构成,可以完成对该系统的一些简单改写使得更加符合开发要求。理解php库的概念,同时使用过五个以上其他的函数库。可以用php在理解了业务逻辑的情况下,完成小型模块的编写并进行维护,理解api和数据交换概念,可以很快完成对各种开放API同时可以使用svn或者git进行合作协同开发(比如腾讯和微信api)进行组合利用。(很大一部分初创公司招聘的php程序员)

中级进阶:
 可以看懂LNMP的log日志,使用过40个以上的Linux的命令(组合算新功能命令) 可以完成简单的shell脚本编写,完成部分自动化工作,可以自己独立make安装php的某个需要支持库。 理解性的配置nginx上的server/fastcgi_pass/access_log等选项。可以自己独立make安装php的某个需要支持库
 熟悉各种跟MySQL操作链接的api(mysql/mysqli/PDO)等的不同。能很快的看懂一个mvc结构框架。理解一些数据库的读取效率与基本的设计(可以独立在不考虑效率的情况表现一套简单的业务逻辑,例如签到系统)道基本的InnoDB/MyISAM索引存储结构和不同(聚簇索引,B树);知道基本的InnoDB事务处理机制了解部分MySQL异常情况的处理方案。同时了解nosql,能使用Redis或者Memcache进行数据的储存。
 理解程序算法结构对程序运行的效率影响,可以用php进行模块开发,同时对自己熟悉的框架进行拓展性改造。
 熟悉基本的HTTP协议(协议代码200/300/400/500,基本的HTTP交互头)(中型公司招聘的php写功能开发的,小公司的主管也常常在该级)
 
 中级:
 能够流畅的使用Shell脚本来完成很多自动化的工作;awkd/perl 也操作的不错,能够完成很多文本处理和数据统计等工作;基本能够安装大部分非特殊的Linux程序(包括各种库、包、第三方依赖等等,比如MongoDB/Redis/Sphinx/Luncene/SVN之类的);了解基本的Linux服务,知道如何查看Linux的性能指标数据,
 了解复杂一些的Nginx配置;包括 多核配置、events、proxy_pass,sendfile/tcp_*配置,知道超时等相关配置和性能影响;知道nginx除了web server,还能够承担代理服务器、反向静态服务器等配置;知道基本的nginx配置调优;知道如何配置权限、编译一个nginx扩展到nginx;知道基本的nginx运行原理(master/worker机制,epoll),知道为什么nginx性能比apache性能好等知识。
 熟悉常规SQL优化(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等)
 PHP上已经对大部分框架掌握了(一般会用过俩种以上做过项目开发),可以写出自己的MVC框架,理解常见的面向对象开发方式(抽象工厂/单例/观察者/命令链/策略/适配器 等模式)由于php层已经到了瓶颈层,会对C/c++进行一定的了解,可以对用C或者c++写一定的简单的程序并进行编译等操作。为了优化性能,可能会用到HHVM等工具
 由于可以对一般的系统进行设计,需要考虑到性能和优化方面,需要Memcached和Redis的异同和应用场景,了解Memcahed的一些基本特性和限制,比如最大的value值,知道PHP跟他们的使用结合;Redis了解基本工作原理和使用,了解常规的数据类型,知道什么场景应用什么类型,了解Redis的事务等等。原理部分,能够大概了解Memcached的内存结构(slab机制),redis就了解常用数据类型底层实现存储结构(SDS/链表/SkipList/HashTable)等等,顺便了解一下Redis的事务、RDB、AOF(大部分公司招聘公司里提到的高级php要求)

高级进阶:
 可以用c/c++进行写小型规模的程序,基本的C/C++语法熟悉(指针、数组操作、字符串、常规标准API)和数据结构(链表、树、哈希、队列)有一定的熟悉下;会简单的makefile文件编写,能够使用简单的GCC/GDB的程序编译简单调试工作;对基本的网络编程有大概了解。可以使用高级复杂的Linux命令完成工作(watch/tcpdump/starce/ldd/ar等)能够编写比较复杂的shell脚本(超过500行)来协助完成很多包括备份、自动化处理、监控等工作的shell;对awkd/perl 等应用已经如火纯青,能够随意操作控制处理文本统计分析各种复杂格式的数据;对Linux内部机制有一些了解,对内核模块加载,启动错误处理等等有个基本的处理;同时对一些其他相关的东西也了解,比如NFS、磁盘管理等等。
 数据库方面可以对大批量数据的导入导出,线上大批量数据的更改表结构或者增删索引字段等等高危操作;除了安装配置,已经能够处理更多复杂的MySQL的问题,比如各种问题的追查,主从同步延迟问题的解决、跨机房同步数据方案、MySQL高可用架构等都有涉及了解;对MySQL应用层面,对MySQL的核心关键技术比较熟悉,比如事务机制(隔离级别、锁等)、对触发器、分区等技术有一定了解和应用;对MySQL性能方面,有包括磁盘优化(SAS迁移到SSD)。
 理解php-fpm工作机制(比如php-fpm在不同配置机器下面开启进程数量计算以及原理),对zend引擎有基本熟悉(vm/gc/stream处理),阅读过基本的PHP内核源码(或者阅读过相关文章),对PHP内部机制的大部分核心数据结构(基础类型/Array/Object)实现有了解,对于核心基础结构(zval/hashtable/gc)有深入学习了解;能够进行基本的PHP扩展开发,了解一些扩展开发的中高级知识(minit/rinit等),熟悉php跟apacheinx不同的通信交互方式细节(mod_php/fastcgi)。(非常非常厉害的php程序员,圈子太窄了,就知道一俩个)

高级:
  代码内核部分基本都阅览过(lmnp),熟悉多进程、多线程编程;多进程情况下面了解大部分多进程之间的通信方式,能够灵活选择通信方式(共享内存/信号量/管道等);多线程编程能够良好的解决锁冲突问题,并且能够进行多线程程序的开发调试工作;同时对网络编程比较熟悉,了解多进程模型/多线程模型/异步网络IO模型的差别和选型,熟悉不同异步网络IO模型的原理和差异(select/poll/epoll/iocp等),并且熟悉常见的异步框架(ACE/ICEbevbeventbuv/Boost.ASIO等)和使用,如果闲暇也可以看看一些国产自己开发的库(比如muduo);同时能够设计好的高并发程序架构(leader-follow/master-worker等);了解大部分C/C++后端Server开发中的问题(内存管理、日志打印、高并发、前后端通信协议、服务监控),知道各个后端服务RPC通信问题(structtp/thirft/protobuf等);能够更熟络的使用GCC和GDB来开发编译调试程序,在线上程序core掉后能够迅速追查跟踪解决问题。(超越了php的范畴,感觉像独孤求败了)

PHP等级水平评定标准相关推荐

  1. php等级水平评定标准,网球水平定级标准~看看你什么等级

    网球水平定级标准~看看你什么等级 这是根据美国通用的网球水平定级标准(ntrp)来进行水平的划分. 完全NTRP标准 NATIONAL TENNIS RATING PROGRAM Verificati ...

  2. 计算机等级成绩科目代码65,北京计算机等级考试成绩评定标准是怎样的

    北京计算机等级考试成绩评定标准是怎样的: NCRE考试实行百分制计分,以等第成绩通知考生.等第成绩分为不及格.及格.良好.优秀四等.0-59分为不及格,60-79分为及格,80-89分为良好,90-1 ...

  3. 高校教师计算机职称等级,最新高校教师职称评定标准.doc

    最新高校教师职称评定标准 最新高校教师职称评定标准 最新高校教师职称评定标准 一.评审系列: 高等学校教师系列 工程实验系列 中小学教师系列 其他系列 二.申报条件: 根据<西安工业大学职称评审 ...

  4. 测试高考体育成绩的软件,高考体育考试项目内容及成绩评定标准

    体育高考离我们也是越来越近了,想要参加体育考试的考生也要开始准备了.那么,高考体育考试项目的内容和成绩评定标准就非常有必要了解了. 高考体育考试考什么 其一是身体素质项目,一般规定为100米跑.5米三 ...

  5. 高考计算机会考等级划分标准,学考等级怎么划分标准2021

    学考等级怎么划分标准20212021-06-15 19:16:04文/刘思琪 高中学业水平考试以等级呈现成绩,一般分为四个等级,位次由高到低为A(优秀).B(良好).C(合格).D(不合格),具体可分 ...

  6. 江苏大学创新创业学分计算机学院,江苏大学创新学分评定标准

    创新学分评定标准 (一)创新训练项目类的学分认定: 1.学生参加大学生实践创新训练计划.创业计划.大学生科研立项等项目,按照项目等级和参加人数加分. 2.团体项目中各成员获得的学分由项目主持人根据各人 ...

  7. 全国计算机等级考试评分标准,全国计算机等级考试评分标准

    全国计算机等级考试评分标准 1.全国计算机等级考试的成绩评定流程如下:笔试答题卡集中至北京统一阅卷,其中选择题由阅卷读卡机进行评分,而填空题.四级论述题则需要人工评阅;一级考试.各级上机考试的成绩由考 ...

  8. 五子棋爱好者必看!专业五子棋级位段位资格评定标准

    中国五子棋段级位制是国家体育局制定,并适用于参加中国棋院认可的国内外五子棋比赛的五子棋爱好者的水平标准评定,可谓是含金量十足.不过作为五子棋爱好者的你,想不想知道自己的水平究竟处在哪一级位.段位上呢, ...

  9. 腾讯T1~T9工程师技术剖析以及评定标准、能力要求

    今天给大家分享的是由腾讯内部制定出来的岗位T1-T9级别,具备的专业知识能力技术点,至于知识点掌握的深度就看大家对技术点知识点理解的程度,个人而言知识点理解的程度跟你定位的级别是有很大的关系. 很多朋 ...

最新文章

  1. Redis系列-远程连接redis并给redis加锁
  2. 专访黄勇:Java在未来的很长一段时间仍是主流
  3. 在一个数组中删除另一个数组存在的值
  4. Android获取Linux图像信息,Android系统信息获取 之十三:Linux内核版本信息获取
  5. vs2008配置winddk
  6. 错误: 找不到或无法加载主类 org.apache.flume.tools.GetJavaProperty
  7. 5分钟搞定AlertManager接入短信、语音等10+种通知渠道
  8. windows获取主板序列号和盘符号_【装机帮扶站】第342期:甭管是什么主机,盘它!...
  9. 中国水性颜料市场趋势报告、技术动态创新及市场预测
  10. Android 项目经验汇总:Fiddler的坑,证书无效
  11. 虚拟机ip地址消失不见,重新获取方法
  12. 树莓派进阶之路 (031) -字符问题(1) - GBK汉字编码表(转)
  13. Bootstrap V5 图标字体的引入以及使用方法
  14. 14. vue的插槽
  15. (附Matlab程序)(一)基于DCT编码的图像压缩:显示灰度图像 反余弦变换恢复图 DCT变换图 余弦变换系数图
  16. 计算机运行原理之电报机与继电器
  17. 服!造成程序员脱发的两大原因竟然是……
  18. Android elevation属性奇怪的失效
  19. 新东方签下第一份电子劳动合同
  20. 建设可持续社区离不开物业,你们小区的物业怎么样?

热门文章

  1. 百度语音助手电脑版 v3.0 官方版
  2. python使用turtle库、绘制一个八角形_Python:turtle库的使用及图形绘制
  3. ARMV8体系结构简介:AArch64应用级体系结构之Atomicity
  4. jmockit教程_java unit test Mock框架jMockit示例教程 - Mock 构造方法,基于状态的Mock
  5. Activiti数据库表结构
  6. 分支与循环语句C语言
  7. Kafka集群相关指令
  8. (附源码)基于PHP初中英语在线考试系统的设计与实现-计算机毕设87564
  9. 做一款属于自己的体感游戏
  10. Python之中文乱码解决方案