2020PHP经典面试题库汇总,包括如下部分:
- PHP基础部分
- PHP 高级部分
- 数据库相关
- ThinkPHP框架
- Laravel 框架
- smarty模板引擎
- 开发实战部分
- 微信公众平台开发
- 综合技术
- 前端技术
开发实战部分
1、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?
Get与post两种方式
区别:
- Get从服务器获取数据,post向服务器传送数据
- Get传值在url中可见,post在url中不可见
- Get传值一般在2KB以内,post传值大小可以在php.ini中进行设置
- get安全性非低,post安全性较高,执行效率却比Post高
建议:
1、get式安全性较Post式要差些包含机密信息建议用Post数据提交式;
2、做数据查询建议用Get式;做数据添加、修改或删除建议用Post方式;
百度使用的get方式,因为可以从它的URL中看出
2、掌握PHP的哪些框架、模板引擎、系统等
框架:
框架有很多,例如laravel、CI、Yii等等,国人开发度 thinkphp
模板引擎:
smarty
系统:
有很多,例如:康盛的产品(uchome、supesite、discuzX等),帝国系统、DEDE(织梦)、ecshop等
3、AJAX的优势是什么?
ajax是异步传输技术,可以通过javascript实现,也可以通过JQuery框架实现,实现局部刷新,减轻了服务器的压力,也提高了用户体验。
4、安全对一套程序来说至关重要,请说说在开发中应该注意哪些安全机制?
①防远程提交;
②防SQL注入,对特殊代码进行过滤;
③防止注册机灌水,使用验证码;
5、在程序的开发中,如何提高程序的运行效率?
①优化SQL语句,查询语句中尽量不使用select *,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询;
②数据表中创建索引;
③对程序中经常用到的数据生成缓存;
6、PHP可否与其它的数据库搭配使用?
PHP与MYSQL数据库是最优搭配,当然PHP也可以去其它的数据库搭配使用,例如MSSQL等,PHP中预留了操作MSSQL的函数,只要开启就可以使用
7、现在编程中经常采取MVC三层结构,请问MVC分别指哪三层,有什么优点?
MVC三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示。
优点是:
①可以实现代码的重用性,避免产生代码冗余;
②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式
8、对json数据格式的理解?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,json数据格式固定,可以被多种语言用作数据的传递。
PHP中处理json格式的函数为json_decode( string assoc ] ) ,接受一个 JSON格式的字符串并且把它转换为PHP变量,参数json待解码的json string格式的字符串。assoc当该参数为TRUE时,将返回array而非object;
Json_encode:将PHP变量转换成json格式