碰见过的PHP面试题

说几个你知道的设计模式?

  • 单例模式: 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库链接php

  • 策略模式: 针对一组算法,将每个算法封装到具备共同接口的独立的类中,例如进入我的主页时,根据浏览者的不一样,给予不一样的显示与操做。mysql

  • 注册模式: 提供了在程序中有条理的存放并管理一组全局对象 (object),例如ZF框架中的Zend_Registry::set。算法

  • 适配器模式: 将不一样接口适配成统一的API接口,例如数据操做有mysql、mysqli、pdo等,可利用适配器模式统一接口sql

  • 观察者模式: 一个对象经过添加一个方法使自己变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。例如实现实现消息推送数据库

  • 装饰器模式: 不修改原类代码和继承的状况下动态扩展类的功能,例如框架的每一个Controller文件会提供before和after方法设计模式

  • 迭代器模式: 提供一个方法顺序访问一个聚合对象中各个元素,在PHP中将继承 Iterator 类数组

POST和GET有什么区别?

  • GET是从服务器上获取数据,POST是向服务器传送数据安全

  • GET是经过发送HTTP协议经过URl参数传递进行接收,而POST是实体数据,经过表单提交服务器

  • GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,通常被默认为不受限制。cookie

  • GET安全性很是低,POST安全性较高

session与cookie的区别?

  • session:存储在服务器上的php指定的目录中的(session_dir)的位置

  • cookie:存储在客户端,对于Cookie来讲是存储在用户WIN的Temp目录中的。

数据库中的事务是什么?

  • 事务:指做为一个单元的一组有序的数据库操做。若是组中的全部操做都成功,则认为事务成功,即便只有一个操做失败,事务也不成功。若是全部操做完成,事务则提交,其修改将做用于全部其余数据库进程。若是一个操做失败,则事务将回滚,该事务全部操做的影响都将取消。

MySQL数据库存储引擎有哪些?

  • MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。

  • InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。

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

echo date('Y-m-d H:i:s',time());

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

now();
date();

您是否用过模板引擎? 若是有您用的模板引擎的名字是?

smarty 模板引擎

php中传值与传引用的区别?何时传值何时传引用?

  • 按值传递:函数内对值的任何改变在函数外部都会被忽略。

  • 引用传递:函数内对值的任何改变在函数外部也能反映出这些修改。

  • 应用场景:按值传递时,php必须复制值,而按引用传递则不须要复制值,故引用传递通常用于大字符串或对象。

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

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

  • 数据库读写分离,优化数据表

  • 程序功能规则,禁止外部的盗链,控制大文件的下载

  • 使用不一样主机分流主要流量

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

  • require:无条件包含,即在一个流程里的require,不管条件成立与否都会先执行。当包含文件不存在或语法错误致命错误时,会终止程序执行。

  • include:有返回值,当包含文件不存在或语法错误致命错误,不会终止程序执行。

  • 可使用include_once();或require_once();代替。

echo、print()、print_r()、printf()、sprintf()、var_dump()有什么区别?

  • echo :是语句不是函数,没有返回值,可输出多个变量值,不能输出数组和对象,只能打印简单类型(如int,string)。

  • print :是语句不是函数,有返回值 1 ,只能输出一个变量,不能输出数组和对象,只能打印简单类型(如int,string)。

  • print_r :是函数,能够打印复合类型,例如:float、array、object等。

  • printf :是函数,把文字格式化之后输出。

  • sprintf :是函数,不打印,而是返回格式化后的文字,其余的与printf同样。

  • var_dump :函数,输出变量的内容、类型或字符串的内容、类型、长度。经常使用来调试。

相关文章
相关标签/搜索