一面
1、写小项目,面试官给的项目要求大体是这样:
K8S 容器化之后应用容器里几乎没有什么可用的调试工具,可以利用容器 Namespace 共享的思路,启动一个包含各种调试工具(比如 netstat, gdb)的容器,加入到 pod 的 pid、net 等 namespace 中, 实现对任意 pod 的 debug 功能。现在希望利用 kubectl plugin 机制实现一个插件,用于 debug 任意一个 pod 里的容器,达到 kubectl exec 的使用体验。
二面
1、问项目经历,聊了两个项目
2、对 Kubernetes 了解怎么样,看过源码吗?
3、Kubernetes 的 Service 是什么概念,怎么实现的?
4、你刚说到 Informer,Informer 是怎么实现的,有什么作用?
5、StatefulSet 用过吗?有什么特点?
6、StatefulSet 的滚动升级是如何实现的?
7、现在我们希望只升级 StatefulSet 中的任意个节点进行测试, 可以怎么做?
8、Kubernetes 的所有资源约定了版本号, 为什么要这么做?
9、假如有多几个版本号并存, 那么 K8S 服务端需要维护几套代码?
10、接下来我们聊聊 Golang,看一下这段代码有没有问题(一段 golang for-range 里 goroutine 闭包捕获的代码),为什么?
11、goroutine 是怎么调度的?
12、goroutine 和 kernel thread 之间是什么关系?
13、手撕代码。牛客题霸上的原题,可以去看看:NC78 反转链表。
14、有什么想问我的?
三面
1、给我介绍 PingCAP 相关团队的职责与挑战
2、聊为什么出来看机会,以及未来的职业规划
3、聊我之前做的一个数据同步的项目,大概内容是订阅 MySQL Binlog,sink 到搜索索引、分库分表以及业务事件订阅流中
4、为什么数据同步里选择了 xxxx 开源项目,优势在哪?
5、订阅分库分表的 Binlog 怎么订阅?
6、分库分表的数据源中假如存在主键冲突要怎么解决?
7、怎么保证下游对 Binlog 的消费顺序?
8、如何在下游保证消费时的事务原子性?
9、描述了一下 tidb 的 binlog 架构,问这种场景下怎么保证 Binlog 顺序
10、聊一个上了 Kubernetes 的项目,问了一些细节和坑
11、用 Kubernetes 之后,解决了哪些问题?
12、聊我之前做的监控警报项目,问背景和产出
13、Prometheus 单实例数据量级 hold 不住了,有什么解决方案?
14、有什么想问我的?
四面
1、聊"配置中心"项目的细节
2、为什么不用 ZK,要自己再写一个"配置中心"
3、配置中心怎么做服务发现的?怎么做 failover 的?
4、用 Kubernetes 碰到过哪些坑?
5、对 Prometheus 做了哪些改动?
6、对 Alertmanager 做了哪些改动?
7、监控系统怎么做"自监控"?
8、跨机房的网络问题怎么监控?
9、有什么想问我们的?
全部评论
(2) 回帖