蚂蚁金服-面试前
蚂蚁的面试挺独特,每轮面试都没有 HR 约时间,一般是晚上 8 点左右面试官来一个电话,问是否能面试,能的话开始面,不能就约一个其它时间。
全程 6 面,前五面技术面,电话面试,最后一面是 HR 面,现场面。大佬说技术这方面肯定要掌握好,其实面试题也可以背一背,要是他提前有时间就看一下面试题说不定有些问题就可以回答得更好,可以起个抱佛脚的作用。
一面
- 介绍一下自己
- 问项目经历, 聊"数据同步"
- 接着聊上了 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 的什么高级特性吗?
- 这里不太理解,我问什么算高级特性,面试官就切换到了下一个问题
- 配置中心的核心