1、mysql事务隔离级别,说下你对事务的隔离性的理解?
答:
mysql事务隔离级别从低到高分别是:未提交读、已提交读、可重复读、串行。
未提交读:允许读取未提交的数据变更,但这种级别会出现脏读,幻读或者不可重复读
已提交读:允许读取并发事务提交的数据变更,这种级别可以防止脏读,但是幻读和不可重复读仍然有可能发生
可重复读:对同一个字段的读取结果是一致的,除非数据被自身事务改变,这种级别可以防止脏读和不可重复读,但幻读仍然可能发生,也是Mysql默认的隔离级别
串行:这个是最高级别,完全服从ACID的隔离级别,所有事务都是依次顺序执行,这样事务之间不可能产生干扰,可以防止脏读、幻读和不可重复读,但这种级别会严重影响到程序的性能,所以一般不会用到这个级别吧
事务隔离级别是基于锁机制和并发调度,并发调度使用的MVCC多版本并发控制,通过保存修改的版本来支持并发一致性读和回滚等特性
2、实际场景中是用怎样的策略来修改隔离级别的?
3、InnoDB的索引有哪些,具体是怎么实现的?
4、这几种实现有什么区别,你平时设计索引时是基于什么策PHP略来做选择的?
5、Mysql锁的分类、作用以及实际工作上的应用场景?
6、分布式熟悉吗?分布式锁是怎么实现的?了解过etcd吗?
7、PHP优化,了解过opcache 和 opcode
8、简述一下URL发生的过程
答:
1)浏览器本身是一个客户端,当你输入URL的时候,首先浏览器会去请求DNS服务器,通过DNS获取相应的域名对应的IP,然后通过IP地址找到IP对应的服务器后
2)要求建立TCP连接(三次握手),等浏览器发送完HTTP Request(请求)包后,服务器接收到请求包之后才开始处理请求包,服务器调用自身服务,返回HTTP Response(响应)包;
3)客户端收到来自服务器的响应后开始渲染这个Response包里的主体(body),等收到全部的内容随后断开与该服务器之间的TCP连接(4次握手)。
一个Web服务器也被称为HTTP服务器,它通过HTTP协议与客户端通信。这个客户端通常指的是Web浏览器
9、PHP-FPM是什么架构模式,你是怎么实现它的?
10、说说你使用到的rabbitMQ和你对他的理解?
11、说说redis的分片
12、说说AOP?
13、说说Hyperf的特点
14、说说协程池和协程状态管理
15、说说linux和shell脚本
16、说说map reduce对数据的批处理(hodoop呢)