PHP 高级面试115题汇总(含答案)
67、php-fpm 各配置含义,fpm 的 daemonize 模式
68、让你实现一个简单的架构,并保持高可用,两个接口,一个上传一条文本,一个获取上传的内容,你怎么来设计?要避免单机房故障,同时要让代码层面无感。 69、两台 mysql 服务器,其中一台挂了,怎么让业务端无感切换,并保证正常情况下讲台服务器的数据是一致的 如果是核心业务的话,现在所有的写操作都在正常的状态机器上。把好的这台机器的备机拉起来,当主机。 以上全是应急操作。实际上数据库的容灾设计要复杂的多。 面试官要是问你,备机的数据不一致怎么办,你要勇敢怼回去,你们每秒多少写入操作。按照百万级表,每秒 1000 的写入效率,正常的设计是,分布在 2 台机器上每台 500。这个级别的数据同步,出现差异的概率 可以忽略不计的。有一台出现问题,另一台也可以抗住。 (正常的操作,还是先停写,等数据一致,切换,开写。我们公司搞这些切换都是在凌晨 4.00 左右,核心业务的每秒写操作,只有十几个。前后耽搁不到 20 秒)。 70、http 协议具体的定义 参考:日本人写的《图解 HTTP》 71、什么是锁,怎么解决锁的问题 72、rand 与 mt_rand 的区别 说是 mt_rand 比 rand 快 4 倍。 在随机数区间不大的情况下并没有很大的效率差距。但是出现重复数的几率,rand 要比 mt_rand 高很多。 73、mysql 事务隔离是怎么实现的 74、mysql 的锁怎么实现的 75、对称加密和非对称加密的方式 非对称加密:我给你一个公钥,你加密完了,我还能有我的私钥把密文解开。但是你没有我的私钥。 扩展:椭圆加密算法。 76、10 瓶水,其中一瓶有毒,小白鼠喝完有毒的水之后,会在 24 小时后死亡,问:最少用几只小白鼠可以在 24 小时后找到具体是哪一瓶水有毒。 二进制问题。薛定谔的老鼠。 一只老鼠有两个状态,死活,对应 01。假设老鼠的个数为 A,则有 2^A>=10; A=4; 思路很简单,十瓶药编号:0,10,11….1001; 0 不喝。第一只老鼠喝所有个位是 1 的:13579,第二只喝十位是 1 的,第三只和百位是 1 的,第四只喝千位是 1 的。 24 小时后,看下死了的是 1,活着的是 0。按老鼠的顺序乖乖站好…… 假如第一只和第三只死了,那就是 0101,就是 5 有问题。 77、redis 是如何进行同步的,同步的方式,同步回滚怎么办,数据异常怎么办,同时会问 MYSQL 的同步方式和相关异常情况 Redis 的复制功能是基于内存快照的持久化策略基础上的,也就是说无论你的持久化策略选择的是什么,只要用到了 Redis 的复制功能,就一定会有内存快照发生。 当 Slave 启动并连接到 Master 之后,它将主动发送一个 SYNC 命令 (首先 Master 会启动一个后台进程,将数据快照保存到文件中 [rdb 文件] Master 会给 Slave 发送一个 Ping 命令来判断 Slave 的存活状态 当存活时 Master 会将数据文件发送给 Slave 并将所有写命令发送到 Slave )。 Slave 首先会将数据文件保存到本地 之后再将 数据 加载到内存中。 当第一次链接 或者是 故障后 重新连接 都会先判断 Slave 的存活状态 在做全部数据的同步 , 之后只会同步 Master 的写操作 (将命令发送给 Slave) 问题: 当 Master 同步数据时 若数据量较大 而 Master 本身只会启用一个后台进程 来对多个 Slave 进行同步 , 这样 Master 就会压力过大 , 而且 Slave 恢复的时间也会很慢! redis 主从复制的优点: (1)在一个Redis集群中,master负责写请求,slave负责读请求,这么做一方面通过将读请求分散到其他机器从而大大减少了master服务器的压力,另一方面slave专注于提供 (2) 在一个 Redis 集群中,如果 master 宕机,slave 可以介入并取代 master 的位置,因此对于整个 Redis 服务来说不至于提供不了服务,这样使得整个 Redis 服务足够安全。 (3) 水平增加 Slave 机器可以提高性能 78、怎么解决跨域 79、json 和 xml 区别,各有什么优缺点 (2)可扩展性方面:都具有良好的扩展性; (3)编码难度方面:相对而言,JSON 的编码比较容易; (4)解码难度:JSON 的解码难度基本为零,XML 需要考虑子节点和父节点; (5)数据体积方面:JSON 相对于 XML 来讲,数据体积小,传递的速度比较快; (6)数据交互方面:JSON 与 javascript 的交互更加方便,更容易解析处理,更好的数据交互; (7)数据描述方面:XML 对数据描述性比较好; (8)传输速度方面:JSON 的速度远远快于 XML。 80、Trait 优先级 81、a 引用 b,报错 c 里面类重复定义,循环引用会出现什么问题 (编辑:好传媒网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |