PHP经典面试题集锦
职场PHP经典面试题集锦
学习啦在线学习网PHP是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。以下是小编为大家搜索整理的PHP经典面试题集锦,希望能给大家带来帮助!
PHP经典面试题集锦
1. 求$a的值
复制代码代码如下:
$a = "hello";
学习啦在线学习网$b = &$a;
unset($b);
学习啦在线学习网$b = "world";
echo $a;
2. 求$b的值
复制代码代码如下:
$a = 1;
$x = &$a;
$b = $a++;
echo $b;
3. 写出一个函数实现 删除指定目录包括其下的所有子目录以及文件
4. 写一个函数,算出两个文件的相对路径,如:
$a = '/a/b/c/d/e.php';
$b = '/a/b/12/34/c.php';
javascript 基础知识部分
1. 谈谈js实现继承的几种方式,并写出demo
学习啦在线学习网2. 谈谈你熟悉的js框架,并实现下面DOM元素的获取
要求找到drag="true" 并且 index="1" 或 无index属性的div
学习啦在线学习网提示: 如果不能一次写出,请完成下来步骤
1. 找到drag="true" 并且 index="1"
学习啦在线学习网2. 找到drag="true" 并且 无index属性的
3. 将二者联立起来得到
3. 实现一个遮罩层效果,要求要显示的元素在页面上居中显示
4. 闭包知识考察
复制代码代码如下:
学习啦在线学习网function step(a){
return function(x){
return x+a++;
}
}
var a = step(10);
学习啦在线学习网var b = step(20);
alert(a(10));
alert(b(20));
学习啦在线学习网var a="123abc";
学习啦在线学习网alert(typeof(a++));
alert(a);
MySQL 知识部分
1. 某内容管理系统中,表message有如下字段
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量
学习啦在线学习网创建上表,写出MySQL语句
学习啦在线学习网2. 同样上述内容管理系统:表comment记录用户回复内容,字段如下
学习啦在线学习网comment_id 回复id
id 文章id,关联message表中的id
学习啦在线学习网comment_content 回复内容
学习啦在线学习网现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
学习啦在线学习网文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示为0
学习啦在线学习网3. 上述内容管理系统,表category保存分类信息,字段如下
学习啦在线学习网category_id int(4) not null auto_increment;
categroy_name varchar(40) not null;
学习啦在线学习网用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单[可使用PHP,JAVASCRIPT,HTML]
学习啦在线学习网Mysql 知识扩展部分
4. 系统需要对分类表进行扩展,使它能支持无限级别分类,请设计这个表结构,并根据你的设计完成下述场景
学习啦在线学习网1. 查找隶属指定分类下的所有文章(包含子分类下的所有文章)
学习啦在线学习网2. 查找指定文章的分类到根分类的层级,比如:
学习啦在线学习网文章"Mysql优化心得" 它对应在 "程序设计/Mysql/运维/" 下
3. 删除分类时要求也能删除其下所有子分类
5. 系统需要对文章增加标签功能,(标签与文章是多对多的关系),用于实现"相关文章"功能.请设计这个表结构,
并根据你的设计完成下述场景.
学习啦在线学习网1. 查找 与指定文章最相近的五篇文章 (相似度的'算法 以相同标签的数量作为依据,数量越大说明越相似)
综合知识部分:
学习啦在线学习网1. 谈谈你对Cookie 与 Session 的理解,它们的适用场景是什么,如有可能可阐述下在多种应用下Session如何共享的思路
2. 谈谈你对单点登录的理解,比如原理与实现,以及实现过程中有哪些问题需要注意
学习啦在线学习网3. 谈谈你对MVC的理解,MVC的缺点是什么,如果让你实现一个MVC框架,你想怎样实现?
4. 谈谈你平常工作中使用过的权限管理部分,你是如何理解与实现的?
PHP应聘面试题
1、
学习啦在线学习网echo -10%3;
?>
答案:-1。
考查:优先级。
因为-的优先级比%求余的优先级低,也就是-(10%3)。
2、print (int)pow(2,32);
答案:0
学习啦在线学习网3、//file1.php
$a = '123';
?>
//file2.php
学习啦在线学习网echo include('file1.php');
?>
答案:1.
考查:返回值。
学习啦在线学习网因include()也是一个函数,有返回值。在成功时返回1,失败时返回错误信息。如果被包含的文件有return,则inculde()成功时返回该文件的返回值。
4、
$count = 5;
学习啦在线学习网function get_count() {
学习啦在线学习网static $count = 0;
return $count++;
}
++$count;
get_count();
echo get_count();
?>
答案:1.
考查:static和++。
学习啦在线学习网因static $count,所以只在第一次调用get_count的时候对$count赋值为0,第二次再进来这个函数,则不会第二次赋值。其次就是return $count++和return ++$count了,前者先返回,后者先++再返回。
5、
$arr = array(0 =>1,'aa' => 2,3,4);
foreach($arr as $key => $val){
学习啦在线学习网print($key == 'aa' ? 5 : $val);
}
?>
答案:5534.
考查:类型转换。
因遍历数组第一次的时候,$key和aa的比较实际就是0和aa的比较,一个是int一个
PHP语言常用的面试题
一.用PHP打印出前一天的时间格式是:
YYYY-MM-DD HH:II:SS
echo date(“Y-m-d H:i:s”, time()-24__3600);
二.echo(),print(),print_ r()的区别:
echo是PHP语句, print和print_ r是函数,语句没有返回值,函数可以有返回值(即便没有用)
学习啦在线学习网print( )只能打印出简单类型变量的值(如int, string)
print_ r( )可以打印出复杂类型变量的值(如数组,对象)
三.MYSQL取得当前时间的函数是?格式化日期的函数是:
学习啦在线学习网now() DATE_FORMAT(date , format)
select now();
select curdate();
select curtime();
四.对于大流量的网站,您采用什么样的方法来解决访问量问题?
可以根据需要以下方法
1、PHP缓存
学习啦在线学习网2、生成html静态页面
3、使用主从数据库,把数据库的读写分开
学习啦在线学习网4、使用负载均衡器和多台服务器
五.用pHp写出显示客户端Ip与服务器Ip的代码:
客户端Ip: echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');
服务器Ip:
学习啦在线学习网客户端Ip: echo $_SERVER[‘REMOTE_ADDR’]; 或者: getenv('REMOTE_ADDR');
服务器Ip:
程序代码
学习啦在线学习网$serverIp=gethostbynamel(webpro01);
echo Server Ip Address:
;
学习啦在线学习网for ($i=0; $i
echo
学习啦在线学习网.$netscapeftp[$i];
}
echo
;
六.语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?
学习啦在线学习网1、pHp程序执行到require()时,只会读取一次档案,故常放在程序开头,档案引入后pHp会将网页档重新编译,让引入档成为原先网页的一部分。
学习啦在线学习网2、pHp程序执行到include()时,每次皆会读取档案,故常用于流程控制的区段,如条件判断或循环中。
3、require() :如果文件不存在,会报出一个fatal error.脚本停止执行
4、include() : 如果文件不存在,会给出一个 warning,但脚本会继续执行
5、推荐使用require_once()和include_once(),可以检测文件是否有重复包含。
七.如何修改SESSION的生存时间.
方法一:
将php.ini 中session.gc_maxlifetime 设置为 9999(默认为 1440)重启 apache 即可
方法二:
$savepath = .'session_save_dir';
$lifeTime = 24 __ 3600;
session_save_path($savepath);
session_set_cookie_params($lifeTime);
session_start();
方法三:
学习啦在线学习网setcookie() 或session_set_cookie_params($lifeTime) 在pHp中,heredoc是一种特殊的字符串,它的结束标志必须?
八.heredoc的.语法是用<<<加上自己定义成对的标签,在标签范围鹊奈淖质游一个字符串
学习啦在线学习网$str = <<
I saw a dog yesterday.
EOD;
需要注意的是:
1、<<<后面的EOD是自己定义的标签名称,必须要成对,而且后面要加上分号表示结束。
2、结束的标签前面最好不要有空格,以免发生错误
学习啦在线学习网九.在pHp中error_reporting这个函数有什么作用?
error_reporting( ) 用于设置php的侦听错误的级别.[用来配置错误信息回报的等级].
十.检测一个变量是否有设置的函数是?是否为空的函数是?
学习啦在线学习网isset($a)empty($a)
简答题:
1. 简述Linux下安装PHP的过程?
2. 简述Linux下安装Mysql的过程?
3. 简述Linux下安装apache的过程?
4. 监视一个日志文件a.log 的最新内容?
学习啦在线学习网5. 查看当前服务器的HTTP连接有哪些?
6. 说说Linux下的find命令和grep命令的区别?
学习啦在线学习网7. 如何实现每天0点钟重新启动服务器?
学习啦在线学习网8. 请写出5个常用的unix操作命令?
9. rm -rf __ 是什么意思,其中 f 有什么作用?
10. Linux压缩文件和解压文件的命令?
学习啦在线学习网11. Linux的目录进行遍历,编写shell脚本?
学习啦在线学习网12. apache默认使用进程管理还是线程管理?如何判断并设置最大连接数?
学习啦在线学习网13. 当前目录下有一个文件为 showme.sh , 如何修改文件,将其指定为使用 /bin/bash 运
行,如何修改其权限为所有用户可读写,所有用户可执行?
14. 当前目录下有一个文件为 showme.sh,如何修改其所有人为root?
15. 在linux 请写出一种自动定时备份某一个文件的方法和具体实施流程,要求每天凌晨3点的时候备份一次。