PHP面试题集锦

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP面试题集锦相关的知识,希望对你有一定的参考价值。

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

Answer:

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

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

 

Answer:

常见的输出语句

echo()
可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。

print()
函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。

print_r()
可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,并以Array开头。但print_r()输出布尔值和NULL的结果没有意义,因为都是打印"\n"。因此用var_dump()函数更适合调试。

var_dump()
判断一个变量的类型与长度,并输出变量的数值,如果变量有值输的是变量的值并回返数据类型。此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。

3、能够使htmlphp分离开使用的模板(1分)
Answer:
 smarty,phplib

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

Answer:
svn(推荐)    git(墙裂推荐学习)   cvs
5、优化mysql数据库的方法。(4分,多写多得)
Answer:
语句方面:
1 使用索引,增加查询效率
2 优化查询语句,提高索引命中率
 
数据库涉及方面:
1 构造分库分表,提高数据库的存储和扩展能力
2 根据需要使用不同的存储引擎
6、谈谈你对PHP的理解(送1分)
Answer:
       PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写。PHP原始为 Personal Home Page的缩写,现已经正式更名为 "PHP: Hypertext Preprocessor"的缩写。注意不是“Hypertext Preprocessor”的缩写,这种将名称放到定义中的写法被称作递归缩写。
优势所在:

1、开放的源代码:

所有的PHP源代码事实上都可以得到。 

2、PHP是免费的:

和其它技术相比,PHP本身免费且是开源代码。 

3、php的快捷性:

程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言。编辑简单,实用性强,更适合初学者。 

4、跨平台性强:

由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS、Mac OS下。 

5、效率高:

PHP消耗相当少的系统资源。 

6、图像处理:

用PHP动态创建图像 

7、面向对象:

在php4,php5 中,面向对象方面都有了很大的改进,php完全可以用来开发大型商业程序。 

8、专业专注:

PHP支持脚本语言为主,同为类C语言。

技术应用

1,伪静态

2,静态页面生成

3,数据库缓存

4,过程缓存

5,div+cssw3c标准

6,大负荷

7,分布式

8,flex

9,桌面程序应用(不擅长)

10,支持MVC模型

11,Smarty模版引擎

7.对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
Answer
1 有效使用缓存,增加缓存命中率
2 使用负载均衡
3 对静态文件使用CDN进行存储和加速
4 想法减少数据库的使用
5 查看出现统计的瓶颈在哪里
8.语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们? (2分)
Answer:
在失败的时候:
include产生一个warning,而require产生直接产生错误中断
 
require在运行载入
include在运行载入
 
require_once
include_once
 
9.mysql_fetch_row() 和mysql_fetch_array之间有什么区别? (1分)
Answer:
mysql_fetch_array() 是 mysql_fetch_row() 的扩展版本。除了将数据以数字索引方式储存在数组中之外,还可以将数据作为关联索引储存,用字段名作为键名。 
 
10.GD库是做什么用的? (1分)
Answer:
动态的开放的图片处理库
 
11.谈谈你对MVC模式的理解
Answer:
MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。
MVC中的模型、视图、控制器它们分别担负着不同的任务。
 
视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受用户的输入。视图不进行任何业务逻辑处理。
模型: 模型表示业务数据和业务处理。相当于JavaBean。一个模型能为多个视图提供数据。这提高了应用程序的重用性
控制器: 当用户单击Web页面中的提交按钮时,控制器接受请求并调用相应的模型去处理请求。然后根据处理的结果调用相应的视图来显示处理的结果。
 
MVC的处理过程:首先控制器接受用户的请求,调用相应的模型来进行业务处理,并返回数据给控制器。控制器调用相应的视图来显示处理的结果。并通过视图呈现给用户。
 
(试题来源于网络,如有侵犯到您的权益,请联系我。谢谢!)

 





以上是关于PHP面试题集锦的主要内容,如果未能解决你的问题,请参考以下文章

2021年最新PHP 面试笔试题汇总

个人收集PHP面试题集

新浪PHP开发工程师面试笔试题

SQL经典面试题集锦

java面试——SpringMVC面试题集锦

.net面试题集锦(2