存储系统
- mysql
- redis
- mongodb
- hive
- kafka
八、MySQL
- 手写/口述场景题的 SQL 语句
- 一条 SQL 语句在数据库框架中的执行流程?
- 数据库的三范式是什么?
- MySQL 中的数据类型有哪些?
- char 和 varchar 的区别?
- 谈谈你对索引的理解?底层数据结构?
- 为什么要使用索引?一定要使用索引吗?
- 为什么索引的底层数据结构采用 B+ 树而不是红黑树?
- 索引的类型?
- 什么叫聚簇索引?什么叫联合索引?
- 谈下什么是前缀索引?
- 谈下什么是覆盖索引?
- 什么情况下索引会失效?即查询不走索引?
- 查询性能的优化方法?
- InnoDB 和 MyISAM 的比较?
- 为什么要分库分表?分库分表后,主键 ID 怎么设置?
- 水平切分和垂直切分该如何选择?存在什么问题?
- 主从复制中涉及到哪三个线程?
- 如何实现 MySQL 的读写分离?
- MySQL 的主从复制原理是什么?如何解决 MySQL 主从同步延迟问题?
- 谈下你对读写分离的理解?
- 谈下你对数据库事务的理解?不同隔离级别下会产生什么问题?怎么解决?
- MySQL 默认的隔离级别是什么?
- MVCC 的实现原理是什么?
- 数据库中常用的锁有哪些?
- 表锁和行锁有什么区别?
- InnoDB 什么时候使用行级锁?什么时候使用表级锁?
- InnoDB 存储引擎的锁的 3 种算法?
- MySQL 数据库 CPU 飙升到 500% 的话他怎么处理?
- 数据库三范式是什么?
- 有哪些数据库优化方面的经验?
- 请简述常用的索引有哪些种类?
- 以及在 MySQL 数据库中索引的工作机制是什么?
- MySQL 的基础操作命令:
- MySQL 的复制原理以及流程。
- MySQL 支持的复制类型?
- MySQL 中 Myisam 与 Innodb 的区别?
- MySQL 中 Varchar 与 Char 的区别以及 Varchar( 50)中的 50 代表的涵义?
- MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- 表中有大字段 X (例如: text 类型),且字段 X 不会经常更新,以读为为主,将该字段拆成子表好处是什么?
- MySQL 中 InnoDB 引擎的行锁是通过加在什么上完成(或称实现)的?
- MySQL 中控制内存分配的全局参数,有哪些?
- 若一张表中只有-一个字段 VARCHAR(N)类型,utf8 编码,则 N 最大值.为多少(精确到数量级即可)?
- [SELECT *]和[SELECT 全部字段]的 2 种写法有何优缺点?
- HAVNG 子句和 WHERE 的异同点?
- MySQL 当记录不存在时 insert,当记录存在时 update,语句怎么写?
- MySQL 的 insert 和 update 的 select 语句语法
- MySQL 的复制原理以及流程
- MySQL 中 myisam 与 innodb 的区别,至少 5 点
- MySQL 中 varchar 与 char 的区别以及 varchar(50)中的 50 代表的涵义
- MySQL binlog 的几种日志录入格式以及区别
- MySQL 数据库 cpu 飙升到 500%的话怎么处理
- 备份计划,mysqldump 以及 xtranbackup 的实现原理
- MySQL 单表量级达到 5 千万以上,如何添加修改字段而不产生锁表?
- 生产环境下,变更 MySQL 的表结构步骤是什么?
- MySQL 建表的最佳实践是什么?
- MySQL 的表空间设置个和优化策略主要有哪些?
十二、Redis
- Redis 是什么?Redis 有哪些功能?都有哪些使用场景?
- Redis 为什么是单线程的?
- Redis 支持的数据类型有哪些?
- 什么是缓存雪崩?该如何解决?
- 什么是缓存穿透?怎么解决?
- 怎么保证缓存和数据库数据的一致性?
- Redis 持久化有几种方式?
- Redis 怎么实现分布式锁?Redis 分布式锁有什么缺陷?
- Redis 淘汰策略有哪些?
- redis 常见的性能问题有哪些?该如何解决?
- 什么是 Redis?
- Redis 集群方案应该怎么做?都有哪些方案?
- Redis 集群方案什么情况下会导致整个集群不可用?
- 怎么理解 Redis 事务?
- Redis key 的过期时间和永久有效分别怎么设置?
- Redis 如何做内存优化?
- Redis 回收使用的是什么算法?
- Redis 持久化数据和缓存怎么做扩容?
- Redis 与其他 key-value 存储有什么不同?
- Redis 是单线程的,如何提高多核 CPU 的利用率? 谈谈对于 Redis 的底层数据结构的理解。 跳表了解吗?Redis 的 zset 实现原理以及为什么不用红黑树。 Redis 哨兵原理以及集群版故障转移过程。 基于 Redis 实现分布式锁。 Redis 渐进式 Rehash 的实现原理。 Redis 和 LevelDB 的区别以及 LevelDB 的 LSM 树和 WAL 原理。 Redis 主从同步的实现原理和过程、产生数据丢失的原因。 MyISAM 和 InnoDB 的区别。 MySQL 索引原理和优化。 Redis 集群版如何实现一致性 Hash 算法的。 Redis 的单线程网络框架原理和混合持久化机制。 类 Redis 数据库 Pika 了解吗?基本设计架构是什么? 如何设计一个缓存系统以及缓存击穿的解决方案? 一致性协议 raft/paxos/2pc/3pc 基本原理。 Redis 的 Gossip 协议原理。 Redis4.0+版本的 BIO 线程原理和使用。 简述如何自己实现一个 NoSQL,需要考虑什么。
十三、消息队列
- 消息队列的主要作用?
- 消息队列的优缺点?
- 如何保证消息队列的高可用?
- 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?
- 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?
- 如何保证消息的顺序性?
- 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
- 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路
- RabbitMQ 有哪些重要的角色?有哪些重要的组件?
- RabbitMQ 怎么避免消息丢失?
- 要保证消息持久化成功的条件有哪些?
- RabbitMQ 有几种广播类型?
- RabbitMQ 怎么实现延迟消息队列?
- Kafka 可以脱离 zookeeper 单独使用吗?为什么?
- Kafka 有几种数据保留的策略?
十四、Zookeeper
- zookeeper 是什么框架?
- 有哪些应用场景?
- 使用什么协议?
- 说说分布式一致性算法 Paxos
- 说一说选举算法及流程
- zookeeper 有哪几种节点类型?
- zookeeper 对节点的 watch 监听通知是永久的吗?
- 有哪几种部署模式?
- 集群中的机器角色都有哪些?
- 集群最少要几台机器,集群规则是怎样的
- zookeeper 都有哪些功能?
- zookeeper 有几种部署模式?
- 集群中有 3 台服务器,其中一个节点宕机,这个时候 zookeeper 还可以使用吗?
- zookeeper 怎么保证主从节点的状态同步?
- 集群中为什么要有主节点?
- 说一下 zookeeper 的通知机制?
- 说一下两阶段提交和三阶段提交的过程?分别有什么问题?
- 你认为几阶段提交可以实现可靠事务?
- 如何使用 zookeeper 实现分布式锁?
十五、Dubbo
- Dubbo 的组件有哪些?作用是什么?
- Dubbo 的集群容错模式有哪些?
- Dubbo 中 zookeeper 做注册中心,如果注册中心集群都挂掉,发布者和订阅者之间还能通信么?
- Dubbo 连接注册中心和直连的区别?
- Dubbo 协议为什么要消费者比提供者个数多?
- Dubbo 协议为什么不能传大包?
- Dubbo 协议为什么采用异步单一长连接?
- Dubbo 支持哪些序列化协议?说一下 Hession 的数据结构?
- 分布式服务接口的幂等性如何设计?
- 分布式服务接口请求的顺序性如何保证?
二、Tomcat 部分
- Tomcat 的缺省端口是多少,怎么修改?
- Tomcat 有哪几种 Connector 运行模式(优化)?
- Tomcat 有几种部署方式?
- Tomcat 容器是如何创建 servlet 类实例?用到了什么原理?
- Tomcat 如何优化?
- 内存调优
- 垃圾回收策略调优
- 共享 session 处理
- 添加 JMS 远程监控
- 专业点的分析工具有
- 关于 Tomcat 的 session 数目
- 监视 Tomcat 的内存使用情况
- 打印类的加载情况及对象的回收情况
- Tomcat 一个请求的完整过程
- Tomcat 工作模式?
docker
如何临时退出一个正在交互的容器的终端,而不终止它? 可以在一个容器中同时运行多个应用进程吗? 如何控制容器占用系统资源(CPU,内存)的份额? 仓库(Repository)、注册服务器(Registry)、注册索引(Index)有何关系? Docker 的配置文件放在那里。如何修改配置? Docker 与 LXC(Linux Container)有何不同? 开发环境中 Docker 与 Vagrant 该如何选择? 使用 docker build 命令有几种方法构建镜像?( overlay 文件系统里有个目录是 upperdir,它里面装的是什么? swarm 的调度模块的第一阶段,过滤器有几种?