分享一波PHP最新的面试题
1:请自我介绍一下?
答: 我叫xxx,来自上海,20xx年毕业于xx大学计算机xx系,毕业后在武汉从事了x年的PHP开发工作,公司是一个外包公司,主要做微信开发、公众号推广、商城、论坛的开发等。
2:你负责哪些项目?
答: 由于我们公司是一个外包公司,不可能只做一个项目,公司的项目都是交叉进行的,论坛、微信、商城我都做过。
3:使用什么前端框架和后端框架?
答:根据自己的情况回答。比如TP框架:运用的mysql+apache+PHP进行开发,因为TP框架是一个免费开源的、轻量级的PHP开发框架,而且是我们中国人自己开发的,也是国内用的比较多的,各种资料也比较齐全。
4:你做过哪些模块?
答:登陆注册、商品管理、购物车模块、订单管理等。
5:请用简单的语言告诉我PHP是什么?
答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言。
6:什么是MVC?
答:MVC由三个部分组成,分别是Model(模型)、View(视图)和Controller(控制器),使用PHP MVC可以更高效地管理好3个不同层的PHP代码。
Model:数据信息存取层。
View:view层负责将应用的数据以特定的方式展现在界面上。
Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
7:PHP支持多继承吗?
答:不可以。PHP类只能继承一个父类,并用关键字“extends”标识。
8:请问PHP中echo和print有什么区别?
答:这两个的功能都是将一些值打印在屏幕上。两者的区别在于:echo用来输出字符串,显示多个值的时候可以用逗号隔开,而且只支持基本类型。而print不仅可以打印字符串值, 而且可以打印函数的返回值。
9:http 协议中的 post 和 get 有何区别?
答:
10:PHP中获取图像尺寸大小的方法是什么?
答:getimagesize()获取图片的尺寸;Imagesx()获取图片的宽度;Imagesy()获取图片的高度。
11:PHP中的PEAR是什么?
答:PEAR也就是为PHP扩展与应用库(PHP Extension and Application Repository),它是一个PHP扩展及应用的一个代码仓库。
12:如何用PHP和MySQL上传视频?
答:
13:PHP中的错误类型有哪些?
答:PHP中遇到的错误类型大致有3种。
(1)提示notice:这基本都是一些比较正常的信息而非错误,有些甚至不会展示给用户。比如访问不存在的变量。
(2)警告warning:这类一般是一些常规错误,会将警告信息展示给用户,但是不会影响代码的输出,比如包含一些不存在的文件。
(3)错误error:这是比较严重的错误,会影响整个代码的运行,比如访问不存在的PHP类。
14:如何在PHP中定义常量?
答:在PHP中,可以使用Define()来定义常量,如下:
define(“Newconstant”, 30)
15:foo()和@foo()之间有什么区别?
答:foo() 会执行这个函式,任何解译错误、语法错误、执行错误都会在页面上显示出来。
@foo() 在执行这个函数时,会隐藏所有上述的错误讯息。
很多应用程式都使用 @mysql_connect() 和 @mysql_query 来隐藏 mysql 的错误讯息,我
认为这是很严重的失误,因为错误不该被隐藏,你必须妥善处理它们,可能的话解决它们。:
16:MYISAM 和 INNODB 的区别
答:1. myisam 不支持事务,innodb 支持事物
-
myisam 是表级锁,innodb 是行级锁
-
msIsam 支持全文索引,innodb 不支持全文索引
-
myisam 常用于 select 较多的数据库,innodb 常用于更新较多的数据库
17:排序都是有哪些,写出一种排序
答:排序有:冒泡排序,简单选择排序,直接插入排序,shell 排序,堆排序,归并排序,快速排序
例如:快速排序
function quick_sort($array){
$length = count($array);
if($length<=1){
return $array;
}
$privotkey = $array[0];
$left_array = array();
$right_array = array();
for($i=0;$i<$length;$i++){
if($array[$i]<=$privotkey){
$left_array[] = $array