当前位置:   article > 正文

字节跳动面试官:java面试思维逻辑题_字节面试逻辑题

字节面试逻辑题

前言:

有人说世界上有三个伟大的发明:火,轮子,以及 Kafka

发展到现在,Apache Kafka 无疑是很成功的,Confluent 公司曾表示世界五百强中有三分之一的企业在使用 Kafka。在流式计算中,Kafka 一般用来缓存数据,例如 Flink 通过消费 Kafka 的数据进行计算。

而要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部首发的“限量笔记”,关于Kafka的精髓全部写在这里面了,真是不得不得不感叹:不愧是Alibaba的技术官啊,真的服了!

惊喜!阿里巴巴首发:Kafka“限量笔记”,精髓全写在里面了

1. 面试官:工作中使用过Zookeeper嘛?你知道它是什么,有什么用途呢?

小菜鸡的我:

  • 有使用过的,使用ZooKeeper作为dubbo的注册中心,使用ZooKeeper实现分布式锁
  • ZooKeeper,它是一个开放源码的分布式协调服务,它是一个集群的管理者,它将简单易用的接口提供给用户。
  • 可以基于Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能
  • Zookeeper的用途:命名服务、配置管理、集群管理、分布式锁、队列管理

用途跟功能不是一个意思咩?

2. 面试官:说下什么是命名服务,什么是配置管理,又什么是集群管理吧

小菜鸡的我(幸好我刷过面试题),无所畏惧

  • 命名服务就是

    命名服务是指通过指定的名字来获取资源或者服务地址。Zookeeper可以创建一个全局唯一的路径,这个路径就可以作为一个名字。被命名的实体可以是集群中的机器,服务的地址,或者是远程的对象等。一些分布式服务框架(RPC、RMI)中的服务地址列表,通过使用命名服务,客户端应用能够根据特定的名字来获取资源的实体、服务地址和提供者信息等。

  • 配置管理:

    实际项目开发中,我们经常使用.properties或者xml需要配置很多信息,如数据库连接信息、fps地址端口等等。因为你的程序一般是分布式部署在不同的机器上(如果你是单机应用当我没说),如果把程序的这些配置信息保存在zk的znode节点下,当你要修改配置,即znode会发生变化时,可以通过改变zk中某个目录节点的内容,利用watcher通知给各个客户端,从而更改配置。

  • 集群管理

    集群管理包括集群监控和集群控制,其实就是监控集群机器状态,剔除机器和加入机器。zookeeper可以方便集群机器的管理,它可以实时监控znode节点的变化,一旦发现有机器挂了,该机器就会与zk断开连接,对用的临时目录节点会被删除,其他所有机器都收到通知。新机器加入也是类似酱紫,所有机器收到通知:有新兄弟目录加入啦。

3. 面试官:你提到了znode节点,那你知道znode有几种类型呢?zookeeper的数据模型是怎样的呢ÿ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/878793
推荐阅读
相关标签
  

闽ICP备14008679号