awesome-senior-engineer-resources
awesome-senior-engineer-resources copied to clipboard
A curated list of things every senior engineer should know how to talk about in an interview.
Big Chonkin' Interview Prep Kit
An ever growing list of the articles, videos, and sites I have used (or intend to use in the future) while preparing for interviews. Take a break from grinding out leet code questions and brush up on some concepts!
Distributed Systems Concepts
- Distributed Systems Cheat Sheet
- CAP Theorem Introduction
- (Video!) Deeper Into CAP Theorem
- Consistency Models and Replication
- Idempotency Example From AirBnB
Talking About Your Tech Stack
- See Popular Tech Stacks By Company
- Dictionary of Data Models and DBMS Terms
- A Helpful List of Popular Database Technologies With Model Type and Popularity Score
- Database ACID Compliance
- Deep Dive Into Apache Kafka
- More on Kafka Replication
- Postgres Two Phase Commit Protocol
- How Redis Handles Consistency, Availability and Partition Tolerance
- Comparing Message Queue Services
- Exploring Different Types of Azure Storage
- Understanding Containers and Virtual Machines
- Comparing Nomad and Kubernetes
- Comparing Monitoring Tools
- Popular Interview Questions About the Java Swing Framework
System Design
- A Comprehensive Systems Design Primer
- (Video!) A General Approach to System Design Questions
- Breaking Down a System Design Question Into 7 Steps
- (Video!) Designing Twitter
- (Video!) Designing WhatsApp
- Design Instagram
- Design a URL Shortener
- Design an Auto-Complete Feature
- Design a LRU Cache
- Design a Rate-Limiting Algorithm
Languages and Programming Styles
- S is for Single Responsibility
- O is for Open Closed Principle
- L is for Liskov Substitution Principle
- I is for Interface Segregation
- D if for Dependency Inversion
- Popular Object Oriented Programming Questions
- A Brief Description of Java Modifiers
- Functional Programming Cheat Sheet
- Functional Programming Question & Answer Set in OCaml
- Sound Smart Talking About Monads
The Freakin' Whiteboard AKA Algorithms & Data Structures
- A General Approach to Whiteboard Problems
- Breaking Synamic Programming Problems Down in 7 Steps
- Dynamic Programming Principles
- Dynamic Programming Practice Problems
- The Greedy Algorithm Technique
- Review of Recursion and the Call Stack
- Data Structures Cheat Sheet