1. 前言
相信大家对 ZooKeeper 应该不算陌生。但是你真的了解 ZooKeeper 到底有啥用不?如果别人/面试官让你给他讲讲对于 ZooKeeper 的认识,你能回答到什么地步呢?
拿我自己来说吧!我本人曾经使用 Dubbo 来做分布式项目的时候,使用了 ZooKeeper 作为注册中心。为了保证分布式系统能够同步访问某个资源,我还使用 ZooKeeper 做过分布式锁。另外,我在学习 Kafka 的时候,知道 Kafka 很多功能的实现依赖了 ZooKeeper。
前几天,总结项目经验的时候,我突然问自己 ZooKeeper 到底是个什么东西?想了半天,脑海中只是简单的能浮现出几句话:
- ZooKeeper 可以被用作注册中心、分布式锁;
- ZooKeeper 是 Hadoop 生态系统的一员;
- 构建 ZooKeeper 集群的时候,使用的服务器最好是奇数台。
由此可见,我对于 ZooKeeper 的理解仅仅是停留在了表面。
所以,通过本文,希望带大家稍微详细的了解一下 ZooKeeper 。如果没有学过 ZooKeeper ,那么本文将会是你进入 ZooKeeper 大门的垫脚砖。如果你已经接触过 ZooKeeper ,那么本文将带你回顾一下 ZooKeeper 的一些基础概念。
另外,本文不光会涉及到 ZooKeeper 的一些概念,后面的文章会介绍到 ZooKeeper 常见命令的使用以及使用 Apache Curator 作为 ZooKeeper 的客户端。
如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!
蚂蚁金服一面
- 两分钟的自我介绍
- 二叉搜索树和平衡二叉树有什么关系,强平衡二叉树(AVL 树)和弱平衡二叉树 (红黑树)有什么区别
- B 树和 B+树的区别,为什么 MySQL 要使用 B+树
- HashMap 如何解决 Hash 冲突
- epoll 和 poll 的区别,及其应用场景
- 简述线程池原理,FixedThreadPool 用的阻塞队列是什么
- sychronized 和 ReentrantLock 的区别
- sychronized 的自旋锁、偏向锁、轻量级锁、重量级锁,分别介绍和联系
- HTTP 有哪些问题,加密算法有哪些,针对不同加密方式可能产生的问题,及其 HTTPS 是如何保证安全传输的
蚂蚁金服二面
- 设计模式有哪些大类,及熟悉其中哪些设计模式
- volatile 关键字,它是如何保证可见性,有序性
- Java 的内存结构,堆分为哪几部分,默认年龄多大进入老年代
- ConcurrentHashMap 如何保证线程安全,jdk1.8 有什么变化
- 为什么 ConcurrentHashMap 底层为什么要红黑树
- 如何做的 MySQL 优化
- 讲一下 oom 以及遇到这种情况怎么处理的,是否使用过日志分析工具
蚂蚁金服一面:
- 先进行自我介绍,然后介绍自己做过的项目,从项目流程架构设计等方面介绍你们怎么保证 Redis 缓存和数据库的数据一致性?
- Redis 缓存雪崩?击穿?穿透?
- 你熟悉哪些消息中间件,有做过性能比较?
针对以上蚂蚁金服的面试题我整理了一些Java面试题,如果有需要的可以在文末免费获取哦!
福利
内容真的很丰富!上图!看看就知道了!
Jvm
并发
Mysql
全部的(不一一截图了)
Java面试核心知识点笔记
其中囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
Java中高级面试高频考点整理
更多Java进阶知识笔记文档分享,这些对于面试还是学习来说都是一份不错的学习资料
最后还分享Java进阶学习及面试必备的视频教学
u8g-1619154460908)]
最后还分享Java进阶学习及面试必备的视频教学
[外链图片转存中…(img-4owHwMzC-1619154460908)]