面试题 / 面经

PingCAP

来源: aylei/interview

时间: 2019年初

部门: Cloud 方向

我获取时间: 2026-04-25

一面(小作业)

  1. 利用 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. 看一下这段代码有没有问题,为什么?
  11. goroutine 是怎么调度的?
  12. goroutine 和 kernel thread 之间是什么关系?
  13. 有什么想问我的?

三面

  1. 介绍 PingCAP 相关团队的职责与挑战
  2. 为什么出来看机会,以及未来的职业规划
  3. 聊之前做的一个数据同步项目
  4. 为什么数据同步里选择了某个开源项目,优势在哪?
  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. 有什么想问我们的?

五面

  1. 创始人面