整理遇到的一些面试题
1.B B+ B- 红黑树的区别?
2.为什么二叉树的查询效率高于B+树 但是很多数据库索引的数据结构基于B+树?
3.RabbitMq kafka的区别?功能上、架构上、性能上
4.PHP单点登录的实现
5.oauth2.0 jwt 的原理和区别
6.redis 底层redisObject 不同type在不同场景下encoding会发生什么样的变化,列举一下
7.PHP静态变量 和constans的区别
8.如果让你做一个选班排课 做班位冲突你该怎么做? 面试官提示:区间树。(作业帮)
9.动态规划 m和n
10.简介一下一个域名从打开到响应PHP请求的过程,越详细越深入越好
11.简单介绍一下nginx和apache的区别。
12.简单介绍一下epoll和poll和select的区别
13.为什么php的网络io模型也可以使用epoll 但是性能却不如nginx
14.合并两个有序链表
15.链表反转
16.如何保证消息幂等性
17.消息队列如何保证消息不发重?
18.消息队列如何保证消息重试?
19.简单介绍一下如何用redis实现分布式锁
20.简单介绍一下mysql事务的隔离级别。mvcc,脏毒 幻读 ,mysql默认隔离级别,
21.简单介绍一下 限流限速都有哪些算法
22.用php写一个 1分钟内 限制请求3次的 算法 可以借助redis 如果可以单纯用php实现加分
23.如何拿到一个链表倒数第n个元素
24.简单介绍一下redis-cluster的实现原理,
25.简单介绍一下 分布式和主从的区别
26.简单介绍一下 常见的分布式算法 有哪些 区别是什么
27.如果我们的数据量 日增长300万,那么数据表该如何设计?可以随时动态做扩容
28.简单介绍一下为什么直接通过mysql查询数据慢而通过es查询快? (简单介绍一下倒排索引)
29.如果线上环境 基于k8s做的容器化部署,那么发现某个服务的性能不升反降 那么你的排查策略 是什么?
30.mysql cpu占用居高不下,还没有slow log产生,那么这个时候我们该如何排查?
31.简单介绍一下mysql不同引擎的区别,你常用的有哪些
32.mysql的索引底层实现原理。为什么快?索引该如何建立
33.介绍一下mysql redo.log undo.log
34.mysql遇到主从延时 时怎么办?譬如 批量导入一批电话单子