2020 PHP面试问题汇总

Mysql

1.B+tree
2.InnoDB与MyISAM区别
3.Mysql事务隔离级别
4.悲观锁 乐观锁 间隙锁 行锁 表锁区别
5.索引的优化
6.主从复制的原理以及主从不一致主从延迟的问题
7.Mysql非常慢如何排查
8.普通索引 主键索引 唯一索引 联合索引区别
9.联合索引的最左匹配原则
10.Sql语句执行过程
11.建表需要注意什么
12.mysql中int、bigint、smallint 和 tinyint的区别与长度的含义,varchar char区别,int(1)与int(3)区别
13.如何进行分表
14.redolog与undolog区别
15.对聚簇索引和非聚簇索引区别,一级索引与二级索引区别
16.什么时候索引会失效
17.mysql整体优化思路
18.left join、right join 、inner join区别
19.InnoDB索引长度问题

PHP

1.PHP的垃圾回收机制
2.PHP的编译过程
3.SAPI
4.魔术方法
5.设计模式以及具体的使用场景
6.PHP框架以及框架的优缺点
7.cgi php-cgi fast-cgi fpm区别
8.fpm进程的三种模式
9.从浏览器输入域名到返回经历了什么
10.接口与抽象类的区别
11.PHP7的新特性有哪些
12.PHP框架执行过程经历了什么
13.PHP关键字Trait
14.静态变量与普通变量的区别

缓存

1.redis与memcache区别
2.redis的数据类型以及具体的应用场景
3.redis的持久化机制,RDB与AOF区别以及什么场景下使用
4.redis的锁机制以及利用LUA脚本实现分布式锁
5.redis支持原子性命令吗
6.获取redis所有的key命令
7.如何利用redis实现秒杀的功能
8.redis太慢如何排查问题
9.使用redis应该注意什么
10.缓存穿透、缓存雪崩、缓存击穿的区别以及对应的解决方案
11.redis的key与value的最大值
12.

nginx

1.nginx如何进行调优
2.nginx -s reload 与restart的区别
3.nginx如何与php通信的
4.nginx常见的状态码
5.nginx负载均衡的算法

其他

1.微信、支付宝支付流程
2.Oauth协议以及微信授权的流程
3.rabbitmq队列交换机类型区别
4.rabbitmq如何实现延迟队列
5.rabbitmq延迟队列数据丢失怎么办
6.使用rabbitmq注意事项
7.swoole项目代码改变如何热更新
8.HTTP头部信息
9.网站整体的优化思路
10.Git常用的命令
11.Linux常用命令 体现逼格 
12.Docker常用的命令,nginx与PHP两个容器之间如何通信
13.布隆过滤器
14.常见的排序算法以及时间复杂度
15.链表的反转
16.常见的查找算法以及时间复杂度
17.如何保证接口的安全
18.JWT的机制
19.进程 线程 协程区别
20.七层网络模式 
21.三次握手 四次挥手
22.socket
23.Cookie与Session区别
24.LNMP 服务器慢如何定位问题

大厂面试题传送

你可能感兴趣的:(2020 PHP面试问题汇总)