![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php面试
文章平均质量分 60
兔头哥哥
正在积极治疗秃顶
展开
-
PHP性能优化
压力测试工具与优化方法概述php性能问题,一般只会占整体项目性能问题的30%左右做性能优化之前先用压力测试工具测试下,并发情况,并以此做优化效果的评估php性能优化点例子:转载 2021-03-25 00:25:10 · 550 阅读 · 0 评论 -
优化SQL语句
优化SQL语句执行效率的方法,从哪些方面,SQL语句性能如何分析原创 2021-03-23 20:02:27 · 217 阅读 · 0 评论 -
面试技巧
面试技巧1、面前准备1.1、注意形象1.2、提前了解面试公司1.3、充分准备1.4、注意事项2、面试表现3、面试机会1、面前准备1.1、注意形象穿衣得体、注意言行举止1.2、提前了解面试公司公司情况(公司多少人)公司业务情况(入职后做什么工作、做什么样的业务)1.3、充分准备1、自我介绍(通过自我介绍可以了解下自己的经历、谈吐、沟通能力)2、对所学知识做充分复习3、重点复习自己易凡的错误4、充分休息1.4、注意事项遵守时间:尽量不到提前太早到达,提前5分钟为佳,切勿迟到注意言行原创 2021-04-05 23:56:16 · 112 阅读 · 0 评论 -
高并发-数据库缓存
高并发-数据库缓存1、什么是数据库缓存2、为什么要使用缓存3、MySQL的查询缓存3.1、MySQL查询缓存配置:3.2、如何清理缓存:4、使用Memcache缓存4.1、Memcache简介4.2、Memcache工作原理4.3、memcache当做缓存层的工作流程4.4、memcache使用方法4.5、memcache与redis的区别1、什么是数据库缓存MySQL等一些常见的关系型数据库的数据都存储在磁盘中,在高并发情况下,业务应用对MySQL产生的增删改查操作造成巨大IO开销和查询压力,这对数据原创 2021-04-05 18:56:58 · 867 阅读 · 0 评论 -
动态语言静态化
动态语言静态化1、什么是动态语言静态化2、为什么要静态化3、静态化实现方式3.1、使用模板引擎3.2、利用ob系列函数1、什么是动态语言静态化将现有PHP等动态语言的逻辑代码,生成静态html文件,用户访问动态脚本重定向到静态html文件的过程。只有实时性要求不高的页面才可以做静态化2、为什么要静态化动态脚本通常会做逻辑运算和数据查询,访问量越大,服务器压力越大访问量大时可能会造成CPU负载过高,数据库服务器压力过大静态化可以减低逻辑处理压力,降低数据库服务器查询压力3、静态化实现方式3.原创 2021-04-03 13:03:21 · 102 阅读 · 0 评论 -
高并发-独立图片服务器
高并发-独立图片服务器1、独立图片服务器的必要性2、为什么要尽量采用独立域名3、独立后的问题3.1、如何进行图片上传和图片同步1、独立图片服务器的必要性1.1、分担web服务器的IO负载,将耗费资源的图片服务分离出来,提高服务器的性能和稳定性1.2、能够专门对图片服务器进行优化,为图片服务设置针对性的缓存方案,减少带宽成本,提高访问速度1.3、提高网站的可扩展性(通过增加图片服务器,提高图片吞吐能力)2、为什么要尽量采用独立域名原因:1、同一域名下浏览器的并发连接数有限制,为了突破浏览器连接数原创 2021-04-03 11:49:39 · 287 阅读 · 0 评论 -
2021-04-03
高并发-CDN加速1、什么是CDN2、CDN优势3、CDN工作原理3.1、传统访问模式:3.2、使用CDN访问4、CDN适用场景5、CDN实现1、什么是CDN内容分发网络(Content Delivery Network)尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和缓解,是内容传输更快,更稳定比如深圳访问北京服务器上的内容会比较慢,那么CDN则会将北京服务器上的内容缓存一份在深圳的节点上,那么深圳访问起来就会快很多,因为不用再访问北京了CDN系统能实时根据网络流量和各个节点的连接,负载原创 2021-04-03 11:24:35 · 104 阅读 · 0 评论 -
高并发优化--减少HTTP请求
高并发优化--减少HTTP请求1、为什么需要减少HTTP请求1.1、性能黄金法则1.2、DNS缓存和Keep-Alive谣言1.3、改善请求1.4、http请求的步骤2、减少HTTP请求方式2.1、图片地图2.2、CSS Sprites(css精灵)2.3、合并css和js2.4、外部js和css2.5、图片使用base64编码1、为什么需要减少HTTP请求1.1、性能黄金法则只有10%到20%的最终用户响应时间花在接收请求的HTML文档上,剩下的80%-90%时间花在HTML文档所引用的所有组件(图原创 2021-03-31 23:23:20 · 307 阅读 · 0 评论 -
高并发优化--防盗链
防盗链1、盗链2、防盗链2.1、防盗链工作原理2.1.1、Referer防盗链2.1.2、签名防盗链2.2、Referer2.3、加密签名3、传统防盗链遇到的问题1、盗链在自己的页面上展示一些非自己服务器上的内容(图片、音乐、视频、软件等资源)获得他人服务器上的资源地址,绕过别人的资源展示页面,直接在自己的页面上向用户展示最终的内容2、防盗链防止别人通过技术手段绕过本站的资源展示页面,盗用本站的资源,让绕开本站资源展示页面的资源链接失效可以大大减轻服务器以及带宽压力2.1、防盗链工作原理2.原创 2021-03-31 22:47:26 · 98 阅读 · 0 评论 -
常见数据结构
常见数据结构1、数组2、LinkedList3、Stack4、Heap5、list6、double-linked-list7、queue8、set9、map10、graph1、数组最简单且应用最广泛的数据结构之一特性:使用连续的内存来存储,数组中的所有元素必须是相同的类型或类型的衍生(同质数据结构)、元素可以通过下标直接访问php数组:php数组在原有情况下作了改进,更能更为强大2、LinkedListLinkedList(链表):线性表的一种,最基本,最简单,最常用的数据结构特性:元素之间的原创 2021-03-29 21:47:58 · 100 阅读 · 0 评论 -
算法基础
算法基础1、算法概念:2、时间复杂度:2.1、时间复杂度其他概念2.2、时间复杂度计算方式2.2.1、时间复杂度计算方式3、空间复杂度4、排序算法4.1、冒泡排序4.2、直接插入排序4.3、希尔排序4.4、选择排序4.5、快速排序4.6、堆排序4.7、归并排序5、查找算法5.1、二分查找5.2、顺序查找1、算法概念:解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作一个算法具有以下五个特征有穷性(算法要能计算完)确切性(每一步都要有意义)输入项()输出原创 2021-03-28 23:34:32 · 137 阅读 · 0 评论 -
php常见框架
PHP常见框架1、Yaf1.1、优点:1.2、缺点:2、Yii22.1、优点2.2、缺点:1、YafYaf是使用c扩展的方式写的框架,以C语言为底层编写,性能上比php代码写的框架快一个量级1.1、优点:执行效率高,轻量级框架,可扩展性强1.2、缺点:高版本兼容性差(如果要升级php,此时会比较麻烦)底层代码阅读性差(不能看到底层源码)需要安装扩展功能单一(开发时需要编写大量的插件)2、Yii22.1、优点功能强,扩展性强,性能高2.2、缺点:学习成本高相比Yaf,量级重原创 2021-03-28 12:09:01 · 103 阅读 · 0 评论 -
PHP常见面试题
这里写目录标题逻辑题逻辑题1、写一个函数,不使用array_merge完成多个数组的合并2、不适用php函数,写一个反转字符串的函数3、1,1,2,3,5,8,13,21,34…求第30位的数是多少,请用代码实现原创 2021-03-29 22:55:18 · 82 阅读 · 0 评论 -
SQL查询的安全方案
SQL查询的安全方案MySQL防止SQL注入MySQL其他安全设置MySQL防止SQL注入1、使用预处理语句防止SQL注入2、写入数据库的数据要进行特殊字符的转义3、查询错误信息不要返回给用户,将错误记录到日志MySQL其他安全设置1、定期做数据备份2、不给查询用户root权限,合理分配权限3、关闭远程访问数据库权限4、修改root口令,不用默认口令,使用较复杂的口令5、删除多余用户6、改变root用户名7、限制一般用户浏览其他库8、限制用户对数据文件的访问权限问:为什么PD原创 2021-03-27 23:06:23 · 136 阅读 · 0 评论 -
MySQL的查询SQL语句编写
MySQL查询交叉连接内连接内连接分三类:等值连接:ON A.id = B.id不等值连接:ON A.id > B.id自连接:SELECT * FROM A T1 INNER JOIN A T2 ON T1.id=T2.pid左右外连接联合查询全连接嵌套查询关联查询技巧题目...原创 2021-03-23 00:04:35 · 236 阅读 · 1 评论 -
MySQL索引
1、MySQL索引基础和类型1.1、索引基础索引类似书籍的目录,要找到一本书的特定主题,需要先查找书的目录。书的目录就相当于书的索引存储引擎用类型方法进行数据查询,先去索引中找到对应值,然后根据匹配的索引记录找到对应的数据行1.2、索引类型索引类型有多重,都是实现在存储引擎层的,一个表只能有一个主键索引,可以有多个唯一索引,主键可以与外键构成参照完整性约束,防止数据不一致普通索引:最基本的索引,没有任何约束限制唯一索引:与普通索引类型,但是具有唯一性约束主键索引:特殊的唯一索引,不允许有nu原创 2021-03-21 23:58:57 · 94 阅读 · 0 评论 -
mysql面试1
mysql面试11、数据类型1、整数类型:2、实数3、字符串1、数据类型1、整数类型:TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT注意:mysql中INT(1)和INT(11)其实没有任何区别,仅仅是显示宽度的区别。INT(1)和INT(11)都是占了四个字节,只是配合零填充属性ZEROFILL会在指定宽度不足时在数值前方填充0# INT(4) UNSIGNED ZEROFILL0001000209991000# INT(2) UNSIGNED ZEROF原创 2021-02-18 23:53:38 · 62 阅读 · 0 评论 -
Linux基础
1、linux常用命令系统安全sudo、su、chmod、setfacl进程管理w、top、ps、kill、pkill、pstree、killall用户管理id、useradd、usermod、groupadd、userdel文件系统mount、umount、fsck、df、du系统关机和重启shutdown、reboot网络应用curl、telnet、mail、elinks网络测试ping、netstat、host网络配置hostname、ifconfig常用工具ssh原创 2021-02-14 13:23:43 · 92 阅读 · 0 评论 -
JavaScript、jQuery、Ajax
JavaScript、jQuery1、JavaScript内置对象2、JavaScript HTML DOM对象3、jQuery面试题1、JavaScript内置对象2、JavaScript HTML DOM对象3、jQuery面试题1、下来不属于JavaScript语法关键/保留字的是(var、$、function、while)...原创 2021-01-17 22:43:55 · 372 阅读 · 1 评论 -
开发环境
开发环境1、PHP运行原理2、PHP常见配置项3、版本控制软件4、面试题1、PHP运行原理Nginx + PHP-FPMCGI:PHP解析器和web server的桥梁(通信)FastCGI:CGI的改良版本PHP-FPM:PHP-FAST CGI Process Manager(FastCGI的进程管理器)2、PHP常见配置项register_globals:注入变量allow_url_fopen:是否允许打开远程文件allow_url_include:date.timezone:d原创 2021-01-17 22:29:17 · 79 阅读 · 1 评论 -
网络协议
网络协议1、http协议1.1、OSI七层模型第1层:物理层第2层:数据链路层第3层:网络层第4层:传输层第5层:会话层第6层:表示层第7层:应用层1.2、http状态码1.3、http协议工作特点和工作原理1.4、http协议常见请求/响应头1.5、HTTP协议的请求方法1.6、https协议的工作原理2、常见网络协议含义及端口常见面试题1、http协议1.1、OSI七层模型第1层:物理层建立、维护、断开物理连接第2层:数据链路层建立逻辑连接、进行硬件地址寻址,差错校验等功能第3层:网络层原创 2021-01-17 21:48:21 · 76 阅读 · 1 评论 -
面向对象、魔术方法、设计模式
面向对象面向对象基础魔术方法设计模式面向对象基础魔术方法设计模式常见设计模式:工厂模式、单例模式、注册树模式、适配器模式、观察者模式、策略模式原创 2021-01-17 21:25:11 · 52 阅读 · 0 评论 -
会话控制技术
会话控制技术1、cookie2、session2.1、php中session操作2.2、session配置2.2.3、session的垃圾回收机制相关配置2.3、session优缺点2.4、SessionId传递问题2.5、 session存储3、会话面试题1、cookiecookie操作2、session2.1、php中session操作2.2、session配置session.auto_startsession.cookie_domainsession.cookie_lifetimes原创 2021-01-17 21:20:12 · 104 阅读 · 0 评论 -
文件目录相关考点
文件目录相关考点1、文件处理1.1、fopen()函数1.2、访问远程文件1.3、其他函数1、文件处理1.1、fopen()函数fopen函数:打开一个文件,打开时需要指定打开模式打开模式:r:只读模式r+:w:w+:a:a+:x:写入模式打开x+:b:t:1.2、访问远程文件开启allow_url_fopen,http协议连接只能读取,ftp协议可以只读或者只写1.3、其他函数fwrite()、fputs()、fread()、fgets()、fgetc()、fclose原创 2021-01-16 22:40:14 · 99 阅读 · 0 评论 -
php正则
php正则php正则后向引用贪婪模式php正则函数匹配中文常见正则面试题php正则正则的作用:分割、匹配、查找、替换字符串后向引用贪婪模式1、正则中.会匹配更多的,可以改成.?就会取消贪婪模式2、在分割符后面加U也表示取消贪婪模式3、不能.*?和U一起使用,这样表示双重取消,最终还是会使用贪婪模式php正则函数匹配中文常见正则面试题...原创 2021-01-16 12:58:43 · 70 阅读 · 0 评论 -
php作用域、static关键字、内置函数
变量作用域php中函数内部调用函数外定义的全局变量方式:1、需要在函数体重使用global关键字声明2、使用超全局变量$GLOBALS$no1 = 1;$no2 = 6;function func1(){ global $no1,$no2; $no1 += $no2;//使用global关键字}function func2(){ $GLOBALS['no1'] += $GLOBALS['no2'];//使用超全局变量$GLOBALS}func1();echo $原创 2021-01-07 21:00:08 · 111 阅读 · 0 评论 -
php流程控制面试
遍历数组的三种方式:1、for循环遍历只能遍历索引数组2、foreach循环遍历能遍历索引和关联数组,会在遍历之前对数组进行reset()操作3、list()、each()、while可以遍历索引和关联数组,且不会进行reset()操作,所以如果在list()、each、while操作前如果有修改数组指针的操作,使用list()、each()、while循环数组会导致只能遍历一部分的情况。具体例子如下$array = [ 'a', 'b', 'c'];next($array);print原创 2021-01-06 22:04:20 · 112 阅读 · 0 评论