经过本人为期一个半月的不懈努力,累计面试了二十多家公司,共计约五十余场面试,考察的面试题超两百道,积累了许多宝贵的面试经验。现在,我将这些面试题以及我个人的应对心得精心整理成一份面试攻略分享给大家,快来一起测测自己能回答多少道面试题吧。
面试基本信息
面试岗位:运维工程师(容器与ES方向)、运维开发工程师、SRE工程师
工作经验:5年
薪资范围:年薪45万左右,base北京
面试时间:7月初-8月中旬
主要公司:
互联网公司:字节、京东、百度、网易、蚂蚁金服、小米、滴滴、去哪儿、猎豹移动、商汤、旷视、智谱华章、马蜂窝、竞技世界 国企子公司:电信、联通、建行、中石化
面试题汇总
其中☆表示多次出现过的高频面试题,已经按分类整理。
Linux
grep sed awk cut组合使用☆ http错误码和原因 长连接、短连接、WebSocket区别和使用场景 nginx性能优化有哪些方式☆ lvs、nginx、haproxy区别和使用场景☆ 僵尸进程是什么 进程、线程、协程区别☆ 什么是nginx的异步非阻塞 linux网络丢包怎么排查☆ 常用的性能分析诊断命令☆ 什么是进程中断 什么是软中断、硬中断 什么是不可中断进程 什么是栈内存和堆内存 top 命令里面可以看到进程哪些状态☆ Linux 系统中/proc是做什么的 load和cpu使用率区别 MAC地址IP地址如何转换 常见的raid有哪些,使用场景是什么 lvm怎么划分 jvm内存如何查看 如何管理和优化内核参数 什么是进程最大数、最大线程数、进程打开的文件数,怎么调整☆ du和df统计不一致原因☆ buffers与cached的区别☆ lsof命令使用场景 Linux中的进程间通信的方式及其使用场景 Linux中的进程优先级与设置方法 什么是内存分页和分段 如何创建和管理自定义systemd服务 Linux内核模块的加载与卸载过程 ansible roles使用场景,现在有多台机器需要批量加入k8s集群,怎么实现☆
Kubernetes
谈谈你对k8s的理解☆ k8s集群架构是什么☆ 简述Pod创建过程☆ 简述删除一个Pod流程 不同node上的Pod之间的通信过程☆ pod创建Pending状态的原因☆ deployment和statefulset区别☆ kube-proxy有什么作用☆ kube-proxy怎么修改ipvs规则 ipvs为什么比iptables效率高 pod之间访问不通怎么排查☆ k8s中Network Policy的实现原理 探针有哪些?探测方法有哪些? pod健康检查失败可能的原因和排查思路 k8s的Service是什么☆ metrics-server采集指标数据链路 k8s服务发现有哪些方式? pod几种常用状态 Pod 生命周期的钩子函数 Calico和flannel区别☆ calico网络原理、组网方式 Network Policy使用场景 kubectl exec 实现的原理 cgroup中限制CPU的方式有哪些 kubeconfig存放内容 pod DNS解析流程☆ traefik对比nginx ingress优点 Harbor有哪些组件 Harbor高可用怎么实现 ETCD调优 假设k8s集群规模上千,需要注意的问题有哪些? 节点NotReady可能的原因?会导致哪些问题?☆ service和endpoints是如何关联的? ReplicaSet、Deployment功能是怎么实现的? scheduler调度流程 HPA怎么实现的☆ request limit底层是怎么限制的☆ helm工作原理是什么? helm chart rollback实现过程是什么? velero备份与恢复流程是什么 docker网络模式 docker和container区别☆ 如何减⼩dockerfile⽣成镜像体积? k8s日志采集方案 Pause容器的用途☆ k8s证书过期怎么更新 K8S QoS等级☆ k8s节点维护注意事项 Headless Service和ClusterIP区别☆ Linux容器技术的基础原理 Kubernetes Pod的常见调度方式 kubernetes Ingress原理☆ Kubernetes各模块如何与API Server通信 kubelet监控worker节点如何实现 容器时区不一致如何解决?
Prometheus
Prometheus的工作流程 Metric的几种类型?分别是什么?☆ Prometheus有哪几种服务发现☆ Prometheus常用函数 thanos架构☆ thanos与VictoriaMetrics对比 thanos sidecar和receive区别☆ thanos rule组件和prometheus区别 Prometheus告警从触发到收到通知延迟在哪 告警抑制怎么做☆ 告警架构高可用怎么做☆ Pod指标WSS和RSS区别☆ 监控四个黄金指标 在大规模环境下,如何优化Prometheus性能 如何实现告警的自动化响应☆ Prometheus数据压缩和持久化实现原理 kubectl top输出与Linux free命令不一致原因☆ 用到了哪些exporter,功能是什么 是否自己开发过exporter☆ target down的情况如何进行故障排除? Exporter 停止工作,如何监控? Prometheus的拉取模式与zabbix推送模式有何区别?各有什么优缺点? Prometheus operator怎么添加targets和告警规则 k8s集群外exporter怎么使用Prometheus监控
ELK
ES写入索引原理 ES存储原理☆ 搜索文档(单个文档)流程 ES全文搜索流程 ES写入性能优化☆ ES查询性能优化☆ ES JVM使用过高如何排查 ES的Fleet server架构☆ Fleet server架构和elk架构使用场景☆ ClickHouse、loki、ES的优劣对比 ES架构☆ 业务类ES和日志类ES架构设计区别 ES Full Gc怎么排查处理 全文检索和精确搜索区别☆ 集群变黄状态时,你会如何进行故障排除☆ 如何在集群中添加或移除节点 ES Young GC和old GC有什么区别 怎么提高查询结果评分 ES的version是解决什么问题的 查询数据慢如何排查优化☆ 是否对ES JVM做过调优 ES是否数据越多需要内存越大 ES集群数据备份如何实现☆ ES聚合有哪些方式 Filebeat如何保证连续发送日志 Logstash如何提升性能☆ 如何提高Filebeat性能 Filebeat如何收集容器日志
Devops
gitlab runner做了哪些优化 怎么实现多集群逐个发布 蓝绿部署、灰度发布、金丝雀发布区别☆ 什么是测试左移?(Shift-Left testing) 什么是GitOps GitOps和DevOps区别☆ gitlab仓库代码如何备份 Jenkins 构建失败时,你如何排查问题☆ Jenkins用户权限管理怎么做的 Jenkins pipeline有几种模式,区别是什么? 如何配置 Jenkins 实现高可用性 Jenkins Master和Slave是如何协同工作的 如何设计和实现一个 Jenkins Pipeline,以支持多阶段构建、测试和部署流程 Argo Rollouts蓝绿部署和金丝雀发布原理☆ Argo CD中的 Application CRD是什么 Argo CD中自动同步(Auto-sync)和手动同步的区别与应用场景 Argo CD检测到应用状态异常,你会如何进行故障排除 Argo CD如何配置自定义的健康检查规则 Argo CD检测到配置与实际状态不一致时如何处理这些差异 CICD流程如何监控? 平时开发项目时git开发功能分支标准流程是什么? git分支冲突怎么解决?
Python VUE
Python中的 GIL是什么?它如何影响多线程?☆ python装饰器☆ is 和 == 的区别☆ Python中的生成器和迭代器有什么区别 Python的垃圾回收机制是如何工作的 Python上下文管理器的概念及其用途。 dict的内部实现原理 python浅拷贝和深拷贝☆ lambda匿名函数使用场景举例 常见设计模式 python单例模式 面向对象中__new__和__init__区别☆ Python中的列表和字典是如何实现的?它们在时间复杂度上有何差异? Python中的多线程模块的区别☆ asyncio编写异步代码 django请求的生命周期☆ JWT认证 什么是wsgi,uwsgi Django安全防护 drf继承过哪些视图类,他们之间的区别☆ 谈谈django flask fastapi各自的优劣和适用场景。 python定时任务解决方案☆ 在 Celery 中,如何确保任务的可靠性和持久性 如何监控 Celery 任务的执行情况 当 Celery 任务出现阻塞或延迟时,你如何进行故障排除? VUE双向数据绑定 VUE实例的生命周期钩子函数有哪些☆ v-if与v-show区别☆ cookie和seesion区别☆ VUE父子组件如何通信 nextTick 使用场景 ref和reactive区别 你有写过VUE自定义指令吗? 排序算法☆ 查找算法☆ SSO单点登录实现原理☆
开放性问题
谈谈你对SRE理念的理解☆ 什么是可观测性 你们当前的业务规模☆ 运维过程中遇到的最大的故障是什么?怎么解决的?☆ 有没有人为误操作导致故障,如何处理的?☆ 平时怎么去学习新的技术☆ 最近工作中做过最有意义的事☆ 最近研究的技术方向是什么 运维上线流程规范 运维体系建设包含哪些方面☆ 故障事件管控怎么设计 告警覆盖率和准确率怎么衡量☆ 如何建设运维保障体系 运维给公司带来的价值是什么 运维和其他团队的职能边界和合作模式是什么 运维的发展方向是什么☆ 运维的工作重点是什么 运维的工作效率如何提升 是否做过故障总结,包含哪些内容 如何看待自动化操作高效性和人工操作确认安全性的问题 如何看待运维维稳和开发求新的问题☆ 如何看待追求更多的可靠性和成本的平衡问题 如何看待追求稳定性和新技术方案实践的问题 如何看待运维工作中的重复性、没有持续价值的工作☆ 如何避免告警通知频繁导致成为告警噪声☆ 是否关注过资源使用率,考虑降低成本☆ CMDB数据库怎么设计 SLO是多少,运维自动化率多少 与上级意见不一致怎么办 你的优点和缺点分别是什么? 与其他候选人相比,你的核心竞争力是什么? 部分用户访问服务首页白屏超时,分析服务请求过程和可能的原因 线上一个服务响应很慢,你如何排查,排查流程是什么? 你们的告警监控体系怎么设计的?
本文地址:https://dockerworld.cn/?id=392
温馨提示:文章内容系作者个人观点,不代表Docker 中文对观点赞同或支持。
版权声明:本文为转载文章,来源于 崔亮的博客 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
温馨提示:文章内容系作者个人观点,不代表Docker 中文对观点赞同或支持。
版权声明:本文为转载文章,来源于 崔亮的博客 ,版权归原作者所有,欢迎分享本文,转载请保留出处!
发表评论