PHP面试篇之基础0

个人气场   技术实力    职业规划及贡献

1、深入理解PHP到底是什么

①跨平台(window Linux Unix)

②服务器端脚本语言

③和apache配合方便,性能很高因为PHP可以编译成apache模块

④无须编译所该即得是PHP流行的重要原因

⑤lamp:Linux+apache+mysql+PHP    wamp:window+apache+mysql+PHP


2、团队分工

分不同情况进行描述

①产品化开发、项目化开发

产品化开发其实和语言没啥关系,都需要从需求分析,架构设计,编码实现,测试

项目化开发需要很少的人从头干到底

②项目规模、是否自营

小规模项目,往往以通用性,可扩展性为主要目标

自营项目往往以性能,用户体验为主要目标


3、PHP模板引擎

PHP模板引擎根据项目需求,很多事根据开源自行修改的

①smarty:官方创建PHP脚本享受zend加速(缓存)

②其它dwoo、Savant、 Template Blocks、 Template Lite等

用途:产品化(方便二次开发而不需要学习PHP语法)、生成静态页提高访问性能、方便用户定制一些模板 

4、常用开发工具

很能说明面试者的PHP资历

①相对智能、专业和协作工具

eclipse(PHP插件)、PHPDesigner 、Zendstudio、PHP Coder

实战不要说DW、记事本、editplus


5、怎么用PHP来做MVC

①是一个思想、模式、编码习惯

②M:modle负责决定业务数据怎么存、怎么取

    V: view根据modle规则来负责数据怎么展现,展现成什么样

   C: control往往把view产生的数据取出来,还要过滤、提交给modle

好处:低耦合性、重用性高,生命周期成本低,维护方便

缺点:小项目没有产品化价值,根本没必要MVC

            复杂的MVC会影响性能,在PHP也较明显。


有自己的理解和思考

6、PHP安全

不安全的因素有:

①PHP安全配置

1.safe_mode拒绝执行system等系统函数,防止访问系统中的关键文件

2.关闭一些危险函数。如:PHPinfo(),设置disable_functions

3.关闭register_globals(如$_POST会被注册为全局变量)

4.还有很多配置(手册)

  ②用户数据交互产生的数据过滤

③sql注入以及mysql的安全配置

④程序上的疏忽(get参数、二次安全验证、超时验证、文件上传等)

⑤来自apache的漏洞

⑥Linux防火墙的配置包括apache连接优化配置等等

7、PHP缓存用法

①缓存是任何一个web应用都有可能用到的,以一个新闻门户来看

用xml静态文件保存序列化后的array数据

或直接生产html文件

使用memcached等第三方缓存

数据库做缓存表处理

还有诸如APC,大型项目中常用(1.编译并缓存你的PHP代码[opcode]  2.缓存你的用户数据),类似的还有xcache


8、PHP和弱类型

①无需申明变量类型,直接使用

②在运行的时候确定值

③牺牲一些性能来确保简单可用、相对安全

未来的硬件发展会促使更多的弱类型语言成为主角


9、PHP版本控制

①协作开发

②责任人溯源

③需求变更适应

④新老客户版本控制

和档案库同理,在团队化开发,版本控制是及其重要的 


10、PHP好还是java好

呵呵





猜你喜欢

转载自blog.csdn.net/qq_34642668/article/details/77253184