This repo contains resources for SRE interview preparation. It is divided into two sections:
- Cramming materials
- Fundamental materials
The cramming
directory contains resources that are useful for cramming for SRE/Devops interviews. These resources work well for 75% of the SRE/Devops interviews that you may face. For the other 25% (more selective companies), they require a deeper understanding that requires structured learning of fundamentals.
For example, lets say you are asked to describe the Linux booting process. Several of the resources in cramming
will give a cursory overview of the steps involved, but if the interviewer starts digging deeper into a particular step, you will be lost without fundamental knowledge of computer architecture and assembly. Similar examples can be provided for other questions regarding application performance, memory management, CPU scheduling, etc. The fundamentals
directory contains resources that are much more structured (i.e., full courses and textbooks) that provide a solid background to the material in cramming
.
algoexpert
- Contains problems solved in algoexpert stored in Jupyter Notebooks
google-sre
- Contains notes from Google's Site Reliability Engineering books
lfs
- Contains notes and scripts from Linux from Scratch
linux-sys-admin
- Contains notes from Linux System Adminstration Handbook
past
- Contains past interview questions related to parsing and other sys admin tasks
random
fb-resource-*.md
contains notes from two study resources that Facebook provided for Production Engineer systems interviewgoogle-foobar.ipynb
contains questions from the Google Foobar hiring challengetroubleshooting.md
contains notes from Brendan Gregg's USE and TSA methods for troubleshootingwhat-happens-google.md
contains notes on the classic "What happens when you type google.com into your browser"
tech-blogs
- Contains notes on tech blogs of various companies