如题,分享记录一份还不错的面试题。看面试题的目的不是为了记住题目然后去应试(也不可能人家题都不带换的),如果是这样的话,就算过了,面试真正在工作中遇到挑战时一脸懵逼,怕是离大礼包不远了。看面试题是为了知道自己的水平,了解哪些是常见问题,如果有不足的地方就要提升弥补。
一、Kubernetes
K8s 的集群组件有哪些?功能是什么?
初始化容器和 SideCar 容器的作用和区别
Nginx Ingress 的原理本质是什么?
kubectl 命令相关:如何修改副本数,如何滚动更新和回滚,如何查看 Pod 的详细信息,如何进入 Pod 交互?
就绪探针和判活探针的区别和作用?
如何修改 Pod 的时间,且不会影响其他 Pod,只作用于修改的那个 Pod?
PV 和 PVC 的关系,StorageClass 是什么?
K8s 集群节点需要关机维护,需要怎么操作?
Pod 创建过程是什么?
预防集群雪崩措施?
Pod 状态 Crash 了,如何去排查?
容器优雅关闭?
有了解 QoS 吗?怎么实现的?
kubectl exec 实现的原理?
详述 kube-proxy 原理?
网络选型需要注意什么?
你们监控用的什么,怎么利用 Prometheus 监控 Pod 信息、K8s 状态?如果来设计相关的监控,如何落地?
节点 NotReady 是什么导致的?NotReady 会发生什么?
设想 Kubernetes 集群管理从一千台节点到五千台节点,可能会遇到什么样的瓶颈?应该如何解决?
K8s 集群如何去监控的?简要举几个关键的监控例子?
灰度发布是什么?如何使用 K8s 现有的资源实现灰度发布?
设想一个一千台物理机、上万规模容器的 Kubernetes 集群,请详述使用 Kubernetes 时需要注意哪些问题?应该怎样解决?(提示可以从高可用、高性能等方向,覆盖)
K8s 的 Service 和 Endpoint 是如何关联和相互影响的?
详述 kube-proxy 原理,一个请求是如何经过层层转发落到某个 Pod 上的整个过程?请求可能来自 Pod 也可能来自外部?
RC/RS 功能是怎么实现的?详述从 API 接收到一个创建 RC/RS 的请求,到最终在节点上创建 Pod 的全过程,尽可能详细。另外,当一个 Pod 失效时,Kubernetes 是如何发现并处理的?
cgroup 中的 CPU 有哪几种限制方式?K8s 是如何使用实现 request 和 limit 的?
介绍 K8s 实践中踩过的一个比较大的坑和解决方式?
如何去上线的?Jenkins Pipeline 共享库、灰度发布是什么?如何使用 K8s 现有的资源实现灰度发布?
设想一个一千台物理机、上万规模容器的 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 脚本,为了实现什么需求?
Pythonyield用法,并发,多线程?
Python 装饰器的作用以及举一到两个例子说下项目中用到 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?
九、提问环节
这个岗位每天、每周、每月都做什么?
这个岗位当前需要立即解决的痛点?
团队规模 & 协作与沟通的模式?
集群与服务规模?
当前架构/业务与未来演进方向?
这个反问挺有意思的,不过我的反问一般是:
- 运维团队有多少人?
- 用到了哪些技术?
- 比较看重哪些技术?
这份面试题不但开阔了我的眼界,还丰富了我的反问问题库,哈哈。通过这些反问,确实能获取到一些更有价值的信息,我之前怎么没想到!!!