浅谈php的优缺点与面试技巧

一、优点

1. 跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux /Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换 PostgreSQL或者Oracle,支持N种数据库。(N >= 10)

2. 语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend Studio等等,再Linux平台下可以使用Eclipse等等。

3. 目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。

4. 有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smart template做模板层,如果是PHP 5.1的话,还能够使用PDO(PHP Data Object)来访问数据库。

5. 有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。

6. PHP 5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。

7. 有成熟的社区来支持PHP的开发。

8. 目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。

9. 有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客 WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。

10.使用成本低 (linux apache mysql php内核)

二、缺点

1.对多线程支持不太好,大多数时候我们只能简单的模拟去实现的。

2.语法不太严谨,比如变量不需要定义就可以使用,在c,java,c++中变量是必须先定义以后才可以使用的。

3.PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。

快速提升技术技巧:

1)基本训练;基础课程很枯燥,但不是白搭的。

2)多看;读代码的能力远远比写代码的能力重要。见多之后,才是识广。

3)想象和预测;写代码不是目的,达成结果才是目的。代码和实现之间偏差最小的,就是高手。

在这里就不讲的细节了...

面试技巧:

一般情况下,面试官会从各个方面有目的的考察你,细节方面我就不说了,说说大方向吧...

1)让你准备一个你最擅长的领域的知识与技能,把它尽量更精确、更有价值的提炼出来(这是在考察你的学习能力)

2)让你回忆一下自己过去做的比较成功的一件事,并且把细节罗列出来,能有一些具体的例证(考察你是否有经验与能力与该岗位匹配)

3)对该公司是否有些建议(考察你的意愿程度是否强烈)

4)问你离开上一家公司的原因(最好如实回答这个问题,考核你是否也适合该公司)

本文来自企鹅号 - PHP自学中心媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

Java就业指导

26920
来自专栏HansBug's Lab

【备忘】Idea的那些事

说到Java的IDE,似乎eclipse和Idea是目前的主流。然而,OO的课程组却一直在推荐使用eclipse,于是很多人就这样错过了Idea这样强大的IDE...

44590
来自专栏企鹅号快讯

学习Python语言,这些酷毙的工具你知道几个?

工欲善其事必先利其器,一个好的工具能让起到事半功倍的效果,Python社区提供了足够多的优秀工具来帮助开发者更方便的实现某些想法,下面这几个工具给我的工作也带来...

25780
来自专栏斑斓

软件系统的稳定性

软件系统的稳定性,主要决定于整体的系统架构设计,然而也不可忽略编程的细节,正所谓“千里之堤,溃于蚁穴”,一旦考虑不周,看似无关紧要的代码片段可能会带来整体软件系...

1.4K60
来自专栏圣杰的专栏

eShopOnWeb 知多少

eShopOnWeb是基于ASP.NET Core构建,官方创建这样一个示例项目的目的,我想无非以下几点:

18910
来自专栏企鹅号快讯

在学习Python的道路上,我们应该如何走好这条路

当你决定入门 Python 时,需要有一个清晰且短期内可实现的目标,比如通过学习找一份初级程序员工作,目标明确后,你需要知道企业对 Python 程序员的技能有...

28370
来自专栏Golang语言社区

Node.js真的无所不能?那些不适用的应用领域分析

Node.js是一个服务器端JavaScript解释器,底层采用的还是libevent;它的目标是帮助程序员构建高度可伸缩的应用程序,目前对Node.js 的采...

36760
来自专栏Golang语言社区

Node.js真的无所不能?那些不适用的应用领域分析

Node.js是一个服务器端JavaScript解释器,底层采用的还是libevent;它的目标是帮助程序员构建高度可伸缩的应用程序,目前对Node.js 的采...

387100
来自专栏Python攻城狮

人生几何,何不Python当歌

学习Python也有一段时间了,学到了很多,从什么也不懂到入门,现在谈谈python怎么入门。

11740
来自专栏Java帮帮-微信公众号-技术文章全总结

Java面试复习大纲2.0(持续更新)

想要成为合格的Java程序员或工程师到底需要具备哪些专业技能,面试者在面试之前到底需要准备哪些东西呢?本文陈列的这些内容既可以作为个人简历中的内容,也可以作为面...

63670

扫码关注云+社区

领取腾讯云代金券