php面试题总汇

概述简答题
1. 表单中get和post提交方式的区别?
答:get通过url传递参数,从服务器获取数据;post通过http协议提交form表单,向服务器提交数据。get传输的数据量较小,最大2kb;post没有限制。安全性post较高。
2. 单引号和双引号的区别
答:对变量的解析不同:
单引号字符串中出现的变量不会被变量值替代。即PHP不会解析单引号中的变量,而是将变量名原样输出。
双引号字符串最重要的一点是其中的变量名会被变量值替代,即可以解析双引号中包含的变量。
单引号只转义单引号 ’’ 和 \ 反斜杠,双引号转义特殊字符,如$.
单引号执行速度快,双引号慢。

3. session会话机制?Session与cookie的区别?如何修改session的生存时间
答:首先,服务器判断客户端是否存在指定的cookie值。

isset($_COOKIE['PHPSESSID']);

// 'PHPSESSID’为session_name()的值,默认PHPSESSID,在php.ini中可以自行配置,一般也没人去改它。
第二步: 存在且值也匹配。就把服务器端指定的文件中的所有值读出来,存入到$_SESSION中,添加值也到这个专门的文件。
isset($_COOKIE[‘PHPSESSID’]);
session_id() == $_COOKIE[‘PHPSESSID’]; // 相当于两地的值匹配
第三步,不存在或者两处的值不等,那么就给客户端生成一个符合要求的值。 同时,在服务器上生成文件,存储相应的session值。
session_id() != $_COOKIE[‘PHPSESSID’];
setcookie(‘PHPSESSID’, session_id()); // 还涉及时间路径等,就不详述
总结一下:当用户进行操作,客户端向服务器发送请求时,服务器半段客户端cookie是否存在session_id,如果不存在,则服务器开启session_start(),同时生成session_id,将session_id发送给客户端存入cookie中。

4. echo,print,print_r ,var_dump的区别
答:
5. Include和require 和include_once、require_once的区别?
答:
6. http状态码
答:
7. Php中值传递和引用传递的区别?分别在什么时候使用
答:
8. Isset()和empty()两个函数的作用?区别
答:
9. 什么是抽象类和接口?抽象类和接口有什么不同和相似的地方
答:
10. 类中如何定义常量,在类中如何调用常量?如何在类外调用常量
答:
11. 显示客户端ip和服务器ip
答:
12. Php的权限修饰符
答:
13. Php的构造函数和析构函数?及使用
答:
14. Php的垃圾回收机制?gc(Garbage Collection)
答:
15. $this和self、parent这三个关键词分别代表什么?在哪些场合下使用
答:
16. 什么是事务?事务的作用?有哪些特性?使用场景
答:
17. Mysql的select查询有哪些方式?区别
答:
18. Mysql的数据库引擎有哪些?区别
答:

19. 无限分类的实现原理
答:
20. 什么是sql注入?怎么防止
答:

21. 对于mvc的理解
答:
22. 请举例说明在你的开发过程中用什么方法来加快页面的加载速度
答:
23. 请写出数据类型(int,char,varchar,datetime,text)的意思?varchar和char的区别
答:
24. 获取当前执行脚本路径,包括所得的参数
答:
25. @符号的作用
答:
26. 什么情况使用分表分库?怎么使用,按照什么原则来拆分
答:
27. 什么是nosql?有哪些软件?区别
答:

28. 常用字符转义写法

29. 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题
答:
30. 请说明在php.ini中safe——mode开启之后对于PHP系统函数的影响
答:
31. 介绍一下常见的SSO(单点登陆)方案(比如dedecms整合discuz的passport)的原理
答:
32. 用PHP打印出前一天的时间格式是2006-5-10 22:21:21
答:

33. 开启php错误报告的方法是
答:
34. PHP中将对象或者数组序列化的函数是
答:
35. error_reporting这个函数有什么作用
答:
36. 你如何利用 PHP 解决 HTTP 的无状态本质
答:
37. Restful是什么?谈谈restful
答:
38. Oauth2.0是什么?做什么用的?谈谈oauth2.0
答:
39. 谈谈对http协议的理解
答:

40. 数据库mysql函数 以mysql_ 开头的函数有哪些,分别的作用
答:
41. GD库是做什么用的?
答:
42. 文件操作函数 有哪些 如fopen()
答:
43. 路径操作函数有哪些?如 basename(path),dir()
答:
44. Curl是什么?具体怎么用,作用,使用场景?
答:
45. 对Wordpress快速建站的了解
答:
46. 什么是OOP?什么是类和对象?OOP的三大特性是什么?
答:
47. 作用域操作符::如何使用?都在哪些场合下使用?
答:
48. 什么是抽象方法?
答:
49. final 关键字的应用应注意的问题?Class关键词前可以有哪些修饰词?
答:
50. 如果一个类既要继承一个父类,又要实现多个接口,该如何写?
答:

51. PHP提供了2套正则表达式函数库,分别是哪两套?
答:

52. 解释PHP中单例模式
答:

53. 分页原理是什么
答:
54. 对json数据格式的理解
答:

55. 堆和栈的区别
答:
56. 如何重载父类的方法
答:

57. Apache+mysql+php实现最大负载的方法
答:
58. 什么是页面静态化?html静态化的好处
答:
59. 如何抛出和捕获异常
答:
60. 常见的关系型数据库管理系统产品有
答:

61. php查询mysql数据库时,查询中文结果时出现的乱码。怎么解决
答:

编程题
62. 有一个网页地址 http://www.domain.com/xxx.php,如何得到它的内容
答:
63. 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
答:
64. 二维数组排序, a r r 是 数 据 , arr是数据, arrkeys是排序的健值,$order是排序规则,0是升序,1是降序
答:
65. 冒泡排序
答:
66. 实现中文字串截取无乱码的方法
答:
67. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名
答:
68. 使用五种以上方式获取一个文件的扩展名
答:
69. 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组
答:
70. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
答:
71. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
答:
72. 简述如何得到当前执行脚本路径,包括所得到参数
答:
73. 编写一个jquery的例子。
答:
74. 写出一个能创建多级目录的PHP函数
答:
75. 写一个程序交换变量的值(不引入第三方变量)
答:

你可能感兴趣的:(php)