PHP面试题试试回答看

1. PHP是什么意思?
2. 什么是面向对象?主要特征是什么?
3. SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?
4. 不使用COOKIE向客户端发送一个COOKIE
5. 简述COOKIE的设置及获取过程
6. HTTP状态中302,403,500,200,404,502代码含义
7. 请写出数据类型int char varchar datetime text的意思,比较char和varchar的区别
8. MyISAM和InnoDB的基本区别,索引结构如何实现?
9. isset()和empty()的区别?
10. include和require的区别?
11. PHP中单引号与双引号的区别。
12. 请说明PHP中传值与传引用的区别,分别用在什么时候?
13. IN, NOT IN, EXIST, NOT EXIST的作用和区别
14. 面向对象中接口和抽象类的区别与使用场景
15. echo(), print(), print_r()的区别
16. `mysql_fetch_row()`和`mysql_fetch_array()`之间有什么区别
17. 请描述两点以上XHTML和HTML之间的显著区别
18. HTTP协议中GET和POST的区别
19. 表单中GET和POST提交方法的区别
20. foo()与@foo()的区别
21. 线性表和顺序表的区别
22. 什么是数据库索引,主键索引、唯一索引的区别,索引的缺点是什么?
23. IE浏览器与非IE浏览器的划分,区别是什么?
24. 数据库中的事务是什么?
25. 解释:左连接、右连接、内连接、索引
26. 简述无限极分类的实现原理
27. 举例:能够使PHP和HTML分离的模板引擎
28. 举例:版本控制管理工具
29. 写出三种以上MySQL数据库存储引擎的名称
30. 什么是模板技术?
31. 实现中文字符串截取无乱码的方法
32. 用PHP写出显示客户端IP和服务器端IP的代码
33. 数据库索引有几类,分别是什么,什么时候该用索引
34. 写几个魔术方法并说明作用
35. `$_REQUEST`, `$_POST`, `$_GET`, `$_COOKIE`, `$_SESSION`, `$_FILE`的意思是什么?
36. 数组中下标最好是什么类型
37. ++i, i++哪个效率更高,为什么?
38. `magic_quotes_gpc()`, `magic_quotes_runtime()`的意思是什么?
39. 框架中什么是单入口,多入口,单一入口有什么缺点?
40. 你对Memcache的理解,优点有什么?
41. 对关系数据库而言,索引是相当重要的概念,请回答有关索引的几个问题?
– 索引的目标是什么?
– 索引对数据库系统的负面影响是什么?
– 为数据表建立索引的原则有哪些?
– 什么情况下不宜建立索引?
42. web应用中,数据库的读取频率远高于写入频率,如何优化MySQL而应对此种场景?
43. 如果是一个WEB频繁访问的查询,查询应该如何优化?
44. 数据库设计时,常遇到哪些性能瓶颈,常用解决方案。
45. 请详述在开发过程中用什么方法来加快页面的加载速度
46. 描述大流量高并发网站的解决方案
47. 对于大流量的网站您采用什么方法来解决访问量问题?
48. 如何设计或配置MySQL,才能达到高效的目的。
49. 设定网站的用户量在千万级,但是活跃的用户只有1%,如何通过优化数据库提高活跃用户的访问速度?
50. 什么是XSS攻击,如何防止?
51. SQL注入漏洞产生的原因,如何防止?
52. 如何防止SQL注入。
53. 用PHP写一个用户登录系统需要注意哪些?
54. 如何实现多个线程安全的写入一个文件数据
55. 什么是满二叉树,什么是完全二叉树?
56. 字符串数组,数组转字符串,字符串截取,字符串替换,字符串查找的函数?
57. 描述GD库
58. 写出Zend框架的目录结构,简单说明目录的作用
59. 谈谈对MVC的理解
60. PHP如何抛出和接收错误?
61. PHP的网站主要攻击问题有哪些?
62. 几个重要的PHP.INI配置选项
63. 使用过哪些PHP框架?试试描述各自的优缺点?
64. 如何在页面之间传递变量数据?
65. 写出多个PHP数组函数,并说明作用
66. 你所知道的一些PHP技术、PHP论坛系统、PHP商城系统、开发框架等;
67. 你所知道的设计模式
68. 说说你对代码管理的看法,常使用什么版本控制器
69. 说说对于SVN的了解,简述其优缺点?
70. 如何找到PHP.INI配置文件
71. PHP加速模式/扩展?PHP调试模式/工具?
72. 你常用的mysql命令
73. 写出10个LINUX命令
74. 写出LINUX配置文件/服务的位置(5个)
75. 写出5个MYSQL的操作关键字
76. 列出5个PHP操作MYSQL的函数
77. 数据库的配置文件路径
78. 什么是时间戳,获取当前时间戳的函数
79. 给定一个网址URL,如何获取网页中的内容?
80. 简述如何获取当前执行脚本路径,包括其参数
81. 如何使用PHP环境变量,获取网页的地址,IP地址等
82. 求2个日期之间的天数
83. PHP中如何定义一个常量?如何定义值传递的变量?
84. PHP可以对string类型的10和数值11进行比较吗?
85. 什么情况下需要用endif来结束条件语句?
86. 优化MySQL数据库的方法?
87. 实现中文字符串截取无乱码的方法。
88. 分别指出php.ini中 `magic_quotes_gpc`, `magic_quotes_runtime`两项参数的作用.
89. 用面向对象来实现A对象继承B和C对象
90. 写出Smarty模板引擎中你最常用的关键词
91. 如何快速下载一个远程http服务器上的图片文件到本地?
92. 一个字节占多少bit ? 一个IPv4地址占几个字节? 一个IPv6地址呢?
93. MADSL宽带连接, 理想情况下, 最大下载速度是多少KB/s ?
94. 用PHP打印出前一天的时间,打印格式是2007年5月10日22:21:21
95. 抓取远程图片到本地,你会用什么函数?
96. 正在浏览当前页面用户的 IP 地址:127.0.0.1
97. 查询(query)的字符串(URL 中第一个问号 ? 之后的内容):id=1&bi=2
98. 在PHP中,heredoc是一种特殊的字符串,它的结束标志必须
99. 如何声明一个名为”myclass”的没有方法和属性的类?
– 如何实例化一个名为”myclass”的对象?
– 你如何访问和设置一个类的属性?
100. 指出一些在PHP输入一段HTML代码的办法。
101. 哪个函数可以打开一个文件,以对文件进行读和写操作?
102. 简述Linux下安装PHP的过程?
103. 简述Linux下安装Mysql的过程?
104. 简述Linux下安装apache的过程?
105. linux下建立压缩包,解压缩包的命令
106. 写出匹配URL的正则表达式
107. 请用正则表达式(Regular Expression)写一个函数验证电子邮件的格式是否正确
108. 请写一个函数验证电子邮件的格式是否正确
109. 请写出一个正则表达式,用于匹配一个HTML文件中``标记中的图片地址
110. 写出一个正则表达式,过虑网页上的所有JS/VBS脚本(即把scrīpt标记及其内容都去掉)
111. 在PHP中`error_reporting()`这个函数有什么作用?
112. Windows平台, Apache Http Server启动失败, 排错思路是什么?
113. php读取文件内容的几种方法和函数?
114. 以下程序,变量str什么值的情况下输出111? `if( ! $str ) { echo 111; }`
115. 请写出常见的排序算法,并用PHP实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序。常见的排序算法: 冒泡排序法、快速排序法、简单选择排序法、堆排序法、直接插入排序法、希尔排序法、合并排序法。
116. 使用PHP描述快速排序算法,对象可以是一个数组?
117. 使用PHP描述顺序查找和二分查找(也叫做折半查找)算法,顺序查找必须考虑效率,对象可以是一个有序数组
118. 写一个二维数组排序算法函数,能够具有通用性,可以调用php内置函数
119. 请以空格作为间隔,拆分字符串’Apple Orange Banana Strawberry’,组成数组$fruit, 数组中所有元素都用小写字母,并按照字母先后次序排序
120. 对于用户输入一串字符串$string,要求$string中只能包含大于0的数字和英文逗号,请用正则 表达式验证,对于不符合要求的$string返回出错信息
121. 请写一段程序,在服务器创建一个文件fruit.dat,将试题3中得到的数组写入到改文件中,然后写一段程序从文件中读取并还原数组@author zhuwenqiong
122. 单例模式,创建mysqli数据库链接的单例对象
123. js中网页前进和后退的代码
124. 简述如何得到当前执行脚本路径,包括所得到参数。
125. JS表单弹出对话框函数是?获得输入焦点函数是?
126. JS的转向函数是?怎么引入一个外部JS文件?
127. 用javascript取得一个input的值?取得一个input的属性?
128. 用Jquery取得一个input的值?取得一个input的属性?
129. 写一个简单的jquery显示隐藏代码?
130. 假设a.html和b.html在同一个文件夹下面,用javascript实现当打开a.html五秒钟后,自动跳转到b.html。
131. 请您写一段ajax提交的js代码,或者写出ajax提交的过程逻辑。
132. SQL: 增加一个字段性别sex,写出修改语句; 查询出年龄介于20岁到30岁之间的用户
133. 写一个函数,算出两个文件的相对路径
134. 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。
135. Linux的目录进行遍历,编写shell脚本
136. 写一个函数,尽可能高效的,从一个标准 url 里取出文件的扩展名。例如: http://www.sina.com.cn/abc/de/fg.php?id=1 需要取出 php 或 .php
137. 有一个网页地址, 比如PHP开发资源网主页: http://www.phpres.com/index.html,如何得到它的内容?
138. 请写一个函数,实现以下功能:字符串“open_door” 转换成 “OpenDoor”、”make_by_id” 转换成 ”MakeById”。
139. 有一个一维数组,里面存储整形数据,请写一个函数,将他们按从大到小的顺序排列。要求执行效率高。并说明如何改善执行效率。(该函数必须自己实现,不能使用php函数)
140. 使用php写一段简单查询,查出所有姓名为“张三”的内容并打印出来(PDO实现)
141. 写出发贴数最多的十个人名字的SQL,利用下表:members(id,username,posts,pass,email)