PHP面试题

时间:2020-12-02 08:39:05 面试问题 我要投稿

PHP面试题汇编

  PHP面试题汇编(一)

PHP面试题汇编

  填空题

  1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在预定义变量____中;而链接到当前页面的URL记录在预定义变量____中。

  2.执行程序段将输出____。

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

  4.数组函数 arsort 的作用是____;语句 error_reporting(2047)的作用是____。

  5.PEAR中的数据库连接字符串格式是____。

  6.写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把scrīpt标记及其内容都去掉):____。

  7.以Apache模块的方式安装PHP,在文件http.conf中首先要用语句____动态装载PHP模块,然后再用语句____使得Apache把所有扩展名为php的文件都作为PHP脚本处理。

  8.语句 include 和 require 都能把另外一个文件包含到当前文件中,它们的区别是____;为了避免多次包含同一文件,可以用语句____来代替它们。

  9.类的属性可以序列化后保存到 session 中,从而以后可以恢复整个类,这要用到的函数是____。

  10.一个函数的参数不能是对变量的引用,除非在php.ini中把____设为on.

  11.SQL中LEFT JOIN的含义是____。如果 tbl_user记录了学生的姓名(name)和学号(ID),tbl_score记录了学生(有的学生考试以后被开除了,没有其记录)的学号(ID)和 考试成绩(score)以及考试科目(subject),要想打印出各个学生姓名及对应的的各科总成绩,则可以用SQL语句____。

  12.在PHP中,heredoc是一种特殊的字符串,它的结束标志必须____。

  PHP面试题汇编(二)

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

  $a = date("Y-m-d H:i:s", strtotime("-1 day"));

  print_r($a);

  2、echo(),print(),print_r()的区别(3分)

  echo 和print不是一个函数,是一个语言结构

  int print(string $arg), 只有一个参数

  echo arg1,arg2; 可以输出多个参数,返回void

  echo和print只能打印出string,不能打印出结构

  print_r能打印出结构

  比如

  $arr = array("key"=>"value");

  print_r($arr);

  3、能够使HTML和PHP分离开使用的模板(1分)

  smarty,phplib

  4、使用哪些工具进行版本控制?(1分)

  svn,git,cvs

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

  英文:

  strrev($a)

  中文或其他文字:

  中文:GB2312, 代码是使用GB2312编码

  

  function reverse($str)

  {

  $ret = "";

  len=mbstrwidth(str,"GB2312");

  for(i=0;i< len;i++)

  {

  arr[]=mbsubstr(str, $i, 1, "GB2312");

  }

  return implode("", array_reverse($arr));

  }

  print_r(reverse("你好"));

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

  6、优化MYSQL数据库的方法。(4分,多写多得)

  语句方面:

  1 使用索引,增加查询效率

  2 优化查询语句,提高索引命中率

  数据库涉及方面:

  1 构造分库分表,提高数据库的存储和扩展能力

  2 根据需要使用不同的存储引擎

  7、PHP的意思(送1分)

  超级文本预处理语言

  Hypertext PreProcessor

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

  CURRENT_TIMESTAMP()

  DATE_FORMAT()

  select DATE_FORMAT("2011-11-21 10:10:10", "%Y-%m-%d");

  9、实现中文字串截取无乱码的方法。(3分)

  mb_substr($str, 1, 1, "GB2312");

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

  10、您是否用过版本控制软件? 如果有您用的版本控制软件的名字是?(1分)

  svn

  git

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

  smarty

  12、请简单阐述您最得意的`开发之作(4分)

  XXX

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

  1 有效使用缓存,增加缓存命中率

  2 使用负载均衡

  3 对静态文件使用CDN进行存储和加速

  4 想法减少数据库的使用

  5 查看出现统计的瓶颈在哪里

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

  14、用PHP写出显示客户端IP与服务器IP的代码1分)

  $_SERVER["REMOTE_ADDR"]

  $_SERVER["SERVER_ADDR"]

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

  在失败的时候:

  include产生一个warning,而require产生直接产生错误中断

  require在运行前载入

  include在运行时载入

  require_once

  include_once

  16、如何修改SESSION的生存时间(1分).

  session_set_cookie_params

  17、有一个网页地址, 比如PHP研究室主页: http://www.phpv.net/,如何得到它的内容?($1分)