14 KiB
14 KiB
Site Reliability Engineer (SRE) Interview Preparation Guide
This repository is an attempt to consolidate useful resources for Site Reliability Engineer (SRE) interview preparation.
Basics
- Simple: What happens when you type in ‘www.cnn.com’ in your browser?
- Detailed: What happens when you type google.com into your browser's address box and press enter?
Linux
Boot Process
- An introduction to the Linux boot and startup processes
- What happens when we turn on computer?
- What happens when we turn on computer?
- From Power up to login prompt
Filesystem
- Understanding Inodes
- Understand UNIX / Linux Inodes Basics with Examples
- Understanding proc filesystem
- Common Mount Options
- Understanding Linux filesystems: ext4 and beyond
Kernel
- Explain the basics of Linux kernel
- Kernel Space and User Space
- Linux Kernel Process Management
- Linux Addressing
- Linux Kernel Memory Management
- STACK AND HEAP
- Paging and Segmentation
- Linux Kernel System Calls
- The Virtual Filesystem
- Concurrency and Race Conditions
- Memory Leak
- What is a kernel Panic?
Troubleshooting
Networking
- Network protocols for anyone who knows a programming language
- Introduction to Linux interfaces for virtual networking
- Multi-tier load-balancing with Linux
- Introduction to modern network load balancing and proxying
- Load Balancing Algorithms
Containers
- Introduction to Docker and Containers
- Containers Patterns
- Docker Container Anti Patterns
- Anti-Patterns When Building Container Images
Kubernetes
- Deploying and Scaling Microservices with Docker and Kubernetes
- Demystifying the Kubernetes Iceberg
- What happens when ... Kubernetes edition!
- Kubernetes Production Patterns
- Kubernetes production best practices
- A Guide to the Kubernetes Networking Model
- 47 Things To Become a Kubernetes Expert
- Kubernetes Best Practices 101
Infrastructure as code / Configuration management
Databases
- Things You Should Know About Databases
- 7 Database Paradigms
- CAP theorem
- Evolutionary Database Design
- ACID vs BASE in Databases
- Understanding Database Sharding
- Data Replication in DBMS
- SQL vs. NoSQL Database: When to Use, How to Choose
CI/CD
- 7 Pipeline Design Patterns for Continuous Delivery
- CI/CD patterns
- Six Strategies for Application Deployment
Clouds
Programming
Python
Go (Golang)
- A tour of Go
- Go by Example
- Learn Go with Tests
- Getting up and running with Go
- Effective Go
- Go Design Patterns
- Go Memory Management
Big O Notation, Algorithms and Data Structures
- AlgoExperts
- Hacking a Google Interview – Handout 1
- Hacking a Google Interview – Handout 2
- Hacking a Google Interview – Handout 3
System design
- SystemsExpert course from AlgoExpert
- Grokking the System Design Interview
- The System Design Primer
- Crack the System Design Interview
- System design interview for IT companies
- Web Architecture 101
- What's in a Production Web Application?
- Distributed systems
System design examples
Monitoring
- SLOs & You: A Guide To Service Level Objectives
- Setting up Service Monitoring — The Why’s and What’s
- How NOT to Measure Latency
Processes
- The practical guide to incident management
- Incident Response
- Postmortems
- Runbooks
- Identifying and tracking toil using SRE principles
- Building SRE from Scratch
- SRE at Google: Our complete list of CRE life lessons
- Incident Management vs. Incident Response - What's the Difference?
- Practical Guide to SRE: Using SLOs to Increase Reliability
- Practical Guide to SRE: Automating On-Call
Resume
Interview
SRE interview process
Interview Questions
- A collection of questions to practice with for SRE interviews
- SRE Interview Questions
- Sysadmin Test Questions
- Kubernetes job interview questions
- DevOps Guide
- Questions I ask in SRE interviews
- DevOps Roadmap: Learn to become a DevOps Engineer or SRE
- DevOps Interview Questions
Blogposts
- SRE Interviews in Silicon Valley
- Preparing the SRE interview
- How to Get Into SRE
- My Job Interview at Google
- Path to Site Reliability Management
- Becoming a Site Reliability Engineer
- How I get a job at Google as SRE
Books
SRE books
- Site Reliability Engineering
- The Site Reliability Workbook
- Seeking SRE
- Building Secure and Reliable Systems
- Implementing Service Level Objectives
Linux
- Linux Kernel Development (3rd Edition)
- UNIX and Linux System Administration Handbook (5th Edition)
- Linux Pocket Guide, 3rd Edition