都说大厂面试难,一点也没有错,一线大厂的面试究竟怎么样还得自己亲身经历了才知道。小白面试阿里,就被面试官吊打,一问分布式就被“搞懵”了,Redis、MongoDB、Memcached都没答好,很多没有答上来。

下面分享了这次阿里面试关于分布式的一些题目,之后还整理了一些关于分布式的学习资料

01 分布式之 Redis篇

(1)阿里 redis面试题

  1. 怎么理解 Redis 事务?
  2. Redis 如何做内存优化?
  3. Redis 回收进程如何工作的?
  4. watch dog 自动延期机制
  5. Redis 分布式锁么,它是怎么实现的?
  6. 什么是缓存穿透?如何避免?什么是缓存雪崩?何如避免?
  7. 使用过 Redis 做异步队列么,你是怎么用的?有什么缺点?

(2)Redis 面试专题

  1. 什么是 Redis?简述它的优缺点?
  2. Redis 相比 memcached 有哪些优势?
  3. Redis 支持哪几种数据类型?
  4. Redis 主要消耗什么物理资源?
  5. Redis 的全称是什么?
  6. Redis 有哪几种数据淘汰策略?
  7. Redis 官方为什么不提供 Windows 版本?
  8. 一个字符串类型的值能存储最大容量是多少?
  9. 为什么 Redis 需要把所有数据放到内存中?
  10. Redis 集群方案应该怎么做?都有哪些方案?
  11. Redis 集群方案什么情况下会导致整个集群不可用?
  12. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis中的数据都是热点数据?
  13. Redis 有哪些适合的场景?
  14. Redis 支持的 Java 客户端都有哪些?官方推荐用哪个?
  15. Redis 和 Redisson 有什么关系?
  16. Jedis 与 Redisson 对比有什么优缺点?
  17. Redis 如何设置密码及验证密码?
  18. 说说 Redis 哈希槽的概念?
  19. Redis 集群的主从复制模型是怎样的?
  20. Redis 集群会有写操作丢失吗?为什么?
  21. ......

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 面试题

  1. 分片(sharding)和复制(replication)是怎样工作的?
  2. 数据在什么时候才会扩展到多个分片(shard)里?
  3. 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?
  4. 我可以把 moveChunk 目录里的旧文件删除吗?
  5. 我怎么查看 Mongo 正在使用的链接?
  6. 如何理解 MongoDB 中的 GridFS 机制,MongoDB 为何使用 GridFS 来存储文件?

(2)MongoDB 面试专题

  1. 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据库的几个优点?
  2. NoSQL 数据库有哪些类型?
  3. MySQL 与 MongoDB 之间最基本的差别是什么?
  4. 你怎么比较 MongoDB、CouchDB 及 CouchBase?
  5. MongoDB 成为最好 NoSQL 数据库的原因是什么?
  6. 32 位系统上有什么细微差别?
  7. 分析器在 MongoDB 中的作用是什么?
  8. 启动一个集群分片(sharded)还是一个非集群分片的 MongoDB 环境?
  9. MongoDB 在 A:{B,C}上建立索引,查询 A:{B,C}和 A:{C,B}都会使用索引吗?
  10. 如果一个分片(Shard)停止或很慢的时候,发起一个查询会怎样?
  11. MongoDB 支持存储过程吗?如果支持的话,怎么用?
  12. ......

MongoDB 面试专题答案:

(3)MongoDB 使用总结

  • MongoDB 性能优化五个简单步骤
  • 想使用MongoDB,你应该了解这8个方面!
  • MongoDB 中的常用语句总结大全
  • MongoDB 索引总结

03 分布式之 memcached系列

(1)阿里memcached面试题

  1. memcached 最大的优势是什么?
  2. 如何将 memcached 中 item 批量导入导出?
  3. memcached 对 item 的过期时间有什么限制?
  4. memcached 最大能存储多大的单个 item?
  5. 为什么单个 item 的大小被限制在 1M byte 之内?

(2)memcached 面试专题

  1. memcached 是怎么工作的?
  2. memcached 最大的优势是什么?
  3. memcached 和 MySQL 的 query cache 相比,有什么优缺点?
  4. memcached 和服务器的 local cache(比如 PHP 的 APC、mmap 文件等)相比,有什么优缺点?
  5. memcached 的 cache 机制是怎样的?
  6. memcached 如何实现冗余机制?
  7. memcached 如何处理容错的?
  8. 如何将 memcached 中 item 批量导入导出?
  9. 我需要把 memcached 中的 item 批量导出导入,怎么办?
  10. memcached 是如何做身份验证的?
  11. memcached 的多线程是什么?如何使用它们?
  12. memcached 能接受的 key 的最大长度是多少?
  13. ......

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就可以得到(点击群号即可立刻进群)

面试阿里被分布式“搞懵”,Redis、MongoDB、memcached没答上来的更多相关文章

  1. 分布式缓存产品Redis和memcached比较区别(图)

  2. 面试还搞不懂redis,快看看这40道面试题(含答案和思维导图)

    Redis 面试题 1.什么是 Redis?. 2.Redis 的数据类型? 3.使用 Redis 有哪些好处? 4.Redis 相比 Memcached 有哪些优势? 5.Memcache 与 Re ...

  3. 【转】面试还搞不懂redis,快看看这40道Redis面试题(含答案和思维导图)

    ———————————————— 版权声明:本文为CSDN博主「程序员追风」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明. 原文链接:https://blog. ...

  4. 金九银十跳槽高峰,面试必备之 Redis + MongoDB 常问80道面试题

    前言 有着“金九银十”之称的招聘旺季已经开启,跳槽高峰期也如约而至. 本文为主要是 Redis + MongoDB 知识点的攻略,希望能帮助到大家. 内容较多,大家准备好耐心和瓜子矿泉水. Redis ...

  5. 手撕面试官系列(四 ):MongoDB+Redis 面试专题

    MongoDB   (面试题+答案领取方式见侧边栏) 你说的 NoSQL 数据库是什么意思?NoSQL 与 RDBMS 直接有什么区别?为什么要使用和不使用NoSQL 数据库?说一说 NoSQL 数据 ...

  6. 面试阿里P6难在哪?(面试难点)

    对于很多没有学历优势的人来说,面试大厂是非常困难的,这对我而言,也是一样,出身于二本,原本以为就三点一线的生活度过一生,直到生活上的变故,才让我有了新的想法和目标,因此我这个二本渣渣也奋斗了起来,竟拿 ...

  7. 面试阿里被“吊打”,一问Spring三不知,半年后二战终拿下offer

    Spring框架是一个为Java应用程序的开发提供了综合.广泛的基础性支持的Java平台.Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发. 近两年来,许多大厂在面 ...

  8. 面试官:我们来聊一聊Redis吧,你了解多少就答多少

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新,建议收藏关注 一.前言 作为一名Java程 ...

  9. 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

随机推荐

  1. python——int()、hex()、oct()、bin()、float()数值类型转换函数

    摘要:在python中,数值类型转换函数常用的有浮点型float().取整int().八进制oct().二进制bin().十六进制hex()这五个函数. 单词float的意思就是浮动的意思: int是 ...

  2. python多进程总结

    概述 由于python中全局解释器锁(GIL)的存在,所以python多线程并不能有效利用CPU多核的性能(相当于单核并发)实现多线程多核并行,所以在对CPU密集型的程序时处理效率较低,反而对IO密集 ...

  3. Scrapy进阶知识点总结(三)——Items与Item Loaders

    一.Items 抓取的主要目标是从非结构化源(通常是网页)中提取结构化数据.Scrapy蜘蛛可以像Python一样返回提取的数据.虽然方便和熟悉,但Python缺乏结构:很容易在字段名称中输入拼写错误 ...

  4. python:正则0

    Python3 正则表达式特殊符号及用法(详细列表) 正则表达式的强大之处在于特殊符号的应用,特殊符号定义了字符集合.子组匹配.模式重复次数.正是这些特殊符号使得一个正则表达式可以匹配字符串集合而不只 ...

  5. LaravelS - 基于Swoole加速Laravel/Lumen

    LaravelS LaravelS是一个胶水项目,用于快速集成Swoole到Laravel或Lumen,然后赋予它们更好的性能.更多可能性.Github 特性 内置Http/WebSocket服务器 ...

  6. labview连接mysql数据库

    前期准备:安装MySQL 并设置可远程连接 第一步 安装 mysql connector odbc https://www.cr173.com/soft/50794.html 第二步:创建数据源 本机 ...

  7. call() 、 apply() 、bind()方法的作用和区别!

    从一开始,我是在书上看到关于bind().call() 和 apply(), 不过长久以来,在工作中与网上接触到了很多关于这三个方法的使用场景,对这三个方法也算是比较熟悉了.所以把他们的作用和区别简单 ...

  8. 2019-9-20:渗透测试,基础学习,笔记,metasploit的基础使用

    使用kali下metasploit生成木马,控制windows系统 kali基于debin的数字取证系统,上面集成了很多渗透测试工具,前身为bt r3(BrackTrack) Metasploit,是 ...

  9. java集合讲解

    java集合讲解 1.概述 集合类的顶级接口是Iterable,Collection继承了Iterable接口 常用的集合主要有 3 类,Set,List,Queue,他们都是接口,都继于Collec ...

  10. Spring IOC 的简单使用

    Spring IOC (Inversion Of Control反转控制容器 一.对于IOC容器的简单理解 在java开发中将程序中的对象交给容器管理,而不是在对象的内部管理. 那么两个简单的问题去分 ...