本文共 2130 字,大约阅读时间需要 7 分钟。
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 的客户端。
如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!
阿里一面:
- 介绍一下自己。* 项目参与的核心设计有哪些* java反射原理, 注解原理?* ArrayList和LinkedList的插入和访问的时间复杂度?* 说说一致性 Hash 原理* HashMap及线程安全的ConcurrentHashMap,以及各自优劣势* https和http区别,有没有用过其他安全传输手段?* SQL优化,常用的索引?* 请详细描述springmvc处理请求全流程?* 项目用 Spring 比较多,有没有了解 Spring 的原理?AOP 和 IOC 的原理* 1.8还采用了红黑树,讲讲红黑树的特性,为什么人家一定要用红黑树而不是AVL、B树之类的?* 线程池的工作原理,几个重要参数,然后给了具体几个参数分析线程池会怎么做,最后问阻塞队列的作用是什么?* Synchronized和Lock哪个更好?* ArrayList和LinkedList底层
阿里二面:
- 先直接问做过哪些Java开发相关的项目。* 数据库索引,底层是怎样实现的,为什么要用B树索引?* Mysql主从同步的实现原理?* 两个10G的文件,里面是一些url,内存只有1G,如何将这两个文件合并,找到相同的url?* 代码题:两个有序数组,数组中存在重复数字,合并成一个有序数组,去除重复数字。* 有使用过哪些NoSQL数据库?MongoDB和Redis适用哪些场景?* 描述分布式事务之TCC服务设计?* Redis 的 list zset 的底层实现* 分布式 session 的共享方案有哪些,有什么优劣势* 从千万的数据到亿级的数据,会面临哪些技术挑战?你的技术解决思路?* 排序算法的复杂度,快速排序非递归实现。
阿里三面:
- jvm性能调优都做了什么* 分布式系统原理:CAP,最终一致性,幂等操作等* 高并发情况下,我们系统是如何支撑大量的请求的* 什么情况会出现雪崩,以及如何应对?* 集群监控的时候,重点需要关注哪些技术指标?这些指标如何优化?* 分布式架构设计哪方面比较熟悉* 介绍你实践的性能优化案例,以及你的优化思路* 谈谈分布式锁、以及分布式全局唯一ID的实现比较?* 谈一个你觉得你学到最多的项目,使用了什么技术,挑战在哪里* 最近两年遇到的最大的挫折,从挫折中学到了什么?
HR面
- 自我介绍* 如何学习新技术?* 如何团队合作的?* 职业规划
由于文章的篇幅有限,所以这次的阿里面试题答案整理在了PDF文档里
整理了一套2021最新的 Java 面试题,基本上覆盖了所有的面试知识点,包括的内容如下:
Java基础,容器,多线程,反射,Java web模块,网络,设计模式,SpringMVC,SpringBoot,SpringCloud,Hibernate,Mybatis,中间件(RabbitMQ,Kafaka,Zookeeper),数据库(MySQL,Redis)和JVM等相关内容。
最后
小编精心为大家准备了一手资料
****以上Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术
【附】架构书籍赠送
- BAT面试的20道高频数据库问题解析
- Java面试宝典
- Netty实战
- 算法
BATJ面试要点及Java架构师进阶资料
BATJ面试要点及Java架构师进阶资料
[外链图片转存中…(img-Wwrmt4Ai-1624075176454)]
转载地址:https://blog.csdn.net/m0_57285455/article/details/118051834 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!