PHP中高级面试题 – 第一天

PHP中高级面试题 – 第一天,第1张

一、写一个函数,获取一篇文章内容中的全部,并下载

二、什么是 CSRF 攻击?XSS 攻击?如何防范?

CSRF:跨站请求伪造,可以通过通过判断来源和加 Token 的方式来防范。

XSS:跨站脚本攻击,可以通过对内容转义和过滤来防范,还有 CSP

三、应用中我们经常会遇到在 user 表随机调取 10 条数据来展示的情况,简述你如何实现该功能。

四、MYSQL 中主键与唯一索引的区别

主键:绝对不能有空值。唯一索引:可以有空值

五、>

这方面网上有比较多的,针对3-5年的PHPer常见的面试题,参考如下:

1、平时喜欢哪些php书籍及博客?CSDN、虎嗅、猎云

2、js闭包是什么?

3、for与foreach哪个更快

4、php鸟哥是谁?能不能讲一下php执行原理

5、php加速有哪些?apc、zend、xcache能不能讲一下它的加速原理?

6、Nodejs能彻底代替php+apache是扯淡。

7、怎样判断一个值是否存在于数组中?in_array(),array_key_exists,

8、怎样判断select语句中是否使用了索引?explain

9、sphinx的中文分词词库使用第三方库还是自己建库?

10、如果一个被面试者经验少、基础差,此时却问些高深的知识。要怀疑它的稳定性,可以提问加班对他会不会有抵触。

11、mysql与mysqli的区别有哪些?

12、将来的发展方向?安全、还是数据挖掘、大数据处理?

13、php的面向对象:类的修饰符、封装、继承、多态体现方面

14、php 多态是什么?

15、Type Hinting:>

面试题分享:

1、PHP语言的一大优势是跨平台,什么是跨平台?

PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同 *** 作系统(例如windows、Linux等)上配置,不受 *** 作系统的限制,所以叫跨平台

2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?

Get与post两种方式

区别:

1 Get从服务器获取数据,post向服务器传送数据

2 Get传值在url中可见,post在url中不可见

3 Get传值一般在2KB以内,post传值大小可以在phpini中进行设置

4 get安全性非低,post安全性较高,执行效率却比Post高

建议:

1、get式安全性较Post式要差些包含机密信息建议用Post数据提交式;

2、做数据查询建议用Get式;做数据添加、修改或删除建议用Post方式;

百度使用的get方式,因为可以从它的URL中看出

3、掌握PHP的哪些框架、模板引擎、系统等

框架:框架有很多,例如zendframe、CI、Yii等等,咱们学过的是thinkphp

模板引擎:也有很多,在课本中有,咱们学过的是smarty

系统:有很多,例如:康盛的产品(uchome、supesite、discuzX等),帝国系统、DEDE(织梦)、ecshop等,咱们学过的是DEDECMS、Ecshop

4、说一下你所掌握的网页前端技术有哪些?

熟练掌握DIV+CSS网页布局,JavaScript,jQuery框架、photoshop处理

5、AJAX的优势是什么?

ajax是异步传输技术,可以通过javascript实现,也可以通过JQuery框架实现,实现局部刷新,减轻了服务器的压力,也提高了用户体验

6、安全对一套程序来说至关重要,请说说在开发中应该注意哪些安全机制?

①防远程提交;②防SQL注入,对特殊代码进行过滤;③防止注册机灌水,使用验证码;

7、在程序的开发中,如何提高程序的运行效率?

①优化SQL语句,查询语句中尽量不使用select ,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询;②数据表中创建索引;③对程序中经常用到的数据生成缓存;

8、PHP可否与其它的数据库搭配使用?

PHP与MYSQL数据库是最优搭配,当然PHP也可以去其它的数据库搭配使用,例如MSSQL等,PHP中预留了 *** 作MSSQL的函数,只要开启就可以使用

9、现在编程中经常采取MVC三层结构,请问MVC分别指哪三层,有什么优点?

MVC三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示,优点是:①可以实现代码的重用性,避免产生代码冗余;②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式

10、对json数据格式的理解?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,json数据格式固定,可以被多种语言用作数据的传递

PHP中处理json格式的函数为json_decode( string $json [, bool $assoc ] ) ,接受一个 JSON格式的字符串并且把它转换为PHP变量,参数json待解码的json string格式的字符串。assoc当该参数为TRUE时,将返回array而非object;

Json_encode:将PHP变量转换成json格式

11、Print、echo、print_r有什么区别?

① echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。

② print 是打印字符串

③ print_r 则是打印复合类型 如数组 对象

12、SESSION与COOKIE的区别?

①存储位置:session存储于服务器,cookie存储于浏览器

②安全性:session安全性比cookie高

③session为‘会话服务’,在使用时需要开启服务,cookie不需要开启,可以直接用

13、PHP处理数组的常用函数?(重点看函数的‘参数’和‘返回值’)

①array()创建数组;②count()返回数组中元素的数目;③array_push()将一个或多个元素插入数组的末尾(入栈);④array_column()返回输入数组中某个单一列的值;⑤array_combine()通过合并两个数组来创建一个新数组;⑥array_reverse()以相反的顺序返回数组;⑦array_unique()删除数组中的重复值;⑧in_array()检查数组中是否存在指定的值;

14、PHP处理字符串的常用函数?(重点看函数的‘参数’和‘返回值’)

①trim()移除字符串两侧的空白字符和其他字符;

②substr_replace()把字符串的一部分替换为另一个字符串;

③substr_count()计算子串在字符串中出现的次数;

④substr()返回字符串的一部分;

⑤strtolower()把字符串转换为小写字母;

⑥strtoupper()把字符串转换为大写字母;

⑦strtr()转换字符串中特定的字符;

⑧strrchr()查找字符串在另一个字符串中最后一次出现;

⑨strstr()查找字符串在另一字符串中的第一次出现(对大小写敏感);strrev()反转字符串;strlen()返回字符串的长度;str_replace()替换字符串中的一些字符(对大小写敏感);print()输出一个或多个字符串;explode()把字符串打散为数组;is_string()检测变量是否是字符串;strip_tags()从一个字符串中去除HTML标签;mb_substr()用来截中文与英文的函数

15、PHP处理时间的常用函数?(重点看函数的‘参数’和‘返回值’)

date_default_timezone_get()返回默认时区。

date_default_timezone_set()设置默认时区。

date()格式化本地时间/日期。

getdate()返回日期/时间信息。

gettimeofday()返回当前时间信息。

microtime()返回当前时间的微秒数。

mktime()返回一个日期的 Unix时间戳。

strtotime()将任何英文文本的日期或时间描述解析为 Unix时间戳。

time()返回当前时间的 Unix时间戳。

面试的自我介绍你使用以下的要点进行来说明:

1.是否熟练掌握一种或以上开发语言;

2.是否熟悉Oracle、Mysql等数据库;

3.是否具有较强的文档撰写能力;

4.是否具备独立分析和解决问题的能力;

5.是否有良好的职业道德和工作态度,工作认真、踏实,责任心和进取心强;

6.是否有良好的客户交流沟通能力和需求理解能力,较强的协作精神和团队意识;

7.思维能力:能够找出引发事件的多种可能原因,确定行为的不同后果,发现复杂事物之间存在的错综联系,逐步排除不太相关的信息,对问题进行准确定位;

8.团队合作:愿意与他人合作,主动与其他成员进行沟通交流,彼此分享信息、知识、资源;

9.主动性:及时发现机遇或问题,并针对其快速展开行动。

谈论时自然会问。不要说我性格外向,善于团队合作和学习的刻板印象。事实上,企业人力资源部非常反感自我介绍的背书。一般来说,我理解代码并使用模块。我会使用一些PHP CMS模板来建立网站。

扩展资料:

1.一般的程序员都有四年的在专业领域的学习,需要获得在程序领域的学士学位,不论是数学方面的还是工程方面的都是可以的。不同分类方式程序员分为:

(1)按照所使用的编程语言来分,程序员分为:c/c++程序员、php程序员、java程序员、delphi程序员、net程序员、asp程序员等;

(2)按照面向的开发平台来划分,程序员可以分为web程序员、移动开发程序员;

(3)对进行移动设备程序开发的人员来说,针对的 *** 作系统不同,还可以分为针对苹果ios程序员以及针对安卓程序员。

2.服务于计算机科学的程序称为计算机程序,也称为软件,是指一组指示计算机或其他具有信息处理能力装置执行动作或做出判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上。

参考资料:

百度百科-程序员

以上就是关于PHP中高级面试题 – 第一天全部的内容,包括:PHP中高级面试题 – 第一天、求PHP面试题急忙、谁有面试phper的经验等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10199005.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存