个人气场 技术实力 职业规划及贡献
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好
呵呵