php 经典面试题及答案非常实用
1、表单提交 get 和 post 有何区别? 答: 的方式是把数据在地址栏中发送, 传送的数据量较小, get get 不能大于 2KB。 post 传送的数据量较大,一般被默认为不受限制。但理论上,IIS4 中最大量为 80KB,IIS5 中为 100KB。 2、用 PHP 打印出前一天的时间格式是 2006-5-10 22:21:21 echo date("Y-m-d H:i:s",time()-(3600*24));或 echo date("Y-m-d H:i:s",strtotime("-1 day")); 3、php 中 include 和 require 的区别? 这两种结构除了在如何处理失败之外完全一样。include() 产生一个警告而 require() 则导致一个致命错误。换句话说,如果你想在遇到丢失文件时停止处 理页面就用 require()。include() 就不是这样,脚本会继续运行。 4、echo(),print(),print_r()的区别 echo 可以接多个参数,print 只能接一个参数,它们都是 PHP 的语言结构,print_r 是递规打印,用来打印数组或对象 5、能够使
HTML 和 PHP 分离开使用的模板 smarty,phplib,SmartTemplate 6 你如何理解 MVC 模式? 首 先说一下框架,框架:就是别人把一些底层,常用操作.比如数据操作(增,删, 改,查)写好.你来直接用.其它的功能要自己来做。MVC:
设计模式,M 模 型,V 显 示,C 控制.现在许多框架都是基于 MVC 来做的把逻辑和显示分开.比如你要换页 面,只需要改 V 里面的东西并不需要再去变动
程序!(详细的东西可以 上网上查 一下) 7、如何实现
PHP、
JSP 交互? PHP 提供了支持 JAVA 的类库文件,或者通过 HTTP 协议来交互数据 8、使用哪些工具进行版本控制? VSS,CVS,SVN 9、如何实现字符串翻转?
不考虑中英文混合,不是最优算法,不用 php 库函数翻转字符串: function str_to_reverse( $str ){
for($length=0;$str[$length]!=null;$length++){;} $strlength = $length-1;
unset($length);
for($start=0,$end=$strlength;$start<$end;$start++,$end--){ $temp = $str[$start]; = = $str[$end]; $temp;
$str[$start] $str[$end] }
unset($temp,$start,$end,$strlength); return } 10、优化 MYSQL 数据库的方法。 1) 将 where 中用的比较频繁的字段建立索引,联合索引。 2) 保证单表数据不超过 200W,适时分割表。 3) 避免使用长连接。 4) 修改 myf 里面的各项参数,比如最大连接数,查询缓存等。根据你的服 务器内存来最大化调节那些配置参数。 5) 针对需求,使用正确的表引擎,是 myisam 或是 innodb。 11.用 PHP 写出显示客户端 IP 与服务器 IP 的代码: echo $_SERVER['REMOTE_ADDR'] //客户端 ip echo $_SERVER['SERVER_ADDR'] //服务器端 ip $str;
12、apache+mysql+php 实现最大负载的方法 1)问的太笼统,生成静态 html 页面,squid 反向代理,apache,
mysql 的负载均衡。 2) 可以采取数据缓存的方法,我们通常在统计数据的时候,需要在原始数据的 基础上经过计算等一系列操作,才会得
到最终的结果,如果每做一个
查询都需要 这样一系 列操作,当数据量大时,势必会带来很多问题。可以建立一个结果表, 写一个脚本,用 crontab 定时触发脚本去原始表取数据,计算,写入到结果表, 前端查 询从结果表取数据,这也是比较
常用的一种做法。 3)采用分布式,多个 apache,多个 my
sql,其实就是 dns 负载均衡,dns 根据 当前用户解析几个 ip 的 ping 值,将用户转移到某一台最快的服务器,或者平均 分配。 4)money 不是
问题的话,可以考虑 F5 硬件负载均衡! 5)可以使用 Microsoft Windows Server
系统的负载均衡设置