2019-01-20 16:08:28 +03:00
# Site Reliability Engineer (SRE) Interview Preparation Guide
This repository is an attempt to consolidate useful resources for Site Reliability Engineer (SRE) interview preparation.
## Basics
2019-01-20 16:24:42 +03:00
* [What happens when you type google.com into your browser's address box and press enter? ](https://github.com/alex/what-happens-when )
2019-01-20 16:08:28 +03:00
* [What happens when you type in ‘ www.cnn.com’ in your browser? ](https://syedali.net/2013/08/18/what-happens-when-you-type-in-www-cnn-com-in-your-browser )
## Linux
### Boot Process
* [An introduction to the Linux boot and startup processes ](https://opensource.com/article/17/2/linux-boot-and-startup )
* [What happens when we turn on computer? ](https://www.cdn.geeksforgeeks.org/what-happens-when-we-turn-on-computer )
* [What happens when we turn on computer? ](https://leetcode.com/discuss/interview-question/125107/What-happens-when-we-turn-on-computer )
### Filesystems
* [Understanding Inodes ](https://syedali.net/2015/02/08/understanding-inodes )
* [Understand UNIX / Linux Inodes Basics with Examples ](https://www.thegeekstuff.com/2012/01/linux-inodes )
* [Understanding proc filesystem ](https://syedali.net/2013/08/20/understanding-proc-filesystem )
* [Common Mount Options ](https://syedali.net/2015/01/06/common-mount-options )
* [Understanding Linux filesystems: ext4 and beyond ](https://opensource.com/article/18/4/ext4-filesystem )
### Kernel
* [Linux Kernel Process Management ](http://learnlinuxconcepts.blogspot.com/2014/03/process-management.html )
* [Linux Kernel Memory Management ](http://learnlinuxconcepts.blogspot.com/2014/02/linux-memory-management.html )
* [Linux Kernel System Calls ](http://learnlinuxconcepts.blogspot.com/2014/02/system-calls.html )
### Troubleshooting
* [Linux troubleshooting tools ](https://syedali.net/2013/08/20/linux-troubleshooting-tools )
* [Linux Performance Analysis in 60,000 Milliseconds ](https://medium.com/netflix-techblog/linux-performance-analysis-in-60-000-milliseconds-accc10403c55 )
## Networking
2019-01-23 20:35:14 +03:00
* [Network protocols for anyone who knows a programming language ](https://www.destroyallsoftware.com/compendium/network-protocols?share_key=97d3ba4c24d21147 )
2019-01-20 16:08:28 +03:00
* [Introduction to modern network load balancing and proxying ](https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236 )
* [Load Balancing Algorithms ](https://syedali.net/2013/08/22/load-balancing-algorithms )
2019-01-21 04:37:31 +03:00
## Containers
* [Introduction to Docker and Containers ](http://container.training/intro-selfpaced.yml.html )
* [Deploying and Scaling Microservices with Docker and Kubernetes ](http://container.training/kube-selfpaced.yml.html )
2019-01-20 16:08:28 +03:00
## Programming
### Go (Golang)
* [A tour of Go ](https://tour.golang.org )
* [Go by Example ](https://gobyexample.com )
* [Getting up and running with Go ](http://www.golangprograms.com )
* [Effective Go ](https://golang.org/doc/effective_go.html )
* [Go Memory Management ](https://povilasv.me/go-memory-management )
### Big O Notation, Algorithms and Data Structures
* [AlgoExperts ](https://www.algoexpert.io )
* [Hacking a Google Interview – Handout 1 ](http://courses.csail.mit.edu/iap/interview/Hacking_a_Google_Interview_Handout_1.pdf )
* [Hacking a Google Interview – Handout 2 ](http://courses.csail.mit.edu/iap/interview/Hacking_a_Google_Interview_Handout_2.pdf )
* [Hacking a Google Interview – Handout 3 ](http://courses.csail.mit.edu/iap/interview/Hacking_a_Google_Interview_Handout_3.pdf )
## System design
* The most useful course: [Grokking the System Design Interview ](https://www.educative.io/collection/5668639101419520/5649050225344512 )
* [The System Design Primer ](https://github.com/donnemartin/system-design-primer )
* [Crack the System Design Interview ](https://www.puncsky.com/blog/2016/02/14/crack-the-system-design-interview )
* [System design interview for IT companies ](https://github.com/checkcheckzz/system-design-interview )
* [Web Architecture 101 ](https://engineering.videoblocks.com/web-architecture-101-a3224e126947 )
* [What's in a Production Web Application? ](https://stephenmann.io/post/whats-in-a-production-web-application )
## Monitoring
* [SLOs & You: A Guide To Service Level Objectives ](https://www.circonus.com/2018/07/a-guide-to-service-level-objectives )
## Interview
### SRE interview process
* [How to hire talent ](https://syedali.net/2014/04/01/how-to-hire-talent )
### Interview Questions
* [A collection of questions to practice with for SRE interviews ](https://github.com/michael-kehoe/sre-interview )
* [SRE Interview Questions ](https://syedali.net/engineer-interview-questions )
* [Sysadmin Test Questions ](https://github.com/trimstray/test-your-sysadmin-skills )
### Blogposts
* [SRE Interviews in Silicon Valley ](http://blog.marc-seeger.de/2015/05/01/sre-interviews-in-silicon-valley )
* [Preparing the SRE interview ](https://blog.balthazar-rouberol.com/preparing-the-sre-interview )
## Books
### SRE books
* [Site Reliability Engineering ](https://landing.google.com/sre/book/index.html )
* [The Site Reliability Workbook ](https://books.google.ru/books?id=fElmDwAAQBAJ )
* [Seeking SRE ](https://books.google.ru/books?id=tmhqDwAAQBAJ )
### Linux
* [Linux Kernel Development (3rd Edition) ](https://www.amazon.com/Linux-Kernel-Development-Robert-Love/dp/0672329468 )
* [UNIX and Linux System Administration Handbook (5th Edition) ](https://www.amazon.com/UNIX-Linux-System-Administration-Handbook/dp/0134277554 )
* [Linux Pocket Guide, 3rd Edition ](http://shop.oreilly.com/product/0636920040927.do )
2019-01-23 20:35:14 +03:00
### Networking
* [TCP/IP Illustrated, Volume 1 ](https://www.amazon.com/TCP-Illustrated-Protocols-Addison-Wesley-Professional/dp/0321336313 )
2019-01-20 16:08:28 +03:00
## Courses
2019-01-20 16:10:13 +03:00
* [Site Reliability Engineering: Measuring and Managing Reliability ](https://www.coursera.org/learn/site-reliability-engineering-slos )