运维/大数据运维/DevOps最全面试题-Offer直通车
文章平均质量分 91
17年+码农,开发和运维一肩挑,特别是大数据运维基本是自己承担,经历了很多次面试,也多次作为面试官面试别人,多次运维面试和面试别人,深知哪些面试题是会被经常问到,熟背八股文和总结好自己项目经验,将让你在面试更容易拿到Offer。长期更新运维面试题,分享面试技巧和推荐运维的就业机会,不定时在线答疑。
余额抵扣
助学金抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
大模型大数据攻城狮
在阿里巴巴等多种类型公司工作过,第一份工作是在大厂做移动开发,后来在创业公司由于团队需要做后台开发、嵌入式开发等几乎全栈开发,最近这些年还保持必要全栈开发,精力更多在大数据、大模型等领域。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
K8s节点保卫战:基于Node Local DNS架构的磁盘自愈系统设计
我们需要一个DaemonSet,暂且命名为(磁盘哨兵)。/var/log(系统日志)(或者,看你用啥运行时)/tmp(临时文件重灾区)即使你的代码写得再完美,业务总是能给你整出新花样。今天他们把日志打到了,明天可能就改成了/data/logs。你的不能每次改配置都重新构建镜像发布吧?那样太慢了。我们需要利用 Kubernetes 的ConfigMap挂载,并配合inotify机制实现策略的热更新。策略下发与执行分离。},],注意看那个白名单(whitelist)。这是保命符。原创 2026-01-23 10:38:03 · 867 阅读 · 0 评论 -
关上大门,焊死窗户:K8s集群安全加固的终极奥义
做完了网络隔离,限制了容器权限,开启了审计,你以为就完了?很多公司最大的安全漏洞,其实在于Kubeconfig 的滥用。我见过太多的团队,为了方便,直接把admin.conf(拥有 system:masters 顶级权限)发给每一个开发人员。甚至 Jenkins 的 CI/CD 流水线用的也是 admin 权限。只要有一个开发人员的电脑中了木马,或者 Jenkins 脚本被篡改,你的整个集群就易主了。原创 2026-01-23 10:38:15 · 668 阅读 · 0 评论 -
万字长文,拒绝理论:从单机防御到抗 DDoS 攻击,一份最完整的 Linux 活着指南
如果 SSH 防住了,但是你的 Web 应用有漏洞怎么办?比如那个老旧的 Struts2 漏洞,或者 PHP 的 eval 注入。黑客通过 80 端口进来了,通过 Web 服务的权限拿到了 Shell。我们不能阻止代码有 Bug,但我们可以阻止 Bug 造成的破坏扩散。原创 2025-12-04 00:02:42 · 573 阅读 · 0 评论 -
DBA的噩梦与救赎——生产环境误删数据的极限恢复实战
在事故发生后的前五分钟,你做的每一个决定,都直接关系到这堆数据是能“无损复活”,还是彻底变成硬盘上的磁粉噪音。人本来就是会犯错的,一个依赖“人不犯错”来保证安全的系统,本身就是脆弱的系统。你需要申请资源,去买工具,去招人,去搞审计平台,这才是专业的表现。我们要做的是**“重放”**——把备份(如果有的话)恢复回去,然后把从备份时间点到误删时间点之间的所有操作,再执行一遍,唯独跳过那条该死的删除命令。如果你的业务在误删后没有停止,新产生的数据可能占用了老数据的主键ID(虽然自增ID一般不会回退,但万一呢?原创 2025-12-03 14:13:11 · 626 阅读 · 0 评论 -
撕掉“系统维护中”的公告牌:核心业务零停机升级实战手记
不要试图一口吃成个胖子。如果你的系统现在还是单体应用,发布还要靠停机。不要明天就强上全套的蓝绿部署。先试着把“优雅停机”(Graceful Shutdown)加上。下次加字段时,试着练习一下“N+1 模式”。再下次,试着引入“灰度配置”。技术架构的演进,本身也就是一次漫长的、不停机的升级。愿你的每一次发布,都如丝般顺滑;愿你的每一个深夜,都能安然入睡。原创 2025-11-29 08:28:18 · 402 阅读 · 0 评论 -
数据库连接数突然暴增导致服务不可用应急处理方案
如果说读写分离是分流,那缓存就是筑坝。最好的数据库优化,是让请求根本到达不了数据库。但引入缓存(Redis/Memcached),就引入了新的复杂度。原创 2025-11-29 08:48:39 · 662 阅读 · 0 评论 -
三七互娱运维面经及参考答案
三次握手最后一次握手(客户端发送 ACK 报文)完成后,客户端和服务器的 TCP 连接均进入ESTABLISHED 状态。此时,双向通信通道已完全建立,双方均可正常发送和接收应用数据(如 HTTP 请求、数据库查询结果等),这是 TCP 连接用于数据传输的核心状态。自定义监控项开发成本高:Zabbix 支持通过脚本(Shell、Python)、API 创建自定义监控项,但脚本需遵循严格的输出格式(如key:value。原创 2025-11-21 10:20:32 · 130 阅读 · 0 评论 -
携程运维开发面试题及参考答案
FULL GC(Full Garbage Collection,完全垃圾回收)是 JVM(Java 虚拟机)中针对老年代(Old Generation)及整个堆内存(包括新生代、老年代、永久代/元空间)的垃圾回收过程,部分垃圾回收器(如 G1、ZGC)也会将“全局标记-清理”类的回收称为 FULL GC。原创 2025-11-16 00:03:14 · 516 阅读 · 0 评论 -
自动化证书管理:从申请到部署,再到自动续期与失效回滚的实战指南
CT日志是公开的、只追加的记录,存储所有颁发的SSL证书。浏览器(如Chrome)要求新证书必须记录到CT日志,否则可能被标记为不受信任。原创 2025-10-15 06:21:57 · 536 阅读 · 0 评论 -
用 Spring Boot 打造 Docker 和 K8s 部署的硬核指南
Ingress 就像 K8s 的“门卫”,负责把外部 HTTP/HTTPS 请求路由到你的 Service。它支持域名、路径分发、SSL 证书等,比 NodePort 或 LoadBalancer 更灵活。用 Ingress,告别硬绑端口的尴尬,还能轻松实现多域名、多路径的路由。原创 2025-09-26 11:12:08 · 778 阅读 · 0 评论 -
如何设计一个高可用的 Kafka 集群
用 kafka-consumer-groups.sh 检查消费者组状态,搭配告警。原创 2025-09-24 00:03:01 · 467 阅读 · 0 评论 -
小红书运维面试题及参考答案
inode(Index Node,索引节点)是Linux/Unix文件系统中的核心概念,用于存储文件的元数据(描述信息),不包含文件名和文件内容,是文件系统实现“文件名-文件内容”映射的关键桥梁。理解inode是掌握Linux文件系统工作原理的基础,以下从核心定义、存储内容、工作流程、关键特性四方面详细说明:一、inode的核心定义与存储内容核心定义:inode是文件系统为每个文件分配的唯一标识(inode号),同时存储与文件相关的元数据,相当于文件的“身份证”和“属性说明书”。原创 2025-09-23 08:57:57 · 751 阅读 · 0 评论 -
Docker生产环境容器OOM问题定位:镜像内存泄漏还是主机资源不足?
修复后,Grafana显示订单服务内存稳定在1.5GB以内,主机可用内存回升到5GB,OOM问题消失。促销活动顺利完成,团队松了一口气。教训内存限制是基本功:不设--memory的容器是大忌。全局视角不可少:主机资源不足可能“连累”无辜容器。代码优化是根本:内存泄漏不解决,迟早再次爆炸。原创 2025-09-20 00:00:22 · 1130 阅读 · 0 评论 -
猿辅导运维面经及参考答案
HTTP 状态码是服务器对客户端请求的响应状态标识,由三位数字组成,分为五大类,分别以 1~5 开头,代表不同的响应类别。理解状态码是运维人员排查网络问题、分析请求链路的基础。 1xx(信息类状态码):表示服务器已接收请求,需要客户端继续操作。常见的有 100(Continue),表示服务器已接收请求头部,客户端可继续发送请求体;101(Switching Protocols),表示服务器同意客户端的协议切换请求(如从 HTTP 切换到 WebSocket)。 2xx(成功类状态码):表示请求已被服务器成功原创 2025-09-11 07:16:32 · 314 阅读 · 0 评论 -
NGINX vs HAProxy vs LVS:优势与选型分析
想象一个场景:你是一个创业公司的后端工程师,团队开发了一款在线教育平台,流量高峰期有 5000 QPS(每秒请求数),主要处理 HTTP 请求,还需要支持 WebSocket 推送课程通知。:某短视频平台初期使用 NGINX 应对 HTTP 流量,随着流量增长到百万 QPS,切换到 LVS 处理 RTMP 流,NGINX 则继续负责 API 网关,最终实现性能和功能的平衡。比如,某游戏公司用 LVS 处理 HTTP 流量,发现无法基于 URL 路由,只能额外部署 HAProxy,增加了架构复杂度。原创 2025-09-06 00:01:51 · 661 阅读 · 0 评论 -
数据库分库分表高可用方案设计
想象一下,你的公司业务像火箭一样起飞,用户数据从几万条飙升到几亿条,单台数据库服务器开始喘不过气,查询慢得像蜗牛爬,写入还老是卡住。这时候,分库分表就是你的“拆迁队”,把数据打散,分配到多个数据库或表里,让系统喘口气,重新跑起来。:某电商平台下单流程,订单库写订单,库存库扣库存,物流库生成运单。后来日活涨到500万,扩展到16个库,迁移了60%的数据,花了3天完成。单库的事务简单,BEGIN、COMMIT一气呵成,但分布式环境下,跨库事务得保证一致性,否则可能出大乱子,比如订单生成了但库存没扣。原创 2025-09-06 00:02:06 · 630 阅读 · 0 评论 -
网络断连与业务中断的全链路诊断与解决之道(面试场景题)
云服务的“最后一公里”往往是断连的罪魁祸首。云端和本地网络的连接,就像高速公路和乡间小路的对接,总有不顺的地方。VPN抖动:Site-to-Site VPN常因网络抖动断连。检查MTU和MSS设置,避免分片。启用Keepalive机制,保持连接活跃。专线问题:云专线(如AWS Direct Connect)可能因运营商故障中断。监控专线状态,准备备用VPN。带宽瓶颈:云服务共享带宽,突发流量可能导致拥堵。用云提供商的监控工具(如AWS CloudWatch)实时查看流量。真实案例。原创 2025-09-02 00:01:09 · 596 阅读 · 0 评论 -
当服务器报警响起:CPU、内存、磁盘使用率飙升的诊断与处置
某微服务架构的支付系统报警,主节点的 CPU 使用率 90%,内存 85%,从节点磁盘 I/O 高企。假设你运营一个电商平台,双十一促销期间,订单量暴增导致 CPU 使用率飙到 95%,内存占用 90%,磁盘 I/O 接近瓶颈。某服务器 CPU 使用率 100%,内存 95%,运行 netstat -tunap,发现大量来自未知 IP 的 TCP 连接。检查 /var/log/syslog 或 /var/log/messages,寻找异常事件,如 OOM Killer 触发或内核错误。原创 2025-08-31 10:44:18 · 827 阅读 · 0 评论 -
MySQL快速恢复数据的N种方案完全教程
幸运的是,从库配置了4小时延迟,立即停止复制,从从库导出posts表,恢复到主库,仅丢失了4小时内的少量数据。某游戏公司因批量DELETE误删了玩家数据,使用binlog2sql从binlog中提取回滚语句,10分钟内生成恢复脚本,成功还原99%的数据。:binlog恢复依赖binlog_format=ROW或STATEMENT,建议平时设置为ROW,因为它记录更详细,恢复更精准。某论坛误删了用户表中的100条记录,通过分析当天的binlog,提取出所有相关INSERT语句,生成恢复脚本,成功还原数据。原创 2025-08-16 00:04:36 · 1072 阅读 · 0 评论 -
看懂 Linux 硬件信息查看与故障排查
这个案例告诉我们,硬件问题往往是多点并发,排查时要“由点到面”:先用 lscpu、lsblk、free 摸清硬件状态。用 htop、iostat、sensors 监控实时表现。结合 dmesg 和 journalctl 找线索。针对性测试(smartctl、memtester)锁定问题。综合施策,逐步验证。原创 2025-08-14 00:04:58 · 900 阅读 · 0 评论 -
密码弱到爆?等保 2.0 教你把 Linux 打造成“铁壁堡垒”!
再强的防御也有失守的时候,备份是你的“最后防线”。等保 2.0 要求建立完善的备份策略,确保数据可恢复,业务不中断。别等到勒索软件找上门才后悔没备份!原创 2025-08-13 00:02:55 · 639 阅读 · 0 评论 -
用 VPS + acme.sh 免费开启 HTTPS 的实战手册(亲试可用)
我的服务器是一台,跑着系统,并且已经通过环境搭建了网站。你的网站现在是可以通过 http://mydomain.com正常访问的。如果你用的是宝塔面板或者其他一键脚本,可能自带了SSL配置功能,本文就不需要了。可惜我用的是lnmp的早起版本,没有自带ssl功能。原创 2025-08-12 00:07:13 · 601 阅读 · 0 评论 -
美团运维面试题及参考答案(上)
缓存穿透是指客户端请求的数据既不在缓存(如Redis)中,也不在数据库中,导致每次请求都穿透缓存直达数据库,当并发量高时可能压垮数据库。例如,用户查询不存在的用户ID(如user:9999),缓存未命中后查数据库也未命中,若恶意大量发送此类请求,会造成数据库压力激增。解决缓存穿透的两种常用方式:一是null值缓存。当数据库查询结果为null时,将该key对应的null值存入缓存(如set user:9999 null EX 60),并设置较短的过期时间(通常几分钟)。原创 2025-08-07 17:25:38 · 8481 阅读 · 0 评论 -
奇点云运维面经及参考答案
数据库索引是数据库系统中一种用于快速查询和检索数据的数据结构,它就像书籍的目录,通过预先建立数据的关键字与物理存储位置的映射关系,减少查询时扫描全表的开销,从而提升查询效率。但索引并非越多越好,因为索引会占用额外存储空间,且在插入、更新、删除数据时需要维护索引结构,可能降低写操作性能。主键索引:是一种特殊的唯一索引,每个表只能有一个主键索引,用于唯一标识表中的每条记录,不允许为空值。例如用户表中用“user_id”作为主键,查询“user_id=100”时可通过主键索引直接定位记录。原创 2025-08-06 00:02:15 · 717 阅读 · 0 评论 -
Linux系统卡顿的排查方法和过程全解析
排查卡顿的最终目标不是只解决问题,而是让系统长期稳定、性能炸裂。综合前面的方法,这里总结几招“锦囊妙计”,让你的Linux系统跑得像飞一样。原创 2025-07-24 08:33:19 · 1210 阅读 · 0 评论 -
七牛云运维面试题及参考答案
死锁是指两个或两个以上的进程(或线程)在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。死锁的产生必须同时满足以下四个必要条件,缺一不可:互斥条件:指进程对所分配到的资源进行排他性使用,即在一段时间内某资源只由一个进程占用。如果此时还有其他进程请求该资源,则请求者只能等待,直至占有该资源的进程释放。例如,在数据库操作中,一个事务锁定了某行数据,其他事务若想修改该行数据,只能等待该事务释放锁。持有并等待条件:指进程已经持有至少一个资源,但又提出了新的资源请求,而该资源已被原创 2025-07-12 00:00:42 · 679 阅读 · 0 评论 -
K8s Service 终极解析:源码、性能、故障排查全攻略
要搞懂 Service 的服务发现,得先看看它的“出生证明”——Service 的 API 定义。在 Kubernetes 中,Service 是一个标准的 API 资源,定义在 pkg/api/v1/types.go 中(基于 Kubernetes v1.26 源码,路径可能随版本略有变化)。原创 2025-07-12 00:01:36 · 794 阅读 · 0 评论 -
K8s实战:玩转私有镜像仓库的那些事儿
GitLab CI适合轻量级团队,配置简单,集成度高。Jenkins更灵活,适合复杂流水线或已有 Jenkins 环境的公司。无论哪种工具,核心是把镜像构建和推送自动化,减少人工干预,提升效率。Trivy 扫描:快速发现漏洞,适合 CI/CD 集成。Notary 签名:确保镜像可信,防止篡改。两者结合,让你的镜像安全到无懈可击!生产环境强烈建议把扫描和签名集成到 CI/CD 流水线,比如在 GitLab CI 里加个 trivy scan 步骤。配额管理:防止磁盘被某个项目占满,适合多团队环境。原创 2025-07-10 08:03:39 · 678 阅读 · 0 评论 -
k8s 网络进阶:用 Service 和 Ingress 构建高效流量网(深入源码探究)
Cluster(默认):流量可能被转发到其他节点的 Pod,增加网络跳跃。Local:流量只转发到本节点的 Pod,减少网络开销,但可能导致负载不均。假设你的集群有高延迟的跨节点通信,设置 externalTrafficPolicy: Local 可以提升性能。metadata:spec:selector:ports:port: 80用 kubectl describe svc my-api-service 检查,确认 External Traffic Policy: Local 已生效。原创 2025-07-09 07:44:34 · 740 阅读 · 0 评论 -
MaxCompute数据迁移至OSS完全指南
Tunnel SDK和OSS SDK都支持日志记录,结合SLF4J或Log4j可以实现细粒度的性能监控。try {try {// 每1000条记录日志一次源码解析Logger:SLF4J的日志接口,记录迁移进度、错误和性能指标。:逐行读取MaxCompute数据,hasNext和next方法支持流式处理。:OSS的流式上传接口,适合大文件传输。监控逻辑:每1000条记录计算一次速度,捕获异常并记录错误,迁移结束后输出总结。优化技巧采样频率。原创 2025-07-08 00:10:04 · 1383 阅读 · 0 评论 -
Kubernetes架构与组件详解:从入门到精通
通过--policy-config-file指定调度配置文件,调整打分权重。原创 2025-07-06 00:04:03 · 1001 阅读 · 0 评论 -
Kubernetes 简介与基础操作命令:从零到上手,干货满满!
假设你部署了一个 3 节点的 K8s 集群(1 Master,2 Worker),运行一个 Nginx 应用。可以用 ConfigMap 存储数据库地址和端口,用 Secret 存储数据库密码,然后通过环境变量注入到 WordPress 的 Pod 中。:假设你部署了一个简单的博客应用,包含前端(React)和后端(Node.js)。你可以用 Deployment 管理 Pod,用 Service 暴露后端 API,前端通过 Service 的稳定 IP 调用后端。:假设你要部署一个 Redis 集群。原创 2025-07-05 00:00:49 · 609 阅读 · 0 评论 -
线上作业一挂就懵逼?Flink 容错机制全景解析来了!
实现 TwoPhaseCommitSinkFunction,用临时表模拟事务写入。原创 2025-07-03 00:08:02 · 754 阅读 · 0 评论 -
运维必杀技:Wireshark实战排查网络故障
Tshark 是 Wireshark 提供的命令行版本,拥有几乎全部的解码能力,支持各种输出格式、强大的字段提取、实时分析,还能无头运行在脚本中,配合cron、systemd或CI流程都很方便。原创 2025-07-01 00:11:03 · 971 阅读 · 0 评论 -
用Flink打造实时数仓:生产环境中的“坑”与“解药”
使用Flink的StreamingFileSink配置合理的滚动策略(如基于文件大小或时间),合并小文件。代码示例。原创 2025-06-30 00:02:25 · 910 阅读 · 0 评论 -
打造你的 Docker 私有仓库:从零到精通的硬核指南
想象一下,你的公司开发了一个超级酷炫的微服务应用,几十个服务模块,每个模块都有自己的 Docker 镜像。好了,废话不多说,咱们直接开干!每台服务器都装好 Docker,证书和认证文件(registry.crt、registry.key、htpasswd)已经准备好,MinIO 也运行正常,bucket 名为 registry。访问 http://192.168.1.100:9001(替换成你的服务器 IP),用 admin/supersecret 登录,创建个 bucket,比如叫 registry。原创 2025-06-29 00:02:03 · 941 阅读 · 0 评论 -
Docker 从入门到精通:运维工程师的容器化生存指南
默认桥接网络的缺点是容器间只能用 IP 通信,不够友好。我们来创建一个自定义网络,解决这个问题。docker rm -f backend frontend # 先删除旧容器')"成功!自定义网络支持容器名解析,通信更直观。这在多容器应用中超级实用。原创 2025-06-28 00:09:42 · 663 阅读 · 0 评论 -
DataX 实现 Doris 和 MySQL 双向同步完全指南
作为一名在大数据运维领域摸爬滚打多年的老兵,我深知数据同步在企业级应用中的重要性。今天咱们就来聊聊如何用 DataX 这个阿里开源的数据同步工具,实现 Doris 和 MySQL 之间的双向数据同步。说实话,刚开始接触 DataX 的时候,我也是一头雾水。但经过这几年的实战,发现这玩意儿确实好用,特别是在处理异构数据源同步的时候,简直就是神器。原创 2025-06-23 00:03:46 · 1948 阅读 · 0 评论 -
线上Doris挂了咋办?这套自动重启+备份+切主脚本能让你睡个安稳觉!
别以为监控就是装个Prometheus、挂个Grafana。稳定性保障体系包括:自动检测 FE (Leader + Follower) 是否挂掉自动判断是否需要执行 metadata recovery自动判断 BE 是否存活并重启每天定时备份doris-meta元数据,备份不丢才是真的可恢复日志留痕,方便排查问题链Follower 脚本必须比 Master 脚本更“保守”。若集群多个 Follower 节点同时掉线,不要一股脑都启动,先确认 Leader 的状态。原创 2025-06-17 07:23:14 · 1311 阅读 · 0 评论 -
如何设计和实施有效的报警机制,及时通知运维人员关于 Python 服务的异常
报警机制,说白了,就是一套用来发现系统异常并及时通知相关人员的流程和工具。它的核心目标是:别让问题在你不知道的时候恶化。具体来说,报警通常由三部分组成:监控、触发条件和通知。监控是基础,负责收集系统运行的数据,比如 CPU 使用率、内存占用、请求延迟等;触发条件是规则,定义了什么样的数据表现算作“异常”,比如 CPU 持续超过 90% 或者接口响应时间超过 2 秒;通知则是最后一步,通过邮件、短信、即时消息等方式,把异常信息传递给运维人员或者开发团队。原创 2025-05-14 00:01:27 · 654 阅读 · 0 评论
分享