面试题整理

好荣幸能够收到淘宝的面试通知,这里整理下php相关的面试题,不管难易,加深下自己的记忆

1,post和get传值的区别。

主要区别是,get是通过地址栏传值,大小限制在2kb,post一般通过表单传值,默认是不限制数据大小。get传值效率要比post高,但是安全性上post要好很多。

Get方式提交的参数及参数值会在地址栏显示,不安全,而Post不会,比较安全

2,include和require的去吧。

include在处理失败时会发出一个警告,然后程序继续运行,require在失败时会产生致命 错误,程序无法继续执行。

3,如何优化mysql数据库

对查询比较频繁的字段设置索引;单表数据不要过多,适当的采用分割;采用合适的表引擎,如主要是读的采用myisam,写多的采用innodb;对于大数据采用读写分离master-slavers。

4,cookie和session的区别

具体来说cookie机制采用的是在客户端保持状态的方案,而session机制采用的是在服务器端保持状态的方案。
用户可以决定是否保存cookie,但不能决定是否保存session

5,http状态码
200 请求成功ok
301 请求的URL已移走(永久)
302 found已找到,请求的URL已移走(临时)。
400 bad request 告诉客户端,它发送了一个错误的请求。
500 服务器遇到一个错误,使其无法为请求提供服务.
502 Bad Gateway(网关故障)

6,http报文头部
host
referef
user-agent
accept
7,php4到php4,mysql4到5的重大改变

Php5  支持完善类与对像
Mysql 支持视图 事务等

 8,写出一些php魔幻方法;

__construct 初始化 构造函数
__destruct 卸载 析构函数
__autoload 自动加载函数
__call   调用不存在的类的函数的时候得处理方法,__call 失败,就调用父类方法,依此类推
__get   获取属性值
__set()   设置属性值
__isset() 测定变量是否设定用的函数,传入一个变量作为参数,如果传入的变量存在则传回true,否则传回false
__unset() 删除指定的变量且传回true,参数为要删除的变量。
__clone();   克隆对象
__toString(); 进行对象的类型转换
__sleep();    
__wakeup();
当一个对象被串行化,PHP会调用__sleep方法(如果存在的话). 在反串行化一个对象后,PHP 会调用__wakeup方法. 这两个方法都不接受参数. __sleep方法必须返回一个数组,包含需要串行化的属性.
一些编译php时的configure 参数

原文地址:https://www.cnblogs.com/jami918/p/3597593.html