当前位置:首页 > 开发语言 > 正文

php 中高级面试题?php开发面试题及答案

php 中高级面试题?php开发面试题及答案

各位老铁们,大家好,今天由我来为大家分享php 中高级面试题,以及php开发面试题及答案的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的...

各位老铁们,大家好,今天由我来为大家分享php 中高级面试题,以及php开发面试题及答案的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

面试关于php的工作,很多问题都回答不上来,该怎么办

全部能答上来当然好,但是问题是你现在的状况是答不上来,我之前也遇到过,我就直接承认了没有接触过,但是如果听说过这个我会说用过类似的,如果没听说过会问一下是为了实现什么功能看自己是否知道课替代的。因为做技术这个东西没必要不懂装懂,直接说就行了,否则即使面试过了不用1天你啥水平都看出来了,不如直接承认,没面试通过说明不适合,否则即使面试成功也是双方浪费时间。

php面试官常问的问题

1、你对PHP有多少了解?

2、请谈谈你对PHP设计模式的理解?

3、请描述一下MVC模式?

4、你有用过哪些PHP框架?

5、你在PHP编程中有怎样的优势?

6、你熟悉如何与数据库交互?

7、你能谈谈MySQL优化的思路吗?

8、你如何处理文件上传?

9、请说明一下PHP安全机制?

10、你有处理AJAX的经验吗?

PHP面试的内容一般有哪些一般会问那些问题有什么技巧吗

PHP程序员在面试的时候一般应该抓住以下几个点。

一、应该介绍自己掌握的开发一种,主要介绍PHP语言的独特语法以及如何使用,比如PHP语言会比CGI更快的执行动态页面。

二、必须熟悉Oracle、Mysql等数据库,并能简单的介绍自己掌握的程度。由于php做出的动态页面比用其他语言做出来的页面在执行效率以及CGI方面高得多,所以你还需要在面试中说出自己的文档撰写能力很强。

三、PHP程序员应该具备独立分析和解决问题的能力,可以在自我介绍中讲讲自己曾经遇到过的问题是如何解决的。让面试官看到你的能力,这将会直接影响到你自我介绍的成功与否。

四、一个PHP程序员必须有良好的职业道德和工作态度,所以在面试中应该尽量讲自己在做项目时的认真态度以及今后的工作规划,表现出自己的进取心。

五、还有关于沟通能力和理解能力的体现,这个在与HR的交谈中就可以表现出来,所以需要做的工作就是从容的有条理的把自我介绍说完,回答每一个问题时都应该简洁明了,关于自我介绍可以提前做个草稿,背一下。

六、团队合作能力也是企业非常看重的,在培训中老师一般都会带领大家做项目,大的项目一般会分小组,每个人都有相对应的任务,这就模拟了公司中的团队合作,在自我介绍过程中要把做项目的具体流程以及相互协作的过程说出来,让HR看到自己具备团队合作的能力。

七、最后就是执行力,每当任务分配下来的时候该如何执行,还有自己讲过职业规划后该如何执行,还有在学习的过程中是如何人字形的,遇到困难又是如何执行的,这些都可以体现出php程序员的执行力,回答的时候抓住发现及时寻找原因,快速展开行动的这个主线即可。

八、最重要的是你的能力、技术以及自己的项目

php程序员面试题都有哪些

想了解IT界的那些事儿,请关注萌新程序猿!!!

刚好我之前在自己的个人网站(

www.onezero.cc

)中整理过此类的知识,因此特地奉上。

首先总结一下,既然是php程序员,下面的知识是最基本的:

你需要了解PHP的各类基础知识,php语法、面向对象、设计模式等等,其次你需要懂得PHP的开发框架的知识,tp、laveral、yii等,再次你需要了解前端的知识,了解数据库(mysql等)的知识,了解php运行的服务器环境nginx、apache等,更进一步你需要了解redis、缓存之类,最后你需要掌握web开发安全的相关知识,比如sql注入、xss等。写接口,很多公司是前后端完全分离。个人面试整理

1.PHP的魔术变量都有什么?

__LINE__文件中的当前行号。__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。__FUNCTION__常量返回该函数被定义时的名字__CLASS__常量返回该类被定义时的名字(区分大小写)。__METHOD__类的方法名(PHP5.0.0新加)。返回该方法被定义时的名字(区分大小写)。__NAMESPACE__当前命名空间的名称(区分大小写)。此常量是在编译时定义。

2.PHP超级全局变量(9个)

$GLOBALS储存全局作用域中的变量$_SERVER获取服务器相关信息$_REQUEST获取POST和GET请求的参数$_POST获取表单的POST请求参数$_GET获取表单的GET请求参数$_FILES获取上传文件的的变量$_ENV获取服务器端环境变量的数组$_COOKIE浏览器cookie的操作设置cookie:setcookie(name,value,expire,path,domain);获取cookie:$_COOKIE[“user”];删除cookie:setcookie(“user”,“”,time()-3600);//设置过期时间$_SESSION服务端session的操作使用session前一定要session_start()启动session储存session:$_SESSION[“name”]=”King”;//数组操作销毁session:unset($_SESSION[“name”]);//销毁一个session_destroy()和unset($_SESSION);//销毁所有的session

3.PHP魔术函数(13个)

__construct()实例化对象时被调用,当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。__destruct()当删除一个对象或对象操作终止时被调用。__call()对象调用某个方法,若方法存在,则直接调用;若不存在,则会去调用__call函数。__get()读取一个对象的属性时,若属性存在,则直接返回属性值;若不存在,则会调用__get函数。__set()设置一个对象的属性时,若属性存在,则直接赋值;若不存在,则会调用__set函数。__toString()打印一个对象的时被调用。如echo$obj;或print$obj;__clone()克隆对象时被调用。如:$t=newTest();$t1=clone$t;__sleep()serialize之前被调用。若对象比较大,想删减一点东东再序列化,可考虑一下此函数。__wakeup()unserialize时被调用,做些对象的初始化工作。__isset()检测一个对象的属性是否存在时被调用。如:isset($c->name)。__unset()unset一个对象的属性时被调用。如:unset($c->name)。__set_state()调用var_export时,被调用。用__set_state的返回值做为var_export的返回值。__autoload()实例化一个对象时,如果对应的类不存在,则该方法被调用。

4.前端后端的常用开发框架都有哪些?

前端:(1)CSS:Bootstrap、EasyUI

(2)JavaScript:VUE.js、angular.Js、jQuery.js。

后端:thinkPHP、Yii、Laravel、swoole、workerman(当时只想到这几个)、。

5.如何查看防火墙开放的端口号serviceiptablesstatus

6.查看防火墙特定的端口号,例如80端口的状态?netstat-an|grep80查看80端口被什么占用netstat-tunlp|grep80lsof-i:80

7.Linux系统中System进程占用大量CPU,可能的原因?(1)进入了一个死循环无法跳出来;(2)也许是一直在等待一个信号,如从dbus上读取一个用户需要的信息;#dbus是一个为应用程序间通信的消息总线系统,用于进程之间的通信。(3)有可能是程序在对一个非常大的内容进行分析和处理;(4)有可能是程序要处理的问题比较多,所以在一个个慢慢的执行。

8.说一下HTTP2.0与HTTP1.0的根本区别。

9.InnoDB和MyISAM的区别是什么,二者分别应用与什么方面?

10.用尽量多的方法说明如何提高一个网页的访问速度。

11.请设计一个通信协议,实现与摄像头之间的通信,要注意协议的安全性和可扩展性。

12.如果一个公司有几十个系统,每一个系统都需要登录,现在请你设计一个系统,可以实现每一个系统的单点登录。

其他整理

1、用PHP打印出前一天的时间格式是2017-9-515:30:21

echodate(‘Y-m-dH:i:s’,strtotime(‘-1day’));

2、echo(),print(),print_r()的区别

echo是PHP语句,print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)

print只能打印出简单类型变量的值(如int,string)

print_r可以打印出复杂类型变量的值(如数组,对象)

echo—输出一个或者多个字符串

3、能够使HTML和PHP分离开使用的模板

smarty,HeyesTemplateClass等

5、使用哪些工具进行版本控制?

VSServeronApache作服务端,WinCVS作客户端;SubversiononApache/DAV做服务端,TortoiseSVN做客户端,或者Subclipse做客户端.

6、如何实现字符串翻转?

strrev()

7、优化MYSQL数据库的方法。

(1).选取最适用的字段属性,应该尽量把字段设置为NOTNULL,这样在将来执行查询的时候,数据库不用去比较NULL值。

(2).使用连接(JOIN)来代替子查询(Sub-Queries)

(3).使用联合(UNION)来代替手动创建的临时表

(4).尽量少使用LIKE关键字和通配符

(5).使用事务和外键

8、PHP的意思

HypertextPreprocessor

9、MYSQL取得当前时间的函数是?,格式化日期的函数是

now(),DATE_FORMAT(date,format)

10、实现中文字串截取无乱码的方法。

mb_substr()

11、您是否用过版本控制软件?如果有您用的版本控制软件的名字是?

TortoiseSVN-1.2.6svn-1.2.3

12、您是否用过模板引擎?如果有您用的模板引擎的名字是?

smarty

13、请简单阐述您最得意的开发之作

14、对于大流量的网站,您采用什么样的方法来解决访问量问题?

首先,确认服务器硬件是否足够支持当前的流量

其次,优化数据库访问。

第三,禁止外部的盗链。

第四,控制大文件的下载。

第五,使用不同主机分流主要流量

第六,使用流量分析统计软件。

—————————————————————–

15、用PHP写出显示客户端IP与服务器IP的代码

16、语句include和require的区别是什么?为避免多次包含同一文件,可用(?)语句代替它们?

require()和include()除了怎样处理失败之外在各

方面都完全一样。include()产生一个警告而require()则导致一个致命错误。

换句话说,如果你想在丢失文件时停止处理页面,用require()。include()就不是这样,脚本会继续运行。

require()无论如何都会包含文件,而include()可以有选择地包含.

代替用

include_once

require_once

17、如何修改SESSION的生存时间.

18、有一个网页地址,比如PHP开发资源网主页:,如何得到它的内容?

19、在HTTP1.0中,状态码401的含义是(?);如果返回“找不到文件”的提示,则可用header函数,其语句为(?);

未授权(Unauthorized)

面试PHP程序员应该注意什么问题会出什么面试问题

这个好像我挺有话说的。

首先说下北京这边的面试流程:简历筛选(这个是门票,简历要搞的漂亮点)->电话预约(有的会电话面试一次再约)->基本技术面试(由一般的程序员来做)->二次技术面试(技术总监,主管)->人事面试(谈薪资)

基本是这个流程,有的公司流程可能会更长,越是大公司流程越长,要求越严格。

好的,我们知道了流程,说下应该注意的点。

第一、简历要写的符合用人单位要求,把php相关的技术点写上去,这个可以稍微夸大点,没关系,应该面试你的也是一般的程序员,他也不一定会。

第二、当你去一面的时候,就是一些基础的东西,比如php数组函数,时间函数,字符串函数。这个很难,不只是要记住,你要区别那些函数是最好,相同作用函数之间的应用差别(eg:+与array_merge)。然后是php设计模式,框架,orm,简单算法(排序),复杂度。sql语法,增删改查。数据库相关,mysql,redis,memeche他们的数据类型,数据库,数据表设计。

第三、做的项目与实际中遇到的困难。这个要好好准备,能看出你有没有实际项目和经验。

第四、架构,业务流程,这个在二次面试中问的多。

第五、到了人事哪里,就会问你离职原因啊,薪资要求呀。这个也要准备下。

最后补充一点,被面试官打击,好的面试官会给你分享他的成长与面试中你的问题。这个大多数好的情况,我曾经在面试中有人问过我shell文件后缀的,英文简写的全名单,wqnmgb,这种人你直接走就行,别搭理他,就算是去了也不是一个很好的工作环境。就是多投,多面,总有适合你的工作在等你。

来自一个面试失败N方的php程序员的答案~~F,有问题私信我。

面试高级php工程师,一般会问到哪些问题

高并发大访问量的mysql优化,服务器优化?

字段建索引、主从数据库、读写分离、表分区、负载均衡。

linux的慢查询日志会记录mysql的超时查询sql语句,定期察看进行优化。

2.大访问量下秒杀模块程序怎么设计,如果使用mysql会有多卖的情况,就是订单超过库存。

将订单数据缓存到内存,如果用数据库直接崩掉,毫无悬念的。

3.缓存的使用

能用静态的用静态,不能静态的用内存缓存,例如memcache、redis,不能缓存的用数据库。

4.session可不可以跨域?怎么跨域?

将PHPsession机制重写(PHP提供),将session存储在memcache或者数据库就可以跨域了。

另外session能以三种方式存储,文件、数据库、缓存。

5.了不了解非关系型数据库?

mongodb

6.会不会写shell脚本以及linux的操作

还会问一下时下流行的东西,比如做没做过微信开发,例如微信支付开发、APP移动开发,等等问题。

问的核心东西都是围绕这些转的,如果有笔试会让你写sql,php功能(例如冒泡排序等排序),还有逻辑题。

我当初面试了很多,这是一个我的面试经验的总结,纯手打忘采纳。

关于php 中高级面试题,php开发面试题及答案的介绍到此结束,希望对大家有所帮助。

最新文章