PHP面试专栏
文章平均质量分 75
拿命搏未〃来
这个作者很懒,什么都没留下…
展开
-
算法面试题
对栈的理解:栈的定义及知识1.定义:栈又称为栈或者堆叠,是计算机科学中的一种特殊的串列形式的抽象数据类型,特殊之处在于只 允许在链表或者数组的一端(堆栈顶端指针,又称 “top”)加入数据push(压栈)和输出数据pop(弹栈),另外 栈也可以使用一维数组和链表来实现。2.栈的特点: a.先进后出(后进先出),也就是说,我们只能在栈顶端push(压栈)加入数据,也只能在栈顶端 pop(弹栈)删除数据; b.栈除了top(栈顶)和base(栈底)之外,其他的每个元素都有一个前驱和后继;用代码.原创 2021-04-29 00:24:11 · 54 阅读 · 0 评论 -
Nginx配置优化
Nginx运行工作进程数量Nginx运行工作进程个数一般设置CPU的核心或者核心数x2。如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/cpuinfo文件grep ^processor /proc/cpuinfo | wc -l[root@lx~]# vi/usr/local/nginx1.10/conf/nginx.confworker_processes 4;[root@lx~]# /usr/local/nginx1.10/sbin/nginx-s relo.转载 2021-04-28 22:48:54 · 194 阅读 · 0 评论 -
Redis必备面试题
Redis如何实现延时队列使用sortedset,使用时间戳做score,消息内容作为key,调用zadd来生产消息,消费者使用zrangbyscore获取n秒之前的数据做轮询处理。redis缓存击穿是什么?如何解决?缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又同时去数据库去取数据,引起数据库压力瞬间增大,造成过大压力。和缓存雪崩不同的是,缓存击穿指并发查同一条数据,缓存雪崩是不同数据都过期了,很多数据都查不到从而查数.原创 2021-04-28 21:56:48 · 206 阅读 · 1 评论 -
一次网络请求的完整过程
客户端的视角用户输入URL,浏览器解析url我们都知道,url其实是一种方便人类记忆的标识符,实际上计算机都是通过IP地址进行通信的。这个url转IP的过程就叫解析域名。 步骤一般分为下面几步:1.利用本地host文件进行解析2.向本地DNS服务器请求解析3.本地DNS服务器向根DNS服务器、域服务器等请 求解析(有递归和迭代两种方式)4.本地DNS服务器在请求完成后需要缓存url和ip的映射关系浏览器发起连接浏览器会先和服务器建立TCP连接(80端口),再构造http报文发送ht原创 2021-04-28 21:33:36 · 2223 阅读 · 0 评论 -
mysql必备面试题
订单、库存两个表 如何保证数据的一致性?在一个电子商务系统中,正常的应该是订单生成成功后,相应的库存进行减少必须要保证两者的一致性,但有时候因为某些原因,比如程序逻辑问题,并发等问题,导致下单成功而库存没有减少的情况。这种情况我们是不允许发生的,MySQL的中的事务刚好可以解决这一问题,首先得选择数据库的存储引擎为InnoDB的,事务规定了只有下订单完成了,并且相应的库存减少了才允许提交事务,否则就事务回滚,确保数据一致性。外键的作用保持数据一致性,完整性,主要目的是控制存储在外键表中的.原创 2021-04-28 21:19:34 · 201 阅读 · 0 评论 -
php必备面试题
以下代码会输出啥内容?A.ABCB.DEFC.其它D.我不知道<?php class a{ var $abc="ABC"; } $b=new a; $c=$b; $b->abc="DEF"; echo $c->abc;?>以下代码会输出啥内容?A.102B.1C.101D.其它$a=2;$b=1;function test(&$a){ $a=$a+100;}test($b);echo $b;PHP抽象类可以.原创 2021-04-28 20:23:21 · 143 阅读 · 0 评论