Java进阶之光!百万数据分页查询的方法及其优化方式

前言:

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

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

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

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

一面

  • 介绍一下自己

  • 问项目经历, 聊"数据同步"

  • 接着聊上了 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 的什么高级特性吗?

  • 这里不太理解,我问什么算高级特性,面试官就切换到了下一个问题

  • 配置中心的核心数据表是怎么设计的?

你可能感兴趣的:(程序员,java,经验分享,面试)