SRE面试题
一、Kubernetes
K8s的集群组件有哪些?功能是什么?
初始化容器和SideCar容器的作用和区别
Nginx Ingress的原理本质是什么?
kubectl命令相关:如何修改副本数,如何滚动更新和回滚,如何查看pod的详细信息,如何进入pod交互?
就绪探针和判活探针的区别和作用?
如何修改Pod的时间,且不会影响其他Pod,只作用于修改的那个Pod?
PV和PVC的关系,StorageClass是什么?
K8s集群节点需要关机维护,需要怎么操作?
Pod创建过程是什么?
预防集群雪崩措施?
Pod状态Crash了,如何去排查?
容器优雅关闭?
有了解QoS吗?怎么实现的?
kubectl exec 实现的原理?
详述kube-proxy原理?
网络选型需要注意什么?
你们监控用的什么,怎么利用普罗米修斯监控pod信息,k8s状态,如果来设计相关的监控如何落地?
节点NotReady是什么导致的?NotReady会发生什么?
设想kubernetes集群管理从一千台节点到五千台节点,可能会遇到什么样的瓶颈。应该如何解决?
K8s集群如何去监控的,简要举几个关键的监控例子?
灰度发布是什么。如何使用k8s现有的资源实现灰度发布?
设想一个一千台物理机,上万规模的容器的kubernetes集群,请详述使用kubernetes时需要注意哪些问题?应该怎样解决?(提示可以从高可用,高性能等方向,覆盖到从镜像中心到kubernetes各个组件等)?
k8s的service和ep是如何关联和相互影响的?
详述kube-proxy原理,一个请求是如何经过层层转发落到某个pod上的整个过程。请求可能来自pod也可能来自外部?
rc/rs功能是怎么实现的。详述从API接收到一个创建rc/rs的请求,到最终在节点上创建pod的全过程,尽可能详细。另外,当一个pod失效时,kubernetes是如何发现并重启另一个pod的?
cgroup中的cpu有哪几种限制方式。k8s是如何使用实现request和limit的?
介绍k8s实践中踩过的比较大的一个坑和解决方式?
如何去上线的,Jenkins Pipeline 共享库、灰度发布是什么。如何使用K8s现有的资源实现灰度发布?
设想一个一千台物理机,上万规模的容器的kubernetes集群,请详述使用Kubernetes时需要注意哪些问题?应该怎样解决?(提示可以从高可用,高性能等方向,覆盖到从镜像中心到kubernetes各个组件等)?
设想Kubernetes集群管理从一千台节点到五千台节点,可能会遇到什么样的瓶颈。应该如何解决?
Kubernetes的运营中有哪些注意的要点?
介绍K8s实践中踩过的比较大的一个坑和解决方式?
二、Prometheus
prometheus对比zabbix有哪些优势?
prometheus组件有哪些,功能是什么?
指标类型有哪些?
在应对上千节点监控时,如何保障性能?
简述从添加节点监控到grafana成图的整个流程?
在工作中用到了哪些exporter?
报警收敛怎么做的?
三、ELk
Elasticsearch的数据如何备份与恢复?
你们项目中使用的logstash过滤器插件是什么?实现哪些功能?
是否用了索引Template?对ES集群做了哪些优化?
kibana如何自定义图表和仪表盘?
elasticsearch分片副本是什么?你们配置的参数是多少?、集群规模?、qps峰值和平均峰值?
四、docker
dockerfile有哪些关键字?用途是什么?
如何减小dockerfile生成镜像体积?
dockerfile中CMD与ENTRYPOINT区别是什么?
dockerfile中COPY和ADD区别是什么?
命令相关:导入导出镜像,进入容器,设置重启容器策略,查看镜像环境变量,查看容器占用资源?
构建镜像有哪些方式?
五、 Linux
如何清空Kafka某个topic里的消息
nginx日志访问量前十的ip怎么统计?
nginx负载均衡算法有哪些?
如何升级内核,目前最新版本号多少?
大于2T的磁盘如何分区?
删除/var/log/下.log结尾的30天前的日志文件?
磁盘100%,服务器上找不到对应的文件,排查思路?
新上接口时好时坏,排查思路?
收到用户反馈APP或网站无法访问,你会怎么处理?
业务pv、QPS均值和峰值分别是多少?集群规模多少?怎么保障业务高可用?
在日常工作中遇到了什么棘手的问题,如何排查?
某个进程偶现CPU高,如何排查是哪里出现问题了?
监控系统、接口监控、错误日志监控、Nginx状态监控、消息队列拥堵监控、服务使用内存和CPU监控、服务器基础监控?
老板偶尔用手机使用了咱们的产品,就出现了一个报错,你该如何定位,我们这边有多少多少的并发?
六、NoSQL
Redis数据持久化有哪些方式?
Redis集群方案有哪些?
Redis如何进行数据备份与恢复?
MongoDB如何进行数据备份?
Kafka为何比Redis RabbitMQ快?
七、开发
Flask和Django区别,应用场景?
列举常用的Git命令?
开发的运维平台有哪些,讲一个自认为写的最好的一个平台?
举一个平常写的印象深刻的Python脚本,为了实现什么需求?
Python yeild用法,并发,多线程?
Python装饰器的作用以及举一到2个例子说下项目中用到Python装饰器的地方?
Python打开一个文件,找出某个字符串最快的方法?
你做的平台,前后端交互怎么实现?
八、Kafka
Apache Kafka 是什么?
什么是消费者组?
在 Kafka 中,ZooKeeper 的作用是什么?
解释下 Kafka 中位移(offset)的作用?
阐述下 Kafka 中的领导者副本(Leader Replica)和追随者副本(Follower Replica)的区别?
如何设置 Kafka 能接收的最大消息的大小?
监控 Kafka 的框架都有哪些?
Broker 的 Heap Size 如何设置?
如何估算 Kafka 集群的机器数量?
深度思考题
Leader 总是 -1,怎么破?
LEO、LSO、AR、ISR、HW 都表示什么含义?
__consumer_offsets 是做什么用的?
简述 Follower 副本消息同步的完整流程?
Controller 发生网络分区(Network Partitioning)时,Kafka 会怎么样?
如何调优 Kafka?
九、提问环节
这个岗位每天、每周、每月都做什么?
这个岗位当前需要立即解决的痛点?
团队规模&协作与沟通的模式?
集群与服务规模?
当前架构/业务与未来演进方向?
天天向上,空杯心态。