用amf 和 base64编码
我想问的是通信协议:调用rpc接口时的过程是什么样?比如业务调用PHP接口的时候,用的是什么协议?
(没理解)(https://www.cnblogs.com/rianley/p/11076107.html)
业务调用PHP是直接掉吗?中间有用nginx吗?
业务直接调PHP-FPM,没用nginx
那如何做负载均衡?
业务服务简单地做轮询(负载均衡)<- 这块需要回顾一下业务服务的代码
cgi与fastcgi;fpm3种进程池模式;fpm的启动、进程池初始化、主进程处理事件循环(功能——子进程管理)
和共享内存有关?(完全不清除)
FPM如何解决的?
重启?
对,是重启,自动重启
我以为是和底层zval相关的
其实就是哈希的时候,将元素存储在链表里,串起来,以保证有序 <- 这里需要去了解array的底层实现
用什么引擎
innodb
为什么 (和 myisam比较)
myisam不支持行级锁
还有呢?
可能和索引有关?<- 未答出,须强化 (https://blog.csdn.net/qq_35642036/article/details/82820178)
类型?
聚簇、二级索引
两者区别
聚簇b+树,节点保存完整row数据;非聚簇b+树,叶子节点只保存主键信息
如何通过非聚簇索引查找数据
where 子句命中非聚簇索引节点,拿到逐渐信息,再用主键回标查询 <- 不确定回答方向是否正确
有遇到慢查询吗?
…没有用到索引最左匹配
如果建了索引,sql也命中索引了,但是还是慢查询,遇到过吗?
没有(考察点是mysql优化)
如何发现慢查询
php slow 日志-> 请求耗时 -> sql语句 explain查看执行计划 -> 查看索引有无?是否命中
mysql查询语句如何执行?
不清楚 <- 强化
读未提交->读已提交->可重复读->串行
各级别有什么问题?
… <- 讲得不清楚,须强化!
重复读呢,解决什么问题?
给提示?
你想想重复读如何实现?
快照?解决幻读的问题?
mvvc (应该是mvcc)
描述一下这个是如何实现的
不清楚
做缓存,自称分布式,但是memcache 服务之间无通信,可以当单机缓存使用;客户端实现一致性哈希,来实现分布式
为何不用redis?
项目中用不上分布式特性,当单机缓存用
单机缓存qps多少?
没测过,一般不会出现性能瓶颈,瓶颈在网卡上
memcache有什么数据结构吗?
没有数据结构,文本存储。 redis是有数据结构的
那介绍一下redis的数据结构?
string, set, zset, 位图? <- 强化了解一下
消息队列?
没有过 <- 可以了解一些
有监控报警机制吗?
没有,脚本crond定时运行
那会出现线上出现问题研发压根不知道的情况?
… 一顿乱答
项目中做服务注册和发现、配置的统一部署
zookeeper怎么部署?单机部署?
多台部署
多台如何保持配置一致?
master 对 slave 同步
master 挂了怎么办?
选举算法
选举的时候,需要部署多少台机器?
没答上 <- 强化了解
zookeeper 可以选举自己吗?有监听吗?如何知道自己挂了?
一顿乱答… 心跳包? <- 强化了解
查看线上请求耗时
没有。。项目不涉及http
一个有序数组,从中间一个位置分割,旋转拼接,比如 '1234567' -> '4567123',要求,输入旋转后的数组,查找给定值v是否存在,限定时间复杂度lg(n)
思路不清晰,没写出代码
在传统二分的基础上,添加向左、右分支搜索的判断—— if (mid > low),表明左边部分是升序的,否则,左边部分是有分割点存在的
手机扫一扫
移动阅读更方便
你可能感兴趣的文章