都说大厂面试难,一点也没有错,一线大厂的面试究竟怎么样还得自己亲身经历了才知道。小白面试阿里,就被面试官吊打,一问分布式就被“搞懵”了,Redis、MongoDB、Memcached都没答好,很多没有答上来。
下面分享了这次阿里面试关于分布式的一些题目,之后还整理了一些关于分布式的学习资料
01 分布式之 Redis篇
(1)阿里 redis面试题
- 怎么理解 Redis 事务?
- Redis 如何做内存优化?
- Redis 回收进程如何工作的?
- watch dog 自动延期机制
- Redis 分布式锁么,它是怎么实现的?
- 什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
- 使用过 Redis 做异步队列么,你是怎么用的?有什么缺点?
(2)Redis 面试专题
- 什么是 Redis?简述它的优缺点?
- Redis 相比 memcached 有哪些优势?
- Redis 支持哪几种数据类型?
- Redis 主要消耗什么物理资源?
- Redis 的全称是什么?
- Redis 有哪几种数据淘汰策略?
- Redis 官方为什么不提供 Windows 版本?
- 一个字符串类型的值能存储最大容量是多少?
- 为什么 Redis 需要把所有数据放到内存中?
- Redis 集群方案应该怎么做?都有哪些方案?
- Redis 集群方案什么情况下会导致整个集群不可用?
- MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis中的数据都是热点数据?
- Redis 有哪些适合的场景?
- Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
- Redis 和 Redisson 有什么关系?
- Jedis 与 Redisson 对比有什么优缺点?
- Redis 如何设置密码及验证密码?
- 说说 Redis 哈希槽的概念?
- Redis 集群的主从复制模型是怎样的?
- Redis 集群会有写操作丢失吗?为什么?
- ......
Redis面试专题答案:
(3)Redis 学习笔记
关于redis的使用,特整理了一份自己的学习笔记,笔记内容包括了redis的概念、redis的属性以及redis在各种场景下的应用问题,让自己快速熟悉redis,掌握redis实战。
- redis简介(什么是redis?为什么要使用?)
- redis的使用(设置、常见异常以及解决方案、模式等)
- redis实战问题(key、数据一致性)
(4)Redis 学习文档(关于Redis实战)
本文档总共分为3个部分:第一部分对Redis进行了基本介绍,并展示了一些Redis的使用示例;第二部分对Redis的多个命令进行了详细的介绍,之后还介绍了Redis的管理操作以及使用Redis构建更复杂的应用程序的方法;最后,第三部分介绍了如何通过内存优化、水平分片以及Lua脚本这3种技术来扩展Redis。
02 分布式之 MongoDB篇
(1)阿里MongoDB 面试题
- 分片(sharding)和复制(replication)是怎样工作的?
- 数据在什么时候才会扩展到多个分片(shard)里?
- 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
- 我可以把 moveChunk 目录里的旧文件删除吗?
- 我怎么查看 Mongo 正在使用的链接?
- 如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?
(2)MongoDB 面试专题
- 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据库的几个优点?
- NoSQL 数据库有哪些类型?
- MySQL 与 MongoDB 之间最基本的差别是什么?
- 你怎么比较 MongoDB、CouchDB 及 CouchBase?
- MongoDB 成为最好 NoSQL 数据库的原因是什么?
- 32 位系统上有什么细微差别?
- 分析器在 MongoDB 中的作用是什么?
- 启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?
- MongoDB 在 A:{B,C}上建立索引,查询 A:{B,C}和 A:{C,B}都会使用索引吗?
- 如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
- MongoDB 支持存储过程吗?如果支持的话,怎么用?
- ......
MongoDB 面试专题答案:
(3)MongoDB 使用总结
- MongoDB 性能优化五个简单步骤
- 想使用MongoDB,你应该了解这8个方面!
- MongoDB 中的常用语句总结大全
- MongoDB 索引总结
03 分布式之 memcached系列
(1)阿里memcached面试题
- memcached 最大的优势是什么?
- 如何将 memcached 中 item 批量导入导出?
- memcached 对 item 的过期时间有什么限制?
- memcached 最大能存储多大的单个 item?
- 为什么单个 item 的大小被限制在 1M byte 之内?
(2)memcached 面试专题
- memcached 是怎么工作的?
- memcached 最大的优势是什么?
- memcached 和 MySQL 的 query cache 相比,有什么优缺点?
- memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?
- memcached 的 cache 机制是怎样的?
- memcached 如何实现冗余机制?
- memcached 如何处理容错的?
- 如何将 memcached 中 item 批量导入导出?
- 我需要把 memcached 中的 item 批量导出导入,怎么办?
- memcached 是如何做身份验证的?
- memcached 的多线程是什么?如何使用它们?
- memcached 能接受的 key 的最大长度是多少?
- ......
memcached 面试答案:
(3)memcached 学习文档(Memcached从入门到精通)
- Memcached介绍、应用场景、运行机制
- Memcached安装
- Memcached启动,参数
- Memcached连接、监控
- Memcached客户端命令
- Memcached的Java客户端实例
- Memcached的客户端分布式原理
- Memcached的服务器端运行原理
- Memcached的过期机制
- Memcached同比
- QA
04 Java 面试手册(350道大厂面试知识点)
这份Java面试手册,由开发七年的大佬亲自整理出来的,近些年来一线大厂最喜欢问的Java面试题,囊括的知识点是非常多的,总共有350多道题目,每一道题目都有详解,甚至还有延伸,对补充知识库是非常有用的。
- 性能优化专栏(Tomcat、JVM、Mysql)
- 微服务架构专栏(SpringCloud、SpringBoot、Dubbo)
- 并发编程专栏
- 开源框架专栏(Spring、SpringMVC、Mybatis)
- 分布式专栏(分布式限流、分布式通讯、分布式数据库)
由于篇幅有限,所以上面的资料都只展示了一部分,这些资料加入我的Java进阶裙:730863136就可以得到(点击群号即可立刻进群)