资讯专栏INFORMATION COLUMN

遇见过的PHP面试题

tommego / 2990人阅读

摘要:传送的数据量较大,一般被默认为不受限制。有返回值,当包含文件不存在或语法错误致命错误,不会终止程序执行。是语句不是函数,有返回值,只能输出一个变量,不能输出数组和对象,只能打印简单类型如。

说几个你知道的设计模式?

单例模式: 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接

策略模式: 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作。

注册模式: 提供了在程序中有条理的存放并管理一组全局对象 (object),例如ZF框架中的Zend_Registry::set。

适配器模式: 将不同接口适配成统一的API接口,例如数据操作有mysql、mysqli、pdo等,可利用适配器模式统一接口

观察者模式: 一个对象通过添加一个方法使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。例如实现实现消息推送

装饰器模式: 不修改原类代码和继承的情况下动态扩展类的功能,例如框架的每个Controller文件会提供before和after方法

迭代器模式: 提供一个方法顺序访问一个聚合对象中各个元素,在PHP中将继承 Iterator 类

POST和GET有什么区别?

GET是从服务器上获取数据,POST是向服务器传送数据

GET是通过发送HTTP协议通过URl参数传递进行接收,而POST是实体数据,通过表单提交

GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。

GET安全性非常低,POST安全性较高

session与cookie的区别?

session:存储在服务器上的php指定的目录中的(session_dir)的位置

cookie:存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。

数据库中的事务是什么?

事务:指作为一个单元的一组有序的数据库操作。如果组中的所有操作都成功,则认为事务成功,即使只有一个操作失败,事务也不成功。如果所有操作完成,事务则提交,其修改将作用于所有其他数据库进程。如果一个操作失败,则事务将回滚,该事务所有操作的影响都将取消。

MySQL数据库存储引擎有哪些?

MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。

InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。

用PHP打印出前一天的时间格式是2006-5-10 22:21:21?
echo date("Y-m-d H:i:s",time());
MYSQL取得当前时间的函数是?,格式化日期的函数是?
now();
date();
您是否用过模板引擎? 如果有您用的模板引擎的名字是?

smarty 模板引擎

php中传值与传引用的区别?什么时候传值什么时候传引用?

按值传递:函数内对值的任何改变在函数外部都会被忽略。

引用传递:函数内对值的任何改变在函数外部也能反映出这些修改。

应用场景:按值传递时,php必须复制值,而按引用传递则不需要复制值,故引用传递一般用于大字符串或对象。

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

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

数据库读写分离,优化数据表

程序功能规则,禁止外部的盗链,控制大文件的下载

使用不同主机分流主要流量

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

require:无条件包含,即在一个流程里的require,无论条件成立与否都会先执行。当包含文件不存在或语法错误致命错误时,会终止程序执行。

include:有返回值,当包含文件不存在或语法错误致命错误,不会终止程序执行。

可以使用include_once();或require_once();代替。

echo、print()、print_r()、printf()、sprintf()、var_dump()有什么区别?

echo :是语句不是函数,没有返回值,可输出多个变量值,不能输出数组和对象,只能打印简单类型(如int,string)。

print :是语句不是函数,有返回值 1 ,只能输出一个变量,不能输出数组和对象,只能打印简单类型(如int,string)。

print_r :是函数,可以打印复合类型,例如:float、array、object等。

printf :是函数,把文字格式化以后输出。

sprintf :是函数,不打印,而是返回格式化后的文字,其他的与printf一样。

var_dump :函数,输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/21401.html

相关文章

  • 三年百度,五年阿里,阿里p8架构师浅谈:我是如何顺利进入BAT

    摘要:三年百度,五年阿里,阿里架构师浅谈我是如何顺利进入前些天在我群里认识了以为挺有意思的老哥,他也是工作年多技术和面试都不差,最近也是在找工作,是从京城来魔都的,也和他捞了不少。 说来惭愧,也不怕你们笑话。做开发8年多,到目前还是一名不折不扣的扫地僧。年前的辞职,到现在还在家静养中。其实也没什么,就是回家总结一下自己这些年来在外工作与面试等做一个简单的总结与反思。做一下自己后面一个人生规划...

    seanlook 评论0 收藏0
  • 我的PHP面试

    摘要:因为公司目前扩招个人书写的自己比较看重的个人技能点,因为本公司业务发展小说站,在线阅读,而且并发量和数据量是比较大的,所以会提出一些并发的东西。和的原理,以及在分布式应用中出现的问题和解决方案我们就做了分布式和的区别,各自的优点和缺点。 因为公司目前扩招PHP,个人书写的自己比较看重的个人技能点,因为本公司业务发展小说站,在线阅读,而且并发量和数据量是比较大的,所以会提出一些并发的东西...

    renweihub 评论0 收藏0
  • PHP笔试面试精选(一)

    摘要:,跨站脚本攻击。实际发的请求就是,用于表示这是一个请求。,用于告知服务器根据这个参数获取回调函数的名称,通常约定就叫。,回调函数的名称,也是前面参数的值,可省略,会自动生成。 本次课程主要围绕 PHP 面试和笔试中经常会出现的一些知识点,但是面试官会在笔试题基础上深入扩展,那么你知道如何更好的回答让面试官满意吗?题目收集自腾讯,迅雷,美图等公司的笔试面试题,以及本人面试经历中印象中的知...

    JohnLui 评论0 收藏0
  • 【转自百度fex】fex-team/interview-questions

    摘要:注意目前发现有其他人以团队名义进行招聘,发出的邮箱皆为私人邮箱。为防止在投递简历出现误会,在此提醒各位注意团队没有以任何个人名义或邮箱进行招聘。的面试过程我们一般会有轮面试,对于高级别的工程师可能会有轮面试。 fex-team/interview-questions 注意 目前发现有其他人以 FEX 团队名义进行招聘,发出的邮箱皆为私人邮箱。 为防止在投递简历出现误会,在此提醒各位注意...

    468122151 评论0 收藏0

发表评论

0条评论

tommego

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<