相信很多PHP学员每天也是十分焦虑关于实习工作问题,不知道面试PHP工程师,会被问到哪些问题,害怕自己复习的不到位。于是今天小编就跟大家分享一些经验希望对小伙伴们有帮助,好啦,不多废话了,下边进入正题。
一、 PHP程序员岗位招聘常见面试题
1, 请用简单的语言告诉我PHP是什么?
PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言。
2, 什么是MVC?
MVC由Model(模型), View(视图)和Controller(控制器)组成,PHP MVC可以更有效地管理好3个不同层的PHP代码。
Model:数据信息存取层
View:view层负责将应用的数据以特定的方式展现在界面上
Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据
3, 在页面中引用CSS有几种方式?
1,引用外部CSS文件
2,内部定义Style样式
3,内联样式
4, PHP支持多继承吗?
不可以。PHP类只能继承一个父类,并用关键字“extended”标识。
5,请问PHP中echo和print有什么区别?
这两个看起来很相似,因为它们都是将一些值打印在屏幕上。但是echo和print的本质区别在于:echo用来输出字符串,显示多个值的时候可以用逗号隔开。只支持基本类型,print不仅可以打印字符串值,而且可以打印函数的返回值。
6,请问GET和POST方法有什么区别?
我们再网页上填写的表单信息都可以通过这两个方法将数据传递到服务器上,当我们使用GET方法是,所有的信息都会出
现在URL地址中,并且使用GET方法多只能传递1024个字符,所以如果在传输量小或者安全性不那么重要的情况下可以使用GET方法。说到POST方法,至多可以传输2MB字节的数据,而且可以根据需要调节。
7,PHP中获取图像尺寸大小的方法是什么?
getimagesize () 获取图片的尺寸
Imagesx () 获取图片的宽度
Imagesy () 获取图片的高度
8,PHP中的PEAR是什么?
PEAR也就是为PHP扩展与应用库(PHP Extension and Application Repository),它是一个PHP扩展及应用的一个代码仓库。
9,如何用PHP和MySQL上传视频?
我们可以在数据库中存放视频的地址,而不需要将真正的视频数据存在数据库中。可以将视频数据存放在服务器的指定文件夹下,上传的默认大小是2MB,但是我们也可以在php.ini文件中修改max_file size选项来改变。
10,PHP中的错误类型有哪些?
PHP中遇到的错误类型大致有3类。
提示:这都是一些非常正常的信息,而非重大的错误,有些甚至不会展示给用户。比如访问不存在的变量。
警告:这是有点严重的错误,将会把警告信息展示给用户,但不会影响代码的输出,比如包含一些不存在的文件。
错误:这是真正的严重错误,比如访问不存在的PHP类。
11,如何在PHP中定义常量?
PHP中使用Define () 来定义常量。define (“Newconstant”, 30);
12,如何不使用submit按钮来提交表单?
如果我们不想用submit按钮来提交表单,我们也可以用超链接来提交,我们可以这样写代码:
a href=”javascript: document.myform.submit();”>Submit Me a>
session 在服务器端,cookie 在客户端(浏览器)
session 默认被存在在服务器的一个文件里(不是内存)
session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
session 存放在文件、数据库或内存中都可以。
用户验证这种场合一般会用 session。
二、 一些大牛对学习PHP的经验分享
多写:自己做的项目如果用的人不多的话在简历上不算大的加分项,所以这样的项目更多是用来给自己练手的,因此没必要拘谨于没有项目可做,仿照开源程序自己动手写写还是有很大提升的
多读:如果php的话多读读轻量框架的源码,了解其实现原理,把未来能写出一个差不多的框架作为目标并为之积累经验
关于php:学习php的话tp框架不是太推荐,虽然用的人很多,但是这个框架的很多地方做的不敢恭维,个人认为很难有什么成长。建议看看laravel框架,然后去接触下Ruby on rails和java的spring,对你的思路会有很大的拓展(p.s. 还是觉得CI框架是入门php框架的好选择)
关于基础:想进大中型公司的话数据结构和算法还是很重要的,不能觉得自己掌握了一些框架的使用经验就不去深入研究算法和数据结构。而就算不进大一些的公司,在你工作了几年之后这两者也会变得更加重要。毕竟大部分人不会安心于搬砖,而在你想往上爬的时候这两者和其他许多CS基础知识的水平决定了你爬的快慢和高度
关于方向的选择:全栈工程师自然是很好的,但是切勿涉猎广泛却少有精通,所以希望大家能选好方向,脚踏实地。