PHP工程师怎样自我突破

工程师人生 2018-10-11 09:36 次阅读
身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展。 PHP工程师面临成长瓶颈 先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其他语言工作过。工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会这样的物点: 除了PHP不使用其它的语言,可能会点shell 脚本。 对PHP的掌握不精(很多PHP手册都没有看完,库除外) 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法) PHP代码以过程为主,认为面向对象的实现太绕,看不懂 这些PHPer 在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战难度更高的系统? PHP工程师怎样自我突破 更高的挑战在那里? 结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。 高性能系统的挑战在哪里? 如何选择WEB服务器?要不要使用fast-cgi 模式 要不要使用反向代理服务?选择全内存缓存还是硬盘缓存? 是否需要负载均衡?是基于应用层,还是网络层? 如何保证高可靠性? 你的PHP代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 是否需要写成C的扩展? 用户访问有什么特点,是读多还是写多?是否需要读写分离? 数据如何存储?写入速度和读出速度如何? 数据增涨访问速读如何变化? 如何使用缓存? 怎么样考虑失效?数据的一致性怎么保证? 高复杂性系统的挑战在哪里? 能否识别业务所对应的领域?是一个还是多个? 能否合理对业务进行抽象,在业务规则变化能以很小的代价实现? 数据的一致性、安全性可否保证? 是否撑握了面向对象的分析和设计的方法 当我所列出的问题,你都能肯定的回答,我想在技术上你基本已经可能成为架构师了。如何你还不能回答,你需要在以下几个方向加强。 怎么样提高,突破瓶颈 如何你还不能回答,你需要在以下几个方向加强: 分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性; 学习大学期间重要的知识, 操作系统原理,数据结构和算法。知道你以前学习都是为了考试,但现在你需要为自己学习,让自己知其所以然。 重新开始学习C语言,虽然你在大学已经学过。这不仅是因为你可能需要写PHP扩展,而且还因为,在做C的应用中,有一个时刻关心性能、内存控制、变量生命周期、数据结构和算法的环境。 学习面向对象的分析与设计,它是解决复杂问题的有效的方法。学习抽象,它是解决复杂问题的唯一之道。 “这么多的东西怎么学,这得学多久呀” ? 如果你努力的话,有较好的规划,估计需要1~2年的时间,怎么学习的问题,我们后续再谈。 (注:下面是原文作者左文建分享的学习方法) 学习建议 如何有效的学习是一个大问题。 自己有些实践但很零散,不好总结。昨天晚上睡觉前,突然想到了RUP的核心,“以架构为中心,用例驱动,迭代开发”,借用这个思想,关于有效的学习的方法,可以这样来表述: 以原理、模型或机制为中心,任务驱动,迭代学习 有点抽象, 举个例子来说明如何学习。 目的: 学习如何提高处理性能。 可迭代驱动的任务: 通过IP找到所在地域。 这是WEB应用常见的任务,IP数据库是10左右万行的记录。 第一次迭代: 不考虑性能的情况下实现功能(通过PHP来实现) 因为无法直接通过KEY(IP)进行查找地域,所以直接放到数据或通过关联数组这种简单的方法都是不行的。思路还是先把数据进行排序,然后再进行查找 1. 如何通过IP查找? 已序的数据,二分查找是最快的。 2. 如何排序?用库函数sort当然 是可以,但是即然是学习,那还是自己实现快速排序吧。 学习目标: 排序算法,查找算法 PHPer 数据结构和算法基础比较差,平时也没有这方面的任务,自己也不学习,因此这方面的知识很缺乏。但是,编程解决的问题,最终都会归结到数据结构和对这种数据结构操作的算法。如果数据结构算法常在心中,那遇到问题就能清晰认识到它内在的结构,解决方法就会自然产生。 第二次迭代:优化数据的加载与排序 如果做到第一步,那基本上还是不可用,因为数据每次都需要的加载和排序,这样太耗时间。 解决的思路是,数据一次加载排序后,放到每个PHP进程能访问到的地方。 放到memcache 这是大家容易想到问题。其实放到共享内存(EA等加速器都支持)中是更快的方式,因为memcache还多了网络操作。 数据是整体放入到共享内存,还是分块放入,如何测试性能? 如何分析瓶颈所在(xdebug)? 在这些问题的驱动下你会学习到 学习目标: 检测、定位、优化PHP性能的方法; PHP实现结构对性能的影响。 第三次迭代: 编写PHP的扩展 性能还是上不去,不得不进入C/C++的世界了,不过从此你将不只是PHPer 而服务端的全能型工程师,当然这对没有做过C/C++的同学挑战是巨大的。 我这里无法再简单来说如何学习C/C++ ,可以参看 《PHP程序员学习C++》 学习目标:C/C++的学习,PHP扩展的编写 怎么确定需要学习的机制和原理呢? 怎么找到驱动学习任务呢? 我对需要学习的东西,都没有什么概念,怎么回答以上的两个问题? 从这个技术的定位来找出需要学习的重点,即它怎么做到(机制)的和它为什么能这样做到 (模型或原理) 列出这个技术最常见的应用,做为学习的任务,从简到难进行实践。 假如我需要学习Javascript ,我对于HTML,CSS有点感性认识 首要我了解到,JS 是WEB领域的动态语言,主要解决网页的动态交互的。 那我要学习的要点如下: JS如何与HTML 进行交互 (机制) JS的动态特性在那里,与其它动态语言有何区别?(语言模型) 如果完全自学,找到需要学习的要点(机制、模型、原理) 设定学习任务的确不是那么容易把握。如果找到一个有经验的人来指导你或加一个学习型的团队,那学习的速度的确会大大提高。 最后,我想说的是: PHP因为简单而使用,但不能因为它的简单而限制我们成长!
收藏 人收藏
分享:

评论

相关推荐

如何进行安卓动态桌面的设计与实现

为解决目前应用市场上常见的Android手机桌面应用存在的诸多问题,本文采用MV架构设计,Andro....
发表于 11-16 17:17 58次 阅读
如何进行安卓动态桌面的设计与实现

成功的工程师通常都具备哪些思维

如果你是一个天才工程师(马上可以离开),可以独立完成一个很多事情,你可以是一个怪咖,因为我相信没有一....
的头像 工程师人生 发表于 11-14 17:01 102次 阅读
成功的工程师通常都具备哪些思维

一位工程师的日常工作感悟

年轻的同学喜欢按学习曲线来看自己过去的每一年,但是这种方式很快就会步入到瓶颈,学习曲线增长突然会变得....
的头像 工程师人生 发表于 11-13 10:17 138次 阅读
一位工程师的日常工作感悟

十年工程师生涯分享

再过几天就是我从业十年的纪念日啦,回首这过去的十年,个中辛酸和快乐只有经历过后才有切肤的体会,有加班的烦劳,有择业的困惑...
发表于 11-08 09:46 77次 阅读
十年工程师生涯分享

解决芯片工程师的两大痛点

看看今天的物联网和智能设备领域,你可能会觉得现在是成为芯片工程师最好的年代。设备越来越小,将越来越多....
发表于 11-07 16:38 411次 阅读
解决芯片工程师的两大痛点

开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

开关稳压器  LT1766EGN#TRPBF 这是料号  主要应用于哪些产品 ...
发表于 11-07 11:36 119次 阅读
开关稳压器LT1766EGN#TRPBF主要应用于哪些产品

为什么说未来是全栈工程师的世界

技术在过去的几十年里进步很快,也将在未来的几十年里发展得更快。今天技术的门槛下降得越来越快,原本需要....
的头像 工程师人生 发表于 11-05 14:20 236次 阅读
为什么说未来是全栈工程师的世界

PHP程序员怎样规划技术成长路线

按照了解的很多PHP/LNMP程序员的发展轨迹,结合个人经验体会,抽象出很多程序员对未来的迷漫,特别....
的头像 工程师人生 发表于 11-05 11:30 236次 阅读
PHP程序员怎样规划技术成长路线

从一个毕业技术小白,到现在资深工程师,他获得这些!

无论当我在网上、论坛上、还是实际生活碰到的种种电子毕业生的时候,我学的有必要把我的路写写,大家可以扔鸡蛋也可以拍砖哈!先...
发表于 11-05 09:32 417次 阅读
从一个毕业技术小白,到现在资深工程师,他获得这些!

未来的工程师会做些什么

更新: Grace和Noah一直忙于他们的夏季项目。 查看他们的工作,并在每个星期的8月份回来看看更多。 我参加工程课已经很长时...
发表于 11-01 15:45 66次 阅读
未来的工程师会做些什么

全栈工程师的定义

大约在 2013 年,“全栈开发”这个词开始出现在招聘描述和博文之中。很多公司也意识到,雇用一个仅仅....
的头像 工程师人生 发表于 11-01 09:30 177次 阅读
全栈工程师的定义

工程师每天工作很长时间真的好吗

减少些压力,提高些效率:每天别工作太长时间,对你和公司都有好处
的头像 工程师人生 发表于 11-01 09:26 220次 阅读
工程师每天工作很长时间真的好吗

工程师写技术博客有哪些好处

没有读者,写技术博客文章感觉不到太多的作用,是浪费时间的事情,是这样吗?
的头像 工程师人生 发表于 10-31 11:21 237次 阅读
工程师写技术博客有哪些好处

工程师怎样关注自己的健康问题

我发现很多程序员都认为敲代码对他们的身体健康貌似没什么影响。我真的非常希望,大家能对程序员面临的健康....
的头像 工程师人生 发表于 10-31 10:54 303次 阅读
工程师怎样关注自己的健康问题

关于放大器设计工程师必须知道的100个基本问题(ZT)

网上看到以对答形式总结的基本原理、概念及实用经验,非常棒的资料,转发分享,放大器应用是个经验活,希望大家多分享交流: ...
发表于 10-31 09:04 125次 阅读
关于放大器设计工程师必须知道的100个基本问题(ZT)

工程师写博客有什么好处

客文章,是种与自我的对话,也是种与外界的联繫,也是获得 level up 或 skill learn....
的头像 工程师人生 发表于 10-30 15:11 704次 阅读
工程师写博客有什么好处

一个老工程师给新毕业大学生的几点建议

作为一个二十年前毕业的大学生,我和现在的许多人一样走过了,迷茫,选择,再迷茫,再选择的过程。现在把我所经历的一些东西写出...
发表于 10-29 09:32 192次 阅读
一个老工程师给新毕业大学生的几点建议

如何成为更优秀的工程师?

来自Heap(一家主要为企业提供用户数据分析架构的企业)早期员工Michael Malis,就如何成....
的头像 嵌入式资讯精选 发表于 10-28 09:51 413次 阅读
如何成为更优秀的工程师?

工程师面试创业公司的真实经历

硅谷充满了下面这种创业公司,它们疯狂崇拜在面试中能够答对几道编码难题的候选人,并认为雇佣这些人最终会....
的头像 工程师人生 发表于 10-27 09:43 304次 阅读
工程师面试创业公司的真实经历

30岁仍一事无成,为什么你没时间看看这个“失败”工程师的独白?

  回想我刚毕业那年的春节后,招聘现场也异常火爆,我艰难地挤到了第一排,递上简历,得到两个问题,第一,学什么专业,会干啥...
发表于 10-26 14:15 1790次 阅读
30岁仍一事无成,为什么你没时间看看这个“失败”工程师的独白?

工程师如何在工作之余做副项目

在 IT 资讯聚合网站 Hacker News 上花超过 5 分钟,你就会看到那些在兼职创业的人。这....
的头像 工程师人生 发表于 10-25 10:54 191次 阅读
工程师如何在工作之余做副项目

工程师面试被拒的真实经历

我做了很长一段时间的技术招聘后,我可以向你保证,招聘过程中的随机因素和干扰因素(false nega....
的头像 工程师人生 发表于 10-25 10:12 349次 阅读
工程师面试被拒的真实经历

一名资深IT工程师的面试经验

我已经在 IT 领域工作了相当长时间,有 12 年了。作为一个曾经的求职者和面试官,我对面试有一个客....
的头像 工程师人生 发表于 10-24 10:02 333次 阅读
一名资深IT工程师的面试经验

IT工程师怎样利用副项目找工作

为了在 IT 科技领域谋求一份工作而做副项目,这要不就是极好利用时间,就是在极大浪费时间。
的头像 工程师人生 发表于 10-24 09:41 203次 阅读
IT工程师怎样利用副项目找工作

IT工程师如何高效的学习

IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发....
的头像 工程师人生 发表于 10-23 10:46 382次 阅读
IT工程师如何高效的学习

为什么有的公司总是抱怨找不到好的工程师

几个月前,我参加了一场针对技术领域女性的活动。很多参加者中是新的开发者,毕业于编程学校或者计算机科学....
的头像 工程师人生 发表于 10-23 10:37 326次 阅读
为什么有的公司总是抱怨找不到好的工程师

一位Java工程师的找工作经历

作者从业 10 几年,经历过大大小小的面试也去过一些大公司,还经历过一些大的找工作浪潮,也看到过很多....
的头像 工程师人生 发表于 10-22 10:56 403次 阅读
一位Java工程师的找工作经历

一名前端工程师的从业经历

四年之前,我也是从原生Js开始,HTML,CSS,浏览器兼容,操作DOM,Ajax交互,慢慢到后来,....
的头像 工程师人生 发表于 10-21 09:51 388次 阅读
一名前端工程师的从业经历

产品开发别侥幸——该来的一定会来的

注:本文是作者以前发表在其个人博客,现在发布到电子发烧友专栏开发的产品越多,就越相信这个世界不存在完....
的头像 聚丰开发 发表于 10-19 11:26 264次 阅读
产品开发别侥幸——该来的一定会来的

一名JAVA工程师的八年从业经验分享

在中国有很多人都认为IT行为是吃青春饭的,如果过了30岁就很难有机会再发展下去!其实现实并不是这样子....
的头像 工程师人生 发表于 10-19 10:28 386次 阅读
一名JAVA工程师的八年从业经验分享

一位Java工程师的职业规划

一位哲人说过:“走好每一步,就是你的人生。”,人生之路说长也长,是因为这是你一生所要走的艰难险阻的跋....
的头像 工程师人生 发表于 10-19 10:17 285次 阅读
一位Java工程师的职业规划

成为高级工程师的必备素质有哪些

之前很多人问过我这么个问题,说怎样才能成为一名高级工程师?我觉得这是一个很好的话题,技术人的职业规划....
的头像 工程师人生 发表于 10-19 09:42 316次 阅读
成为高级工程师的必备素质有哪些

美企“相中”中国副教授, 芯片设计人才告急!

美企“相中”中国副教授 Cadence向福州大学副教授陈建利伸出橄榄枝,他是业内一位先进人才。在芯片电子设计自动化领域,陈建...
发表于 10-17 13:48 800次 阅读
美企“相中”中国副教授, 芯片设计人才告急!

工程师和码农的最大区别在哪

工程师和码农的区别并不在于技术水准的高低。
的头像 工程师人生 发表于 10-17 09:15 428次 阅读
工程师和码农的最大区别在哪

嵌入式工程师的真实现状,有人月薪8千,有人年薪快40万!

一名一线企业嵌入式软件工程师的笔者,想通过自己的实际经历理性地评论当今嵌入式行业的真实状况。 目前国内一个普遍被认同的定...
发表于 10-16 13:42 1207次 阅读
嵌入式工程师的真实现状,有人月薪8千,有人年薪快40万!

请不要随意做全栈工程师

很简单就是最近越来越多的人想做【全栈工程师】,他们的目标就是全栈,他们才入行短短1-2年,甚至刚从培....
的头像 工程师人生 发表于 10-16 11:59 424次 阅读
请不要随意做全栈工程师

全栈工程师在生活中的真实状态

从小米辞职出来创业的两个多月里,通过猎头或自己投简历,先后面试了知乎,今日头条,豌豆荚,美团,百度,....
的头像 工程师人生 发表于 10-16 11:51 350次 阅读
全栈工程师在生活中的真实状态

怎样才算成为一名合格的算法工程师

本科生非ACMER 需要什么程度才算算法合格?
的头像 工程师人生 发表于 10-16 11:08 545次 阅读
怎样才算成为一名合格的算法工程师

全栈工程师和架构师有什么区别

全栈工程师和架构师往往具备一专多能,不但专业技能扎实,还得熟悉掌握前端到后端各种主流技术环节的实现能....
的头像 工程师人生 发表于 10-16 11:04 312次 阅读
全栈工程师和架构师有什么区别

前端工程师面试技巧

我在Twitter和Stripe的一部分工作内容是面试前端工程师。其实关于面试你可能很有自己的一套,....
的头像 工程师人生 发表于 10-15 10:57 297次 阅读
前端工程师面试技巧

前端工程师的价值到底体现在哪里

其实豆瓣的克军的理解也很不错,很有前瞻性,一个好的前端工程师到底应该做什么,具体的价值体现又是怎样的....
的头像 工程师人生 发表于 10-15 10:41 230次 阅读
前端工程师的价值到底体现在哪里

网页工程师应该怎样规划自己的技术之路

如今网页的重要性毋庸置疑,在商业上,好的网站已经是企业保持竞争力的重要环节。伴随着网页开发技术的日新....
的头像 工程师人生 发表于 10-12 10:26 884次 阅读
网页工程师应该怎样规划自己的技术之路

成为Python工程师需要哪些技能

掌握计算机的构成和工作原理
的头像 工程师人生 发表于 10-12 09:54 494次 阅读
成为Python工程师需要哪些技能

PM应该把工程师作为伙伴而不是工具

过节前看到一篇文章,讲产品项目就应该由工程师来主导,但国内让PM去驱动项目,搞得乱七八糟,很恼火,怎....
的头像 工程师人生 发表于 10-12 09:38 420次 阅读
PM应该把工程师作为伙伴而不是工具

怎样成为一名优秀的web前端工程师

它要求前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化、SEO和服务器端的基础知识,而....
的头像 工程师人生 发表于 10-11 09:31 282次 阅读
怎样成为一名优秀的web前端工程师

前端工程师的岗位职责有哪些

前端开发工程师(下文简称前端),这个岗位我一直有些异议,异议就在前端的岗位职责有哪些?
的头像 工程师人生 发表于 10-11 09:26 377次 阅读
前端工程师的岗位职责有哪些

工程师的十条精进原则

时间回到8年前,我人生中第一份实习的工作,是在某互联网公司的无线搜索部做一个C++工程师。当时的我可....
的头像 工程师人生 发表于 10-10 10:32 304次 阅读
工程师的十条精进原则

全栈工程师的观点认知

深以为然,所以,全栈工程师应该分为Web全栈和App全栈。恰巧最近看了本有关Web全栈工程师的书,记....
的头像 工程师人生 发表于 10-10 10:08 261次 阅读
全栈工程师的观点认知

工程师面试时应该注意哪些问题

我 在 Google(以前是微软)工作期间面试了不下 300人,其中某些应聘者确实表现非凡,但有些却....
的头像 工程师人生 发表于 10-10 10:00 484次 阅读
工程师面试时应该注意哪些问题

什么是全栈工程师 做全栈工程师真的好吗

最近参加一个技术社区活动,在讨论到“CTO的技术深度和广度哪个更重要”的话题时,我想起社区里面常常提....
的头像 工程师人生 发表于 10-09 10:40 865次 阅读
什么是全栈工程师 做全栈工程师真的好吗

一位架构师写给工程师的一封信

下面的邮件是某Architect发给他的Engineering团队的(来源),我觉得挺不错的,翻译过....
的头像 工程师人生 发表于 10-09 09:51 342次 阅读
一位架构师写给工程师的一封信

前端工程师的简历怎么写

虽然简历都会有一些常规信息,但职业决定了这份简历核心内容和求职成败。所以,这份简历应该尽可能体现你自....
的头像 工程师人生 发表于 10-09 09:03 580次 阅读
前端工程师的简历怎么写

怎样成为前端工程师

前端教的三大内功秘笈:Html、Css、Javascript。你必须要掌握的程度
的头像 工程师人生 发表于 10-08 10:28 394次 阅读
怎样成为前端工程师

为什么互联网行业这么缺前端工程师

现在,几乎整个互联网行业都缺前端工程师,不仅在刚起步的创业公司,对上市公司乃至巨头这个问题也一样存在....
的头像 工程师人生 发表于 10-08 10:13 512次 阅读
为什么互联网行业这么缺前端工程师

一名数据工程师的自白

2011年,我作为一名商业智能工程师加入 Facebook。到了 2013 年离开的时候,我的职称是....
的头像 工程师人生 发表于 10-08 09:36 653次 阅读
一名数据工程师的自白

做售前工程师需要注意哪些细节

在IT界,成功的完成一个项目的需要销售人员、售前人员、项目实施人员(开发人员)、售后服务人员等密切协....
的头像 工程师人生 发表于 10-08 09:34 672次 阅读
做售前工程师需要注意哪些细节

PHP后端工程师的前景和5个阶段

1994年创建,1995年对外发表第一个版本,名为:personal home page tools....
的头像 工程师人生 发表于 10-08 09:22 580次 阅读
PHP后端工程师的前景和5个阶段

工程师必看:六招搞定常见电子元器件的检测

1. 判断晶振的好坏 先用万用表(R×10k挡)测晶振两端的电阻值,若为无穷大,说明晶振无短路或漏电;再将试电笔插入市电插孔内,...
发表于 10-04 16:52 218次 阅读
工程师必看:六招搞定常见电子元器件的检测

前端工程师为什么这么难找

先说下自己早年的经历吧,最早的时候跟很多现在看到的各种廉价前端程序员一样(如果那算程序员的话),就是....
的头像 工程师人生 发表于 09-29 10:20 367次 阅读
前端工程师为什么这么难找