background image

  回复: PHP

 

面试题及答案

--------------------------------------------------------------------------------

PHP 新手面试题总 100 分

简述题

(50 分)

1、用 PHP 打印出前一天的时间格式是 2006-5-10 22:21:21(2 分)

echo date('Y-m-d H:i:s', strtotime('-1 day'));
2、echo(),print(),print_r()的区别(3 分)

echo 是 PHP 语句, print 和 print_r 是函数,语句没有返回值,函数可以有返回值(即便没有用) 
print 只能打印出简单类型变量的值(如 int,string) 

print_r 可以打印出复杂类型变量的值(如数组,对象) 
echo -- 

 

输出一个或者多个字符串

3、能够使 HTML 和 PHP 分离开使用的模板(1 分)
smarty,Heyes Template Class 等

5、使用哪些工具进行版本控制?(1 分)
VS Server on Apache 作服务端,WinCVS 作客户端;Subversion on Apache/DAV 做服务

,TortoiseSVN 做客户端,或者 Subclipse 做客户端.

6、如何实现字符串翻转?(3 分)

strrev()
---------------------------------------------------------------

7、优化 MYSQL 数据库的方法。(4 分,多写多得)
(1).选取最适用的字段属性,应该尽量把字段设置为 NOT NULL,这样在将来执行查询的时候,数据库不用去比

NULL 值。

(2).使用连接(JOIN)来代替子查询(Sub-Queries)

(3).使用联合(UNION)来代替手动创建的临时表
(4).

 

尽量少使用

LIKE 关键字和通配符

(5).使用事务和外键
8、PHP 的意思(送 1 分)

Hypertext Preprocessor
9、MYSQL 取得当前时间的函数是?,格式化日期的函数是(2 分)

now(), DATE_FORMAT(date,format)
10、实现中文字串截取无乱码的方法。(3 分)

mb_substr()
---------------------------------------------------------------

11、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1 分)
TortoiseSVN-1.2.6 svn-1.2.3

12、您是否用过模板引擎? 如果有您用的模板引擎的名字是?(1 分)
smarty

13、请简单阐述您最得意的开发之作(4 分)
14、对于大流量的网站,您采用什么样的方法来解决访问量问题?(4 分)
首先,确认服务器硬件是否足够支持当前的流量
其次,优化数据库访问。
第三,禁止外部的盗链。
第四,控制大文件的下载。
第五,使用不同主机分流主要流量
第六,使用流量分析统计软件。
-----------------------------------------------------------------
15、用 PHP 写出显示客户端 IP 与服务器 IP 的代码 1 分)

function get_client_ip() {#
if(getenv('HTTP_CLIENT_IP')) {

$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {

$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {

$client_ip = getenv('REMOTE_ADDR');
} else {