PHP面试题2021和2022面试、跳槽必备大全!

4 篇文章 1 订阅
订阅专栏
3 篇文章 0 订阅
订阅专栏

一、php面试前言

每个Phper在应聘的时候,都会有php面试与笔试。除了口语表达能力之外,还有一点就是实力,这也是你的php面试题所要体现的!那么提前掌握最新的PHP面试题,必然能使你在求职过程中事半功倍!

以下这些php面试题,希望能帮你进入你自己喜欢的公司,拿到自己最理想的收入!!!

二、PHP面试题整理大全如下

可以关注博主的微信公众号  “PHP大神”  回复  “面试题”  即可获取更多PHP面试题

1、get与post 的区别?

GET在浏览器回退时是无害的,而POST会再次提交请求

GET产生的URL地址可以被Bookmark,而POST不可以。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求在URL中传送的参数是有长度限制的,而POST没有。

对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在Request body中。

GET产生一个TCP数据包,POST产生两个TCP数据包

2、PHP 的垃圾回收机制

PHP 可以自动进行内存管理,清除不需要的对象。

PHP 使用了引用计数 (reference counting) GC 机制。

每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,计数器加 1。当 reference 离开生存空间或被设为 NULL,计数器减 1。当某个对象的引用计数器为零时,PHP 知道你将不再需要使用这个对象,释放其所占的内存空间。

3、什么是 CGI?什么是 FastCGI?php-fpm,FastCGI,Nginx 之间是什么关系?

CGI,通用网关接口,用于WEB服务器和应用程序间的交互,定义输入输出规范,用户的请求通过WEB服务器转发给FastCGI进程,FastCGI进程再调用应用程序进行处理,如php解析器,应用程序的处理结果如html返回给FastCGI,FastCGI返回给Nginx 进行输出。假设这里WEB服务器是Nginx,应用程序是 PHP,而 php-fpm 是管理 FastCGI 的,这也就是 php-fpm,FastCGI,和 Nginx 之间的关系。

FastCGI 用来提高 cgi 程序性能,启动一个master,再启动多个 worker,不需要每次解析 php.ini. 而 php-fpm 实现了 FastCGI 协议,是 FastCGI 的进程管理器,支持平滑重启,可以启动的时候预先生成多个进程。

4、什么是 Redis 穿透和雪崩

缓存穿透就是访问redis中一个不存在的key的时候,会直接穿过缓存,去数据库中进行查询.

如果是黑客,进行恶意攻击的时候,每次都请求超过2000个/秒的时候,这个时候mysql基本上就挂了.

解决办法是:每次从数据库中查询到一个不存在的key的时候,就写一个空值到缓存库中,有恶意攻击的时候,直接从缓存中取到这个空值.

缓存雪崩就是每秒有5000个请求过来时候,redis缓存库崩了,然后这些请求瞬间落在了mysql数据库上,直接导致数据库死机.

解决方案就是:

事前:提高缓存库的高可用, 使用主从结构加哨兵 cluster集群,

事中:使用ehcache+hystrix限流组件(当请求量非常巨大的时候,就调用自己开发好的一个降级饿组件,返回一些默认值,如友情提示,或者空白值)

事后:做持久化,尽快恢复缓存集群,一旦恢复,自动从磁盘上读取数据,恢复内存中的数据.

5、约瑟夫环问题,猴子选大王

一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去…,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子就叫做大王。要求编程模拟此过程,输入m、n, 输出最后那个大王的编号。用程序模拟该过程。

6、冒泡排序

思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

代码实现:

7、redis 消息队列先进先出需要注意什么?

通常使用一个list来实现队列操作,这样有一个小限制,所以的任务统一都是先进先出,如果想优先处理某个任务就不太好处理了,这就需要让队列有优先级的概念,我们就可以优先处理高级别的任务,实现方式有以下几种方式:

A)单一列表实现:队列正常的操作是 左进右出(lpush,rpop)为了先处理高优先级任务,在遇到高级别任务时,可以直接插队,直接放入队列头部(rpush),这样,从队列头部(右侧)获取任务时,取到的就是高优先级的任务(rpop)

B)使用两个队列,一个普通队列,一个高级队列,针对任务的级别放入不同的队列,获取任务时也很简单,redis的BRPOP命令可以按顺序从多个队列中取值,BRPOP会按照给出的 key 顺序查看,并在找到的第一个非空 list 的尾部弹出一个元素,redis> BRPOP list1 list2 0

list1 做为高优先级任务队列

list2 做为普通任务队列

这样就实现了先处理高优先级任务,当没有高优先级任务时,就去获取普通任务

方式1最简单,但实际应用比较局限,方式3可以实现复杂优先级,但实现比较复杂,不利于维护

方式2是推荐用法,实际应用最为合适

8、Redis 如何防止高并发?

其实redis是不会存在并发问题的,因为他是单进程的,再多的命令都是一个接一个地执行的。我们使用的时候,可能会出现并发问题,比如获得和设定这一对。Redis的为什么 有高并发问题?Redis的的出身决定

Redis是一种单线程机制的nosql数据库,基于key-value,数据可持久化落盘。由于单线程所以redis本身并没有锁的概念,多个客户端连接并不存在竞争关系,但是利用jedis等客户端对redis进行并发访问时会出现问题。发生连接超时、数据转换错误、阻塞、客户端关闭连接等问题,这些问题均是由于客户端连接混乱造成。

同时,单线程的天性决定,高并发对同一个键的操作会排队处理,如果并发量很大,可能造成后来的请求超时。

在远程访问redis的时候,因为网络等原因造成高并发访问延迟返回的问题。

解决办法

在客户端将连接进行池化,同时对客户端读写Redis操作采用内部锁synchronized。

服务器角度,利用setnx变向实现锁机制。

9、说说对 SQL 语句优化有哪些方法?

(1)Where子句中:where表之间的连接必须写在其他Where条件之前,那些可以过滤掉最大数量记录的条件必须写在Where子句的末尾.HAVING最后。

(2)用EXISTS替代IN、用NOT EXISTS替代NOT IN。

(3) 避免在索引列上使用计算

(4)避免在索引列上使用IS NULL和IS NOT NULL

(5)对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。

(6)应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描

(7)应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描

10、我应该在什么时候使用 require 和 include 呢?

require() 函数与 include() 函数相同,只是它处理错误的方式不同。如果出现错误,include() 函数会生成警告,但脚本会继续执行。require() 函数会产生致命错误,脚本会停止。

我的建议是 99.9% 的时间里只使用 require_once。

使用 require 或 include 代替意味着您的代码在其他地方不可重用,即您引入的脚本实际上是在执行代码,而不是提供类或某些类功能库。

11、PHP 中的 stdClass 是什么?

stdClass 只是将其他类型强制转换为对象时使用的通用” 空’’类。stdClass 不是 PHP 中对象的基类。这可以很容易地证明:

对于匿名对象,动态属性等很有用。

考虑 StdClass 的一种简单使用场景是替代关联数组。请参见下面的示例,该示例显示 json_decode() 如何允许获取 StdClass 实例或关联数组。

同样但未在本示例中显示的SoapClient::__soapCall返回一个StdClass实例。

12、PHP 中的 die () 和 exit () 函数有什么不同?

没有区别,它们是一样的。 选择die()而不是exit()的唯一好处可能是你节省了额外键入一个字母的时间。

13、isset () 和 array_key_exists () 之间有什么区别?

array_key_exists 它会告诉你数组中是否存在键,并在 $a 不存在时报错。

如果 key 或变量存在且不是 null,isset 才会返回 true。当 $a 不存在时,isset 不会报错。

考虑:

14、var_dump () 和 print_r () 有什么不同?

var_dump函数用于显示变量 / 表达式的结构化信息,包括变量类型和变量值。数组递归浏览,缩进值以显示结构。它还显示哪些数组值和对象属性是引用。

print_r()函数以我们可读的方式显示有关变量的信息。数组值将以键和元素的格式显示。类似的符号用于对象。

考虑:

var_dump($obj)将在屏幕的输出下方显示:

print_r($obj)将在屏幕的输出下方显示:

15、如何在 PHP 中启用错误报告?

检查 php.ini 中的 “display_errors” 是否等于 “on”,或者在脚本中声明 “ini_set('display_error',1)”。

然后,在你的代码中包含 “ERROR_REPORTING(E_ALL)”,以便在脚本执行期间显示所有类型的错误消息。

16、我们如何在 PHP 中处理异常?

当程序执行出现异常报错时,后面的代码将不会再执行,这时 PHP 将会尝试匹配第一个 catch 块进行异常的处理,如果没有捕捉到异常程序将会报致命错误并显示”Uncaught Exception”。

可以在 PHP 中抛出和捕获异常。

为了处理异常,代码可以被包围在”try” 块中.

每个 try 必须至少有一个对应的catch块 。多个不同的 catch 块可用于捕获不同类的异常。

在 catch 块中也可以抛出异常(或重新抛出之前的异常)。

思考:

17、PHP 和 Javascript 是如何交互的?

PHP 和 Javascript 无法直接进行交互,因为 PHP 是一种服务器端语言,而 Javascript 是一种浏览器语言。但是,我们可以交换变量,因为 PHP 可以生成将由浏览器执行的 Javascript 代码,并且可以通过 URL 将特定的变量传递回 PHP。

18、PHP 处理图片需要添加什么扩展?

需要 GD 库来执行处理图片功能。

19、获取图片属性(size, width, 和 height)的函数是什么?

获取图片大小 size:getimagesize ();获取图片宽度 width:imagesx ();获取图片高度 height:imagesy ()。

20、如何使用 PHP 脚本显示文本?

可以使用以下两种方法:

<!--?php echo "Method 1"; print "Method 2"; ?-->

21如何将数据导出到 Excel 文件中?

最常见和常用的方法是将数据转换为 Excel 支持的格式。例如,可以编写 .csv 文件,例如选择逗号作为字段之间的分隔符,然后使用 Excel 打开文件。

22、如何在 PHP 中处理 MySQL 的结果集?

可以使用 mysqli_fetch_array, mysqli_fetch_assoc, mysqli_fetch_object or mysqli_fetch_row 函数处理。可以关注博主的微信公众号  “PHP大神”  回复  “面试题”  即可获取更多PHP面试题

23、如何检查给定变量的值为字母和数字字符?

可以使用专用函数 ctype_alnum 来检查它是否为字母数字字符。

24、哪种加密扩展可以生成和验证数字签名?

PHP-OpenSSL 扩展提供了几种加密操作,包括数字签名的生成和验证。

25、如何在 PHP 中强制转换类型?

输出类型的名称必须在要强制转换的变量前的括号中指定,如下所示:

(int), (integer) - 强制转换为整型

(bool), (boolean) - 强制转换为布尔值

(float), (double), (real) - 强制转换为浮点型

(string) - 强制转换为字符串

(array) - 强制转换为数组

(object) - 强制转换为对象

26、PHP 中如何使用三元条件运算符?

它由三个表达式组成:一个条件和两个操作数,它们描述在指定条件为 true 或 false 时应执行的指令,如下所示:

Expression_1?Expression_2 : Expression_3;

27、如何完成微信的接口配置? 以及配置失败的原因?

填写的URL需要正确响应微信发送的Token验证

失败原因未删除里面的html文件

28、如何获取微信发送的内容?

$postStr = file_get_contents("php://input");

29、网页授权用户消息流程步骤

引导用户进入授权页面同意授权,获取code

通过code换取网页授权access_token(与基础支持中的access_token不同)

如果需要,开发者可以刷新网页授权access_token,避免过期

通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)

30、描述小程序的框架

框架名称:MINA (MINA IS NOT APP) 是在微信中开发小程序的框架。

框架结构 :MINA 框架由两部分组成。视图层 (View) 和逻辑层 (App Service)。

框架特征:响应式的数据绑定 (MINA 用响应式数据绑定的方式,在视图层和逻辑层之间进行通信。从某种程度上,可以看成是 MVVM 模式。)

结构:MINA 程序包含一个描述整体程序的 app 和多个描述各自页面的 page。

一个 MINA 程序主体部分由三个文件组成,必须放在根目录下。

Paste_Image.png

一个 MINA 页面由四个文件组成。

31、假如 Redis 里面有 1 亿个 key,其中有 10w 个 key 是以某个固定的已知的前缀开头的,如果将它们全部找出来?

使用 keys 指令可以扫出指定模式的 key 列表。

对方接着追问:如果这个 redis 正在给线上的业务提供服务,那使用 keys 指令会有什么问题?

这个时候你要回答 redis 关键的一个特性:redis 的单线程的。keys 指令会导致线程阻塞一段时间,线上服务会停顿,直到指令执行完毕,服务才能恢复。这个时候可以使用 scan 指令,scan 指令可以无阻塞的提取出指定模式的 key 列表,但是会有一定的重复概率,在客户端做一次去重就可以了,但是整体所花费的时间会比直接用 keys 指令长。

32、使用过 Redis 做异步队列么,你是怎么用的?

一般使用 list 结构作为队列,rpush 生产消息,lpop 消费消息。当 lpop 没有消息的时候,要适当 sleep 一会再重试。

如果对方追问可不可以不用 sleep 呢?list 还有个指令叫 blpop,在没有消息的时候,它会阻塞住直到消息到来。

如果对方追问能不能生产一次消费多次呢?使用 pub/sub 主题订阅者模式,可以实现 1:N 的消息队列。

如果对方追问 pub/sub 有什么缺点?在消费者下线的情况下,生产的消息会丢失,得使用专业的消息队列如 rabbitmq 等。

如果对方追问 redis 如何实现延时队列?我估计现在你很想把面试官一棒打死如果你手上有一根棒球棍的话,怎么问的这么详细。但是你很克制,然后神态自若的回答道:使用 sortedset,拿时间戳作为 score,消息内容作为 key 调用 zadd 来生产消息,消费者用 zrangebyscore 指令获取 N 秒之前的数据轮询进行处理。

33、如果有大量的 key 需要设置同一时间过期,一般需要注意什么?

如果大量的 key 过期时间设置的过于集中,到过期的那个时间点,redis 可能会出现短暂的卡顿现象。一般需要在时间上加一个随机值,使得过期时间分散一些。

34、Yii2 的自动加载原理

检查类名是否已缓存在$classMap或$_coreClasses数组中,如果是则直接require相应的文件路径,$_coreClasses是框架自有类的映射表;否则去第2步;

检测YiiBase::$enableIncludePath是否为false,如果是则去第3步,否则直接include($className . '.php')

遍历$includePaths数组,将目录名拼接上类名,检查是否为合法的php文件,如果是则include,然后跳出循环

结束。

35、进程和线程的关系

进程就像地主,有土地(系统资源),线程就像佃户(线程,执行种地流程)。每个地主(进程)只要有一个干活的佃户(线程)。

进程-资源分配的最小单位,相对健壮,崩溃一般不影响其他进程,但是切换进程时耗费资源,效率差些。

线程-程序执行的最小单位,没有独立的地址空间,一个线程死掉可能整个进程就死掉,但是节省资源,切换效率高。

36、php 编程常见的进程和线程

在web应用中,我们每次访问php,就建立一个PHP进程,当然也会建立至少一个PHP线程。

PHP使用pcntl来进行多进程编程

PHP中使用pthreads来进行多线程编程

nginx的每个进程只有一个线程,每个线程可以处理多个客户端的访问

php-fpm使用多进程模型,每个进程只有一个线程,每个线程只能处理一个客户端访问。

apache可能使用多进程模型,也可能使用多线程模型,取决于使用哪种SAPI.

进程是cpu资源分配的最小单位,线程是cpu调度的最小单位

37、如何设计支付接口

接口规则

传输方式 为保证交易安全性,采用HTTPS传输

提交方式 采用POST方法提交

数据格式 提交和返回数据都为XML格式,根节点名为xml

字符编码 统一采用UTF-8字符编码

签名算法 MD5,后续会兼容SHA1、SHA256、HMAC等。

签名要求 请求和接收数据均需要校验签名,详细方法请参考安全规范-签名算法

证书要求 调用申请退款、撤销订单接口需要商户证书

判断逻辑 先判断协议字段返回,再判断业务返回,最后判断交易状态

参数规定

交易金额

交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金额单位为【元】。

外币交易的支付金额精确到币种的最小单位,参数值不能带小数点。

交易类型

JSAPI--JSAPI支付(或小程序支付)、NATIVE--Native支付、APP--app支付,MWEB--H5支付,不同trade_type决定了调起支付的方式,请根据支付产品正确上传

MICROPAY--付款码支付,付款码支付有单独的支付接口,所以接口不需要上传,该字段在对账单中会出现

货币类型

货币类型的取值列表:

CNY:人民币

时间

标准北京时间,时区为东八区;如果商户的系统时间为非标准北京时间。参数值必须根据商户系统所在时区先换算成标准北京时间, 例如商户所在地为0时区的伦敦,当地时间为2014年11月11日0时0分0秒,换算成北京时间为2014年11月11日8时0分0秒。

时间戳

标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。

商户订单号

商户支付的订单号由商户自定义生成,仅支持使用字母、数字、中划线-、下划线_、竖线|、星号*这些英文半角字符的组合,请勿使用汉字或全角等特殊字符。微信支付要求商户订单号保持唯一性(建议根据当前系统时间加随机序列来生成订单号)。重新发起一笔支付要使用原订单号,避免重复支付;已支付过或已调用关单、撤销(请见后文的API列表)的订单号不能重新发起支付。

body字段格式

使用场景 支付模式 商品字段规则 样例 备注

PC网站 扫码支付 浏览器打开的网站主页title名 -商品概述 腾讯充值中心-QQ会员充值

微信浏览器 公众号支付 商家名称-销售商品类目 腾讯-游戏 线上电商,商家名称必须为实际销售商品的商家

门店扫码 公众号支付 店名-销售商品类目 小张南山店-超市 线下门店支付

门店扫码 扫码支付 店名-销售商品类目 小张南山店-超市 线下门店支付

门店刷卡 刷卡支付 店名-销售商品类目 小张南山店-超市 线下门店支付

第三方手机浏览器 H5支付 浏览器打开的移动网页的主页title名-商品概述 腾讯充值中心-QQ会员充值

第三方APP APP支付 应用市场上的APP名字-商品概述 天天爱消除-游戏充值

银行类型

安全规范

签名算法

(签名校验工具)

签名生成的通用步骤如下:

第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。

特别注意以下重要规则:

◆ 参数名ASCII码从小到大排序(字典序);

◆ 如果参数的值为空不参与签名;

◆ 参数名区分大小写;

◆ 验证调用返回或微信主动通知签名时,传送的sign参数不参与签名,将生成的签名与该sign值作校验。

◆ 微信接口可能增加字段,验证签名时必须支持增加的扩展字段

第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

◆ key设置路径:微信商户平台(微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式)-->账户设置-->API安全-->密钥设置

第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:

第二步:拼接API密钥:

生成随机数算法

微信支付API接口协议中包含字段nonce_str,主要保证签名不可预测。我们推荐生成随机数算法如下:调用随机数函数生成,将得到的值转换为字符串。

API证书

获取API证书(什么是api证书?如何升级?)

微信支付接口中,涉及资金回滚的接口会使用到API证书,包括退款、撤销接口。商家在申请微信支付成功后,收到的相应邮件后,可以按照指引下载API证书,也可以按照以下路径下载:微信商户平台(微信支付 - 中国领先的第三方支付平台 | 微信支付提供安全快捷的支付方式)-->账户中心-->账户设置-->API安全 。证书文件说明如下:

证书附件 描述 使用场景 备注

pkcs12格式

(apiclient_cert.p12、 包含了私钥信息的证书文件,为p12(pfx)格式,由微信支付签发给您用来标识和界定您的身份 撤销、退款申请API中调用 windows上可以直接双击导入系统,导入过程中会提示输入证书密码,证书密码默认为您的商户ID(如:10010000)

以下两个证书在PHP环境中使用:

证书附件 描述 使用场景 备注

证书pem格式

(apiclient_cert.pem) 从apiclient_cert.p12中导出证书部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制 PHP等不能直接使用p12文件,而需要使用pem,为了方便您使用,已为您直接提供 您也可以使用openssl命令来自己导出:openssl pkcs12 -clcerts -nokeys -in apiclient_cert.p12 -out apiclient_cert.pem

证书密钥pem格式

(apiclient_key.pem) 从apiclient_key.pem中导出密钥部分的文件,为pem格式,请妥善保管不要泄漏和被他人复制 PHP等不能直接使用p12文件,而需要使用pem,为了方便您使用,已为您直接提供 您也可以使用openssl命令来自己导出:openssl pkcs12 -nocerts -in apiclient_cert.p12 -out apiclient_key.pem

使用API证书

◆ apiclient_cert.p12是商户证书文件,除PHP外的开发均使用此证书文件。

◆ 商户如果使用.NET环境开发,请确认Framework版本大于2.0,必须在操作系统上双击安装证书apiclient_cert.p12后才能被正常调用。

◆ API证书调用或安装需要使用到密码,该密码的值为微信商户号(mch_id)

API证书安全

证书文件不能放在web服务器虚拟目录,应放在有访问权限控制的目录中,防止被他人下载;

建议将证书文件名改为复杂且不容易猜测的文件名;

商户服务器要做好病毒和木马防护工作,不被非法侵入者窃取证书文件。

商户回调API安全

在普通的网络环境下,HTTP请求存在DNS劫持、运营商插入广告、数据被窃取,正常数据被修改等安全风险。商户回调接口使用HTTPS协议可以保证数据传输的安全性。所以微信支付建议商户提供给微信支付的各种回调采用HTTPS协议。

38、三次握手,四次挥手,为什么是三次握手四次挥手

四次挥手

TCP的连接的拆除需要发送四个包,因此称为四次挥手。客户端或服务器均可主动发起挥手动作。

由于TCP连接时全双工的,因此每个方向都必须单独进行关闭。这个原则是当一方完成他的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

这是因为服务端的LISTEN状态下的socket当收到SYN报文连接的请求后,它可以把ACK和SYN放在一个报文里来发送。但关闭连接时,当收到对方的FIN报文通知时,他仅仅表示对方没有数据发送给你了,但未必你的所有数据都全部发送给对方了,所以你可以不马上关闭socket,即你可能还会发送一些数据给对方之后,在发送FIN报文给对方来表示你同意现在可以关闭连接了,所以这里的ACK和FIN报文多情况下都是分开发送的。

39、可以关注博主的微信公众号  “PHP大神”  回复  “面试题”  即可获取更多PHP面试题

2022php面试题.docx
11-11
2022php面试题.docx
2021面试题、Java2021面试题2022面试题、Java2022面试题
12-31
Java前后开发面试题,大厂进阶之路,基于JavaGuide、Cyc大佬、牛客上的面经及王道考研相关视频,并改进了其中说法矛盾或含糊之处。 包含计算机网络知识、JavaSE、JVM、Spring、Springboot、SpringCloud、Mybatis、多线程并发、netty、MySQL、MongoDB、Elasticsearch、Redis、HBASE
20个PHP必面经典且最新的热点面试题,以及对应的答案和超全超详细解析
最新发布
man2017的博客
04-18 703
以下是20个PHP必面经典且最新的热点面试题,以及对应的答案和详细解析:
2022PHP面试题.doc
11-11
2022PHP面试题.doc
vue面试题2021及答案.pdf
12-14
vue面试题2021及答案.pdf
20道必备PHP面试题及详细答案解析
lcd_13052358136的博客
04-15 2021
答:使用session_start()函数和$_SESSION变量。答:使用setcookie()函数和$_COOKIE变量。答:使用try、catch和throw关键字。答:使用include和require关键字。答:使用require和include关键字。答:使用if、elseif和else关键字。答:使用switch和case关键字。答:使用function关键字。答:使用do和while关键字。答:使用define()函数。答:使用while关键字。答:使用函数名和参数。答:使用for关键字。
2023年PHP面试题30道详细整理(附带答案)
qq_33665793的博客
07-20 9315
2023年PHP面试题30道详细整理(附带答案)
PHP常见中高面试题汇总(附答案)
清风朗月的博客
04-05 1万+
一、 PHP部分PHP如何实现静态化PHP的静态化分为:纯静态和伪静态。其中纯静态又分为:局部纯静态和全部纯静态。PHP伪静态:利用Apache mod_rewrite实现URL重写的方法;PHP纯静态,就是生成HTML文件的方式,我们须要开启PHP自带的缓存机制,即ob_start来开启缓存。PHP经典四大排序算法PHP的四种基本排序算法为:冒泡排序、插入排序、选择排序和快速排序。冒泡排序:对数组进行多轮冒泡,每一轮对数组中的元素两两比较,调整位置,冒出一个最大的数来。
PHP - 经典面试题大全,看这一篇就够了
热门推荐
Chon.Wang
09-05 1万+
php面试题大全PHP - 经典面试题大全,看这一篇就够了
PHP面试题汇总及答案
2301_78021017的博客
06-17 2333
int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串,char的场地固定为创建表设置的长度,varchar为可变长度的字符。echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值print()只能打印出简单类型变量的值(如int,string)(3)软件的开发,PHP-GTK等第三方的软件,使用php语法配合其他的语言开发软件。(2)脚本的开发,Shell 脚本、 windows的计划任务等。
PHP面试题(附答案)
zyk141的博客
03-29 1545
讲述基本原理:用户访问A网站登陆并生成了cookie,再访问B网站,如果A网站存在CSRF漏洞,此时B网站给A网站的请求(此时相当于是用户访问),A网站会认为是用户发的请求,从而B网站就成功伪装了你的身份,因此叫跨站脚本攻击。B、InnoDB类型支持事务,行锁,有崩溃恢复能力,读写速度比MyISAM慢,适合于插入和更新操作比较多的应用,空间占用大,不支持全文索引等。ajax是异步传输技术,可以通过javascript实现,也可以通过JQuery框架实现,实现局部刷新,减轻了服务器的压力,也提高了用户体验。
2022最新java面试题大全
05-08
java面试题
知识点总结130
chen782079048的博客
06-02 3845
php 题常识总结
2020年PHP最新面试题(含答案)
weixin_46742102的博客
09-29 1008
1. 数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?什么是数据库垂直拆分?水平拆分?分区等等 一:为什么要分表 当一张表的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,有可能会死在那儿了。分表的目的就在于此,减小数据库的负担,缩短查询时间。日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表。这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询的情况,性能会更加糟糕。分表和表分区的目的就
PHP常见面试题(更新)
weixin_44870104的博客
04-18 252
--------PHP常见面试题 1.什么是面向对象?(理解着回答) 面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节。 面向对象有三大特征:封装性、继承性、多态性。 现在纯正的OO语言主要是 Java 和 C#,PHP、C++也支持OO,C是面向过程的。 2.面向对象的特征有哪些方面? 主要有封装,继承,多态。如果是4...
都2023年了这些PHP基础面试题还有用吗?精选31~40题去背吧!
极客小俊
08-23 749
我已经不行了,真不想背题了!
php面试题(附带答案)
weixin_39734609的博客
03-05 5070
1、设计模式 单例、工厂、适配器、策略、观察者、注册 、原型、装饰器 2、高并发 流量:防止盗链、限制恶意请求 前端:页面缓存、限制大文件下载、图片压缩、cdn加速 后端:队列、静态缓存、并发处理 数据库:缓存、优化、负载均衡、分库、读写分离 服务器:nginx 反向代理、lvs 负载均衡,分流主机。加带宽 3、post与get区别 get url链接明文访问、不安全、传输数据受限、搜索数据 post 相对安全、数据不限、提交数据 4、apache和nginx区别 apache 稳定、动态处理优于n
PHP基础面试题大全(附带详细答案)
geegtb的博客
03-21 1908
php面试中遇到的一些基础问题
spring面试题2021
06-19
Spring是一种基于Java平台的应用程序框架,它提供了开发企业级Java应用所需的基础设施,并且广泛地应用于企业级Java应用开发中。 对于Spring面试题,首先需要掌握Spring的核心概念和原理,例如掌握Spring IOC、AOP的原理,了解Spring的Bean、Context、MVC等模块的作用及其使用方式。同时需要熟练掌握Spring常用的注解和配置方式,例如@Bean、@Component、@Configuration等注解,以及XML和Java Config等配置方式的使用方法。 在面试中,也需要注意一些常见的Spring问题和解决方法,例如内存泄漏、死锁、事务失效等问题的处理方式。此外,如果对于Spring Boot有所了解,则也可以在面试中进行展示,例如掌握Spring Boot中的自动配置原理、Actuator的使用方法等。 总之,对于Spring面试题,掌握Spring的核心概念和原理、注解和配置方式,以及常见问题的处理方式,能够在面试中更好的展现自己的能力和水平,从而获得理想的工作机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • C语言基础知识入门大全 589048
  • C语言必背18个经典程序,2022年C语言必背100代码大全 156503
  • 最新C语言编程软件推荐(2021整理) 90266
  • 2021年最新C语言教程入门,C语言自学教程(最全整理) 76731
  • c语言爱心代码 68498

分类专栏

  • java 11篇
  • linux常用命令 4篇
  • C语言基础知识入门 5篇
  • C语言 18篇
  • C语言入门基础知识 1篇
  • .net 4篇
  • C# 1篇
  • C语言必背100代码 1篇
  • C语言必背18个经典程序 1篇
  • 面试 1篇
  • C++ 18篇
  • 编程语言 19篇
  • C语言贪吃蛇
  • 数据库 1篇
  • C++开发工具 1篇
  • javascript 3篇
  • C语言教程 1篇
  • go 2篇
  • php 4篇
  • web开发 3篇

最新评论

  • C语言必背18个经典程序,2022年C语言必背100代码大全

    sljira: 期末考试就靠它了,看了之后发现有好多不懂的地方,还需要努力学习

  • C语言基础知识入门大全

    十一点就睡-: Haolihai

  • C语言基础知识入门大全

    十一点就睡-: Haolihai

  • 都说了能不动就别动,非要去调整,出生产事故了吧

    温州的他: 能回复一下吗

  • C语言基础知识入门大全

    重꯭拾꯭旧꯭梦꯭i: 感谢大佬的总结

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 记一次OutOfMemoryError异常代码定位过程
  • 都说了能不动就别动,非要去调整,出生产事故了吧
  • 趣讲CPU的SIMD技术 ,快来看看吧?
2024年3篇
2023年15篇
2022年13篇
2021年78篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员张小妍

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

两个鬼故事唐山区号周易免费起名网取名生辰八字河口恭吾名典免费起名测名网站查起姓名大全天道盟征字起名大全2018年狗年宝宝起名字宇智波斑怎么死的李的小孩起名字吴碧瑄100分起名称五行缺水起什么名字好呢诸葛亮起名字趔趄是什么意思绿化苗木公司起名大全周易易经取名起名大全小仲马微信拍一拍新增炸一炸功能金辰勇分公司起名侦探学院qhttpvideo.baidu.com/商标起名测名字大全王怎么起名女孩瓷都免费起名测算结果宋词起名 女孩子名字如何起名字最好的方法有佳字起名的小孩起名字测分大全免费少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化