返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP基础面试题的示例分析
  • 391
分享到

PHP基础面试题的示例分析

2023-06-15 08:06:25 391人浏览 安东尼
摘要

这篇文章给大家分享的是有关PHP基础面试题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、什么事面向对象?主要特征是什么? 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主

这篇文章给大家分享的是有关PHP基础面试题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、什么事面向对象?主要特征是什么?

面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。

主要特征:封装、继承、多态。

2、SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?

Http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同一个用户。

SESSioN存储在服务器端,COOKIE保存在客户端。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。禁用cookie后,session不能正常使用。Session的缺点:保存在服务器端,每次读取都从服务器进行读取,对服务器有资源消耗。Session保存在服务器端的文件或数据库中,默认保存在文件中,文件路径由php配置文件的session.save_path指定。Session文件是公有的。

3、HTTP 状态中302、403、 500代码含义?

一二三四五原则:(即一:消息系列;二:成功系列;三:重定向系列;四:请求错误系列;五:服务器端错误系列。)

  • 302:临时转移成功,请求的内容已转移到新位置

  • 403:禁止访问

  • 500:服务器内部错误

  • 401:代表未授权

4、请写出数据类型(int char varchar datetime text)的意思;请问 varchar 和 char有什么区别?

  • Int 整数

  • char 定长字符

  • Varchar 变长字符

  • Datetime 日期时间型

  • Text 文本型

Varchar与char的区别 char是固定长度的字符类型,分配多少空间,就占用多长空间。Varchar是可变长度的字符类型,内容有多大就占用多大的空间,能有效节省空间。由于varchar类型是可变的,所以在数据长度改变的时,服务器要进行额外的操作,所以效率比char类型低。

5、MyISAM和 InnoDB 的基本区别?索引结构如何实现?

MyISAM类型不支持事务,表,易产生碎片,要经常优化,读写速度较快,适合用于频繁查询的应用;

InnoDB类型支持事务,行锁,有崩溃恢复能力,读写速度比MyISAM慢,适合于插入和更新操作比较多的应用,空间占用大,不支持全文索引等。

创建索引:alert table tablename add index 索引名 (`字段名`)

6、isset() 和 empty() 区别

isset判断变量是否存在,可以传入多个变量,若其中一个变量不存在则返回假;empty判断变量是否为空为假,只可传一个变量,如果为空为假则返回真。

7、请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用?

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

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

优缺点:传值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。传引用传递则不需要复制值,对于性能提高很有好处。

8、在PHP中error_reporting这个函数有什么作用?

设置PHP的报错级别并返回当前级别。

9、说说你对缓存技术的了解?

缓存技术是将动态内容缓存到文件中,在一定时间内访问动态页面直接调用缓存文件,而不必重新访问数据库

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

mvc三层分别指:业务模型、视图、控制器,由控制器层调用模型处理数据,然后将数据映射到视图层进行显示

优点是:①可以实现代码的重用性,避免产生代码冗余;②M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式

11、AJAX的优势是什么?

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

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

优化sql语句,查询语句中尽量不使用select *,用哪个字段查哪个字段;少用子查询可用表连接代替;少用模糊查询;

数据表中创建索引;

对程序中经常用到的数据生成缓存。

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

  • 有效使用缓存,增加缓存命中率

  • 使用负载均衡

  • 对静态文件使用cdn进行存储和加速

  • 想法减少数据库的使用

  • 查看出现统计的瓶颈在哪里

  • 反向代理

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

区别:在失败的时候:include产生一个warning,而require产生直接产生错误中断require在运行前载入include在运行时载入代替:require_onceinclude_once

15、foo()和@foo()之间有什么区别?

@代表所有warning忽略

16、简述php的垃圾收集机制。

php中的变量存储在变量容器zval中,zval中除了存储变量类型和值外,还有is_ref和refcount字段。refcount表示指向变量的元素个数,is_ref表示变量是否有别名。如果refcount为0时,就回收该变量容器。如果一个zval的refcount减1之后大于0,它就会进入垃圾缓冲区。当缓冲区达到最大值后,回收算法会循环遍历zval,判断其是否为垃圾,并进行释放处理。

17、如何实现PHP的安全最大化?

怎样避免SQL注入漏洞和XSS跨站脚本攻击漏洞? 答:基本原则:不对外界展示服务器或程序设计细节(屏蔽错误),不相信任何用户提交的数据(过滤用户提交)。

18、echo、print_r、print、var_dump区别

  • echo:语句结构;

  • print:是函数,有返回值

  • print_r:能打印数组,对象

  • var_dump:能打印对象数组,并且带数据类型

19、写出smarty模板的特点

速度快,编译型,缓存技术,插件机制,强大的表现逻辑

20、如果需要原样输出用户输入的内容,在数据入库前,要用哪个函数处理?

htmlspecialchars或者htmlentities

感谢各位的阅读!关于“PHP基础面试题的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: PHP基础面试题的示例分析

本文链接: https://lsjlt.com/news/279150.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PHP基础面试题的示例分析
    这篇文章给大家分享的是有关PHP基础面试题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、什么事面向对象?主要特征是什么? 面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主...
    99+
    2023-06-15
  • PHP面试题的示例分析
    这篇文章主要介绍了PHP面试题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一 、PHP基础部分PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配...
    99+
    2023-06-15
  • PHP面试题之选择题的示例分析
    这篇文章主要介绍PHP面试题之选择题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!                  ...
    99+
    2023-06-14
  • PHP面试题大全【PHP基础部分】
    1、PHP语言的一大优势是跨平台,什么是跨平台? PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制...
    99+
    2023-08-31
    php 开发语言
  • Redis面试题的示例分析
    这篇文章给大家分享的是有关Redis面试题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。应用场景缓存共享Session消息队列系统分布式锁相关推荐:Redis视频教程单...
    99+
    2024-04-02
  • Node.js面试问题的示例分析
    这篇文章主要介绍了Node.js面试问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是error-first的回调方式Err...
    99+
    2024-04-02
  • php算法面试题及答案示例的分析
    这篇文章将为大家详细讲解有关php算法面试题及答案示例的分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。php有什么用php是一个嵌套的缩写名称,是英文超级文本预处理语言,它的语法混合了C、Java、P...
    99+
    2023-06-06
  • Java面试题之JVM的示例分析
    这篇文章给大家分享的是有关Java面试题之JVM的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。面试题1:你遇到过哪些OOM情况,什么原因造成的?怎么解决的?该问题主要针对你遇到的实际问题出发,可以根据你...
    99+
    2023-06-20
  • C#算法面试题的示例分析
    这篇文章主要为大家展示了“C#算法面试题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#算法面试题的示例分析”这篇文章吧。C#算法一道面试题:程序设计: 猫大叫一声,所有的老鼠都开始...
    99+
    2023-06-18
  • MySQL基础的示例分析
    这篇文章给大家分享的是有关MySQL基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL入门mySQL (关系型数据库管理系统)MySQL是一个关系型数据库管理...
    99+
    2024-04-02
  • javaScript基础的示例分析
    这篇文章主要为大家展示了“javaScript基础的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javaScript基础的示例分析”这篇文章吧。首先讲...
    99+
    2024-04-02
  • Three.js基础的示例分析
    这篇文章给大家分享的是有关Three.js基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Three.js官网及使用Three.js必备的三个条件1.Three....
    99+
    2024-04-02
  • node.js基础的示例分析
    这篇文章给大家分享的是有关node.js基础的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。什么是NodeJSJS是脚本语言,脚本语言都需要一个解析器才能运行。对于写在H...
    99+
    2024-04-02
  • Java基础的示例分析
    小编给大家分享一下Java基础的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、Java主要特点简单性、跨平台性、分布性、安全性、健壮性、平台独立与可移...
    99+
    2023-06-20
  • Mysql基础示例分析
    这篇文章主要介绍了Mysql基础示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。   这段时间,在做一个Web项目,需要使...
    99+
    2024-04-02
  • Java面试题之分布式的示例分析
    这篇文章主要为大家展示了“Java面试题之分布式的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java面试题之分布式的示例分析”这篇文章吧。面试题1:说说什么分布式事务?解释一下什么是...
    99+
    2023-06-20
  • PHP面试题实例代码分析
    本篇内容主要讲解“PHP面试题实例代码分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP面试题实例代码分析”吧!Q1: == 和 === 之间有什么区别?话题: PHP困难: ⭐如果是两个...
    99+
    2023-06-30
  • CSS盒模型面试题的示例分析
    这篇文章主要介绍了CSS盒模型面试题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、谈谈你对CSS盒模型的认识?问题简答所有 H...
    99+
    2024-04-02
  • java中反射面试题的示例分析
    这篇文章将为大家详细讲解有关java中反射面试题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java是什么Java是一门面向对象编程语言,可以编写桌面应用程序、Web应用程序、分布式系统和嵌入...
    99+
    2023-06-14
  • Java面试题之算法的示例分析
    小编给大家分享一下Java面试题之算法的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!面试题1:你说一下常用的排序算法都有哪些?追问1:谈一谈你对快排的理...
    99+
    2023-06-20
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作