图森1面面经

攒人品

1.自我介绍

2.zookeeper是做什么的

https://zhuanlan.zhihu.com/p/62099094

多节点kafka集群由一套多节点zooKeeper集群和一套多节点Kafka集群组成。

kafka大量地使用zooKeeper来保存集群的元数据信息以及consumer位移信息(老版本)。

kafka 不能脱离 zookeeper 单独使用,因为 kafka 使用 zookeeper 管理和协调 kafka 的节点服务器。

zooKeeper集群通常被称为一个ensemble,只要这个ensemble中大多数节点存活,那么zooKeeper集群就能真长提供服务。

大多数:即最好使用2n+1个服务器,这样zookeeper最多可以容忍n台服务器宕机而保证依然提供服务(如果使用偶数个服务器则通常会浪费一台服务器的资源)。

3.你知道lsr是什么吗

ISR全称in-sync replica,是与leader replica保持同步的replica集合。

kafka未partition动态维护一个replica集合,该集合中的所有replica保存的消息日志都与leader replica保持同步状态。只有这个集合中的replica才能被***为leader,也只有该集合中所有replica都接收到了人同一条消息,kafka才会将该消息置于"已提交"状态,即认为这条消息成功发送。

kafka承诺只要这个集合中至少存在一个replica,那些已提交状态的消息就不会丢失。

正常情况下,partition的所有(含leader replica)都应该与leader replica 保持同步,即所有replica都在ISR中。因为各种各样的原因,一部分replica开始落后于leade replica的进度。当之后到一定程度时,kafka会将这些replica”踢"出ISR。相反的,当这些replica重新“追上”了leader的进度时,kafka会将它们加回到ISR中,这一切都是自动维护的,不需要用户进行人工干预,因而在保证了消息交付语义的同时还简化了用户的操作成本。

4.docker是怎么隔离的(linux

5.rpc原理,怎么用的

6.kafka是怎么保证时序性的

7.还知道什么消息队列吗

8.分布式原理,怎么保证一致性

  1. 两阶段提交协议

两阶段提交

两阶段提交协议可以很好得解决分布式事务问题,它可以使用 XA 来实现,XA 它包含两个部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如 Oracle、DB2 这些商业数据库都实现了 XA 接口;而事务管理器作为全局的协调者,负责各个本地资源的提交和回滚。

  1. 消息中间件

消息中间件也可称作消息系统 (MQ),它本质上是一个暂存转发消息的一个中间件。在分布式应用当中,我们可以把一个业务操作转换成一个消息,比如支付宝的余额转入余额宝操作,支付宝系统执行减少余额操作之后向消息系统发送一个消息,余额宝系统订阅这条消息然后进行增加余额宝操作。

最后几道coding题目:

全排列(给一个数组,输出所有可能的排列组合),找最大连续的和>=k的数组长度;找山坡;实现streamKeeper

#面经##图森未来##校招##Java工程师#
全部评论
最后coding有四道,可能是因为我不会写的跳过了一次,然后实现繁琐跳过一次。 感觉应该是凉了。
点赞 回复
分享
发布于 2019-08-25 18:00
???一点基础知识都没问,直接怼架构?
点赞 回复
分享
发布于 2019-08-25 19:10
联想
校招火热招聘中
官网直投
都不会。。。
点赞 回复
分享
发布于 2019-08-26 15:42
收到offer否?
点赞 回复
分享
发布于 2019-09-22 19:47

相关推荐

1 19 评论
分享
牛客网
牛客企业服务