当前位置: 首页 > 工具软件 > PHP XTemplate > 使用案例 >

php面试用试卷会不会档案,PHP面试题收集

有德业
2023-12-01

提示:答案不唯一,祝各位PHPer找到称心的好工作!

1、PHP是啥东东?(PHP的意思)

PHP是一个基于服务端来创建动态网站的脚本语言。(PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor")

2、PHP获取客户端和服务器端IP?

客户端:$_SEVER['REMOTE_ADDR'] 服务端:$_SERVER["SERVER_ADDR"]

3、PHP如何检测一个日期的有效性?

var_dump(checkdate(11,21,2012)); //返回true or false

4、数据库去除重复查询

select distinct `title` from `table`;

5、冒泡算法

 $arr = array(345,4,17,6,52,16,58,69,32,8,6666,234); for($i=1; $i=$i; $j--){              if($arr[$j] 

6、echo,print,print_r区别?

echo    输出,不是函数,没有返回值,故输出速度比print快。 print   打印字符串,本身是个函数,有返回值。 print_r 则是打印复合类型  如数组 对象

7、表单中 get与post提交方法的区别?

答:get用户端将数据加到URL后,格式为”?字段1=输入数据1&字段2=输入数据2&..."。

由于get提交参数后会在地址栏中显示出来,所以会产生严重的安全问题。

get传输的数据量小,get传输的数据量小,这主要是因为受url长度限制;而post可以传输大量的数据。

get限制表单中数据集的范围为asc2码,而post可以支持整个iso10646字符集。

8、session与cookie的区别?

cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。

9、数据库中的事务是什么?

答:事务就是一系列的操作,这些操作完成一项任务。只要这些操作里有一个操作没有成功,事务就操作失败,发生回滚事件。即撤消前面的操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都成功有提交数据库,这样保证费时的操作都是有效操作。

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

echo date('Y-m-d H:i:s',mktime(date("H"), date("i"), date("s"), date("m") , date("d")-1, date("Y")));

echo date('Y-m-d H:i:s',date(strtotime("-1 day")));

echo date('Y-m-d H:i:s', strtotime('-1 day'));

//三种方法都可以

?>

11、能够使HTML和PHP分离开使用的模板

能够使HTML和PHP分离使用的模板引擎:Smarty,Dwoo,TinyButStrong,Template Lite,Savant,phemplate,XTemplate

12、使用哪些工具进行版本控制?

svn版本控制系统、cvs版本控制系统 等等

13、如何实现字符串翻转?

strrev()函数 用于反转字符串

14、优化MYSQL数据库的方法

1、选取最适用的字段属性

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

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

4、事务

5、锁定表

6、使用外键

7、使用索引

8、优化的查询语句

9、必要的时候用不同的存储引擎.比如InnoDB可以减少死锁.HEAP可以提高一个数量级的查询速度

10、所得皆必须,只从数据库取必需的数据

11、数据库设计方面,设计结构良好的数据库,必要的时候,去正规化,允许部分数据冗余,避免JOIN操作,以提高查询效率

12、系统架构设计方面,表散列,把海量数据散列到几个不同的表里面.快慢表,快表只留最新数据,慢表是历史存档.集群,主服务器Read & write,从服务器read only,或者N台服务器,各机器互为Master

详细见:http://tech.ccidnet.com/art/1108/20070619/1117649_1.html

15、MYSQL取得当前时间的函数是?格式化日期的函数是?

取得当前时间用 now()

DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。DATE_FORMAT(date,format)

16、实现中文字串截取无乱码的方法

1、使用mbstring扩展库的mb_substr截取就不会出现乱码了。

2、自己书写截取函数,但效率不如用mbstring扩展库来得高。

3、如果仅是为了输出截取的串,可用如下方式实现:substr($str, 0, 30).chr(0)。

17、请简单阐述您最得意的开发之作

PHPerxuqin-PHP开发者的上网首页(http://www.phperxuqin.com/)

18、对于大流量的网站,您采用什么样的方法来解决访问量问题?

1、确认服务器硬件是否足够支持当前的流量。

2、优化数据库访问。

3、禁止外部的盗链。

4、控制大文件的下载。

5、负载均衡,使用不同主机分流主要流量。

6、使用流量分析统计软件,针对问题做进一步的优化。

19、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?

1、PHP程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后PHP会将网页档重新编译,让引入档成为原先网页的一部分。

2、PHP程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。

3、require() :无条件包含,如果文件不存在,会报出一个fatal error.脚本停止执行

4、include() : 有条件包含,如果文件不存在,会给出一个 warning,但脚本会继续执行

5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。

20、如何修改SESSION的生存时间?

一:在php.ini 中设置 session.gc_maxlifetime = 1440 //默认时间

二:代码实现

$lifeTime = 24 * 3600; // 保存一天

session_set_cookie_params($lifeTime);

session_start();

21、在HTTP 1.0中,状态码301、401的含义是?如果返回“找不到文件”的提示,则可用header函数,其语句为?

301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。

401:表示未经授权

header("HTTP/1.0 404 Not Found");

22、

继续...

 类似资料: