前言:
有人说世界上有三个伟大的发明:火,轮子,以及 Kafka。
发展到现在,Apache Kafka 无疑是很成功的,Confluent 公司曾表示世界五百强中有三分之一的企业在使用 Kafka。在流式计算中,Kafka 一般用来缓存数据,例如 Flink 通过消费 Kafka 的数据进行计算。
而要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部首发的“限量笔记”,关于Kafka的精髓全部写在这里面了,真是不得不得不感叹:不愧是Alibaba的技术官啊,真的服了!
一面
-
介绍一下自己
-
问项目经历, 聊"数据同步"
-
接着聊上了 K8S 的项目
-
有没有什么钻研得比较深得技术?(大佬:kubernetes, golang, prometheus, java)
-
kubernetes 的架构是怎么样的?
-
这个问题很大,拆成 apiserver、controller、kubelet、scheduler 讲了一下
-
golang 与 java 的比较
-
这个问题又很大,当时主要对比了 vm、协程支持、面向对象和泛型的区别、以及自己对各自使用场景的一些理解
-
golang 的 gc 算法
-
知道是三色标记,不过细节说不上来
-
从无限的字符流中, 随机选出 10 个字符
-
没见过也没想出来,查了一下是蓄水池采样算法,经典面试题,没刷题吃亏了
-
怎么扩展 kubernetes scheduler, 让它能 handle 大规模的节点调度
-
单节点提速:优选阶段随机取部分节点进行优选;水平扩展 scheduler 节点,pod 做一致性 hash 来决定由哪个scheduler 调度
-
你有什么想问我的?
一面其实有点僵,大佬自己完全没放开,面试官对大佬的回答没有什么反馈和深入,都是"哦好的"然后就过了。所以大佬当时面完觉得自己其实已经挂了(要是对候选人不感兴趣,有时候也就问完问题走个过场溜了),后来收到二面电话着实吃惊了一下。
二面
-
先聊了聊项目
-
给 Prometheus 做了哪些改动?
-
自研配置中心, 具体做了哪些内容?
-
有用过 MySQL 的什么高级特性吗?
-
这里不太理解,我问什么算高级特性,面试官就切换到了下一个问题
-
配置中心的核心数据表是怎么设计的?
<