BrendanJamesLynskey/Interview_Observability_SRE

GitHub: BrendanJamesLynskey/Interview_Observability_SRE

一份面向资深 SRE 与可观测性岗位的面试准备材料,覆盖三大支柱、SLO 与混沌工程等核心主题。

Stars: 0 | Forks: 0

# 可观测性与 SRE — 面试准备 [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Subject: Observability & SRE](https://img.shields.io/badge/Subject-Observability%20%26%20SRE-blue)](https://en.wikipedia.org/wiki/Site_reliability_engineering) ## 概述 本仓库提供针对需要掌握可观测性、服务可靠性和事件响应的资深软件工程和 SRE 岗位的面试准备材料。内容涵盖可观测性的三大支柱(指标、日志、追踪)、服务级别目标与错误预算、值班与事件管理,以及混沌工程和容量规划等高级主题。 材料面向在规模较大环境中运行生产服务的公司中面试资深 SWE、平台与 SRE 岗位的工程师。代码示例包括 PromQL 查询、Python 和 Go 中的 OpenTelemetry 仪器化,以及运行手册模板。 ## 目录 - [01 可观测性支柱](#01-observability-pillars) - [02 SLO 与可靠性](#02-slos-and-reliability) - [03 事件响应](#03-incident-response) - [04 高级 SRE](#04-advanced-sre) - [05 测验](#05-quizzes) - [如何使用](#how-to-use) - [相关仓库](#related-repositories) - [贡献指南](#contributing) - [许可证](#license) ### 01 可观测性支柱 可观测性的三大支柱:每种信号的作用,以及如何在不淹没数据的情况下收集它们。 - [`metrics.md`](01_observability_pillars/metrics.md) — Prometheus、PromQL、RED/USE 方法、直方图、计数器、基数 - [`logging.md`](01_observability_pillars/logging.md) — 结构化日志、日志聚合(ELK、Loki)、日志级别、PII 处理、采样 - [`distributed_tracing.md`](01_observability_pillars/distributed_tracing.md) — OpenTelemetry、Jaeger、Zipkin、W3C 追踪上下文、跨度设计、采样策略 ### 02 SLO 与可靠性 以可衡量方式定义可靠性,并构建满足目标的系统。 - [`slo_sli_sla.md`](02_slos_and_reliability/slo_sli_sla.md) — SLI、SLO、SLA、错误预算、燃烧速率告警、预算策略 - [`reliability_engineering.md`](02_slos_and_reliability/reliability_engineering.md) — 减少 toil、自动化、容量规划、负载测试、风险分析 ### 03 事件响应 检测、响应并从生产事件中学习。 - [`on_call_and_paging.md`](03_incident_response/on_call_and_paging.md) — 值班轮换、告警通知策略、告警疲劳、运行手册、升级 - [`incident_management.md`](03_incident_response/incident_management.md) — 事件指挥、严重级别、沟通、利益相关者更新、战情室 - [`postmortems.md`](03_incident_response/postmortems.md) — 无责备事件回顾、根本原因分析、5 个为什么、行动项、文化采纳 ### 04 高级 SRE 超越对事件的被动响应,实现主动的可靠性技术。 - [`chaos_engineering.md`](04_advanced_sre/chaos_engineering.md) — 原则、演练日、故障注入、Chaos Monkey、Gremlin - [`capacity_and_performance.md`](04_advanced_sre/capacity_and_performance.md) — 容量规划、负载测试、性能基准测试、队列论基础 ### 05 测验 涵盖各主要主题的自我评估测验。 - [`quiz_observability_and_slos.md`](05_quizzes/quiz_observability_and_slos.md) — 可观测性支柱、SLO、可靠性工程 - [`quiz_incidents_and_advanced.md`](05_quizzes/quiz_incidents_and_advanced.md) — 事件响应、混沌工程、容量规划 ## 使用方法 本仓库结构作为一个渐进式的可观测性与 SRE 面试课程: 1. **从支柱开始。** 指标、日志和追踪是面试官重点考察的信号。了解何时使用每种信号、其成本以及如何控制基数。 2. **学习 SLO。** 错误预算是现代可靠性工程的语言。SRE 密集型公司(Google、Meta、Netflix、Stripe)的面试官期望你能定义 SLI、分析错误预算燃烧速率,并利用预算做出发布决策。 3. **练习事件响应。** 值班轮换、运行手册、事件指挥和无责备事件回顾在行为面试和场景面试中都会涉及。准备好讲述你处理过的真实事件。 4. **学习高级主题。** 混沌工程和容量规划将资深候选人与其他候选人区分开来。了解混沌原则(爆炸半径、稳定状态、假设)和容量算术(Little 定律、利用率、缓冲空间)。 5. **使用测验** 识别薄弱环节,并返回相关章节复习。 ## 相关仓库 - **[Interview_Distributed_Systems](https://github.com/BrendanJamesLynskey/Interview_Distributed_Systems)** — 分布式系统基础、共识、复制 - **[Interview_DevOps](https://github.com/BrendanJamesLynskey/Interview_DevOps)** — CI/CD、基础设施即代码、发布工程 - **[Interview_System_Design](https://github.com/BrendanJamesLynskey/Interview_System_Design)** — 系统设计面试准备 - **[Interview_Containers_Kubernetes](https://github.com/BrendanJamesLynskey/Interview_Containers_Kubernetes)** — Docker、Kubernetes、容器编排 ## 许可证 本项目采用 MIT 许可证 — 详细信息请参阅 [LICENSE](LICENSE) 文件。
标签:API集成, ELK, GET参数, Go, Jaeger, Loki, On-call, OpenTelemetry, PII处理, PromQL, Python, RED方法, Ruby工具, Site Reliability Engineering, SLO, SRE, USE方法, W3C Trace Context, Zipkin, 代码示例, 偏差过滤, 分布式追踪, 可观测性, 基数, 容量规划, 平台工程, 指标, 数据分析, 无后门, 日志, 日志审计, 日志级别, 服务级别目标, 混沌工程, 生产环境可靠性, 用户代理, 监控, 直方图, 结构化日志, 自定义请求头, 计数器, 运行手册, 逆向工具, 采样, 错误预算, 面试准备, 高级SRE