sre-interview-prep-guide/README.md

108 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Site Reliability Engineer (SRE) Interview Preparation Guide
This repository is an attempt to consolidate useful resources for Site Reliability Engineer (SRE) interview preparation.
## Basics
* [What happens when you type google.com into your browser's address box and press enter?](https://github.com/alex/what-happens-when)
* [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)
* [Which Linux File System Should You Use?](https://www.howtogeek.com/howto/33552/htg-explains-which-linux-file-system-should-you-choose)
* [Understanding Linux filesystems: ext4 and beyond](https://opensource.com/article/18/4/ext4-filesystem)
* [What is the difference between Linux filesystems ext2, ext3, ext4, and ext5?](https://www.quora.com/What-is-the-difference-between-Linux-filesystems-ext2-ext3-ext4-and-ext5)
### 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
* [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)
## 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)
## Courses
* [Site Reliability Engineering: Measuring and Managing Reliability](https://www.coursera.org/learn/site-reliability-engineering-slos)