PHP常见面试题大全

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: PHP面试常见题型

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

  • 按值传递:函数内对值的任何改变在函数外部都会被忽略
  • 引用传递:函数内对值的任何改变在函数外部也能反映出这些修改
  • 应用场景:按值传递时,php必须复制值,而按引用传递则不需要复制值,故引用传递一般用于大字符串或对象。

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

  • 单例模式: 保证一个类仅有一个实例,并提供一个访问他的全局访问点例如框架中的数据库连接
  • 简单工厂模式: 它具有创建对象的某些方法,可以使用工厂类创建对象,而不直接使用 new。例如初始化数据库的时候会用到,比如MySQL,MSSQL
  • 策略模式: 针对一组算法,将每一个算法封装到具有共同接口的独立的类中,例如进入个人主页时,根据浏览者的不同,给予不同的显示与操作
  • 注册模式: 提供了在程序中有条理的存放并管理一组全局对象 (object),例如ZF框架中的Zend_Registry::set
  • 适配器模式: 将不同接口适配成统一的API接口,例如数据操作有mysql、mysqli、pdo等,可利用适配器模式统一接口
  • 观察者模式: 一个对象通过添加一个方法使本身变得可观察。当可观察的对象更改时,它会将消息发送到已注册的观察者。例如实现实现消息推送
  • 装饰器模式: 不修改原类代码和继承的情况下动态扩展类的功能,例如框架的每个Controller文件会提供before和after方法
  • 迭代器模式: 提供一个方法顺序访问一个聚合对象中各个元素,在PHP中将继承 Iterator 类
  • 原型模式: 实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。

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

  • echo :是语句不是函数,没有返回值,可输出多个变量值,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)
  • print :是语句不是函数,有返回值 1 ,只能输出一个变量,不需要圆括号。不能输出数组和对象,只能打印简单类型(如int,string)。
  • print_r :是函数,可以打印复合类型,例如:stirng、int、float、array、object等,输出array时会用结构表示,而且可以通过print_r($str,true)来使print_r不输出而返回print_r处理后的值
  • printf :是函数,把文字格式化以后输出(参看C语言)
  • sprintf :是函数,跟printf相似,但不打印,而是返回格式化后的文字,其他的与printf一样。
  • var_dump :函数,输出变量的内容、类型或字符串的内容、类型、长度。常用来调试。

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

  • MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。
  • InnoDB:支持事务、外键等特性、数据行锁定。空间占用大,不支持全文索引等。

POST和GET有什么区别?

  • GET是从服务器上获取数据,POST是向服务器传送数据
  • GET是通过发送HTTP协议通过URl参数传递进行接收,而POST是实体数据,通过表单提交
  • GET传送的数据量较小,不能大于2KB。POST传送的数据量较大,一般被默认为不受限制。
  • GET安全性非常低,POST安全性较高

给任意一段URL,取出该URL中包含的扩展名。如“http://www.sina.com/test.php?somevar”,返回.php或php。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
算法 程序员 Go
PHP 程序员学会了 Go 语言就能唬住面试官吗?
【9月更文挑战第8天】学会Go语言可提升PHP程序员的面试印象,但不足以 solely “唬住” 面试官。学习新语言能展现学习能力、拓宽技术视野,并增加就业机会。然而,实际项目经验、深入理解语言特性和综合能力更为关键。全面展示这些方面才能真正提升面试成功率。
56 10
|
6月前
|
PHP Python
最新【Python】 实现循环最快的方式_python while循环加速,2024年最新阿里php面试题
最新【Python】 实现循环最快的方式_python while循环加速,2024年最新阿里php面试题
|
6月前
|
程序员 PHP Python
2024年Python最全Python基础教程:keys()、values()和 items()方法,百度面试题php
2024年Python最全Python基础教程:keys()、values()和 items()方法,百度面试题php
2024年Python最全Python基础教程:keys()、values()和 items()方法,百度面试题php
|
设计模式 算法 关系型数据库
|
6月前
|
PHP
PHP 面试常见对比
PHP 面试常见对比
43 0
|
前端开发 NoSQL PHP
PHP面试题
权限管理(RBAC)的实现?
92 0
|
XML SQL 存储
PHP面试题大全
PHP面试题大全
293 0