Coding Interview
Guides
- Big O cheat sheet
- Big O Notation
- An Algorithm for Passing Programming Interviews - malisper.me
- 10 Key Data Structures We Use Every Day - YouTube
- Top 7 ChatGPT Developer Hacks - YouTube
Case Studies
- Scaling Kubernetes to 7,500 nodes
- How Discord Stores TRILLIONS of Messages - YouTube
- Uncovering Stack Overflow’s Shocking Architecture - YouTube
- Amazon Prime Video Ditches AWS Serverless, Saves 90% - YouTube
- API redesign: shopping cart and Stripe payment - by Alex Xu
- EP61: The journey of a Slack message - by Alex Xu
- Behind the scenes: McDonald’s event-driven architecture | by Global Technology | McDonald’s Technical Blog | Medium
- What is Buy Now, Pay Later (BNPL), and how does it work?
- EP33: Twitter Architecture 2022 vs 2012 - by Alex Xu
- EP19: live streaming, visa payment, Redis and more
- How to avoid crawling duplicate URLs at Google scale
- How does foreign exchange work from the system’s perspective?
- Black Friday flash sale - by Alex Xu
- Husky: Exactly-Once Ingestion and Multi-Tenancy at Scale | Datadog
- How Cloudflare runs Prometheus at scale
- Reverse-Engineering YouTube: Revisited • Oleksii Holub
System design concepts
General
- Distributed Systems (www.distributedsystemscourse.com) - YouTube ⏫
- Distributed Systems lecture series - YouTube - Martin Kleppmann ⏫
- Common Failure Causes - ByteByteGo Newsletter
- Capacity Planning - by ByteByteGo and Diego Ballona
- Top 10 Architecture Characteristics / Non-Functional Requirements with Cheatsheet
- How to Crack Any System Design Interview - YouTube
- EP62: Why Does Google Use Monorepo? - by Alex Xu
- EP14: Algorithms you should know for System Design. Also… ⏫
- How to interview engineers - by Slava Akhmechet
Networking
- Everything You Need to Know About DNS: Crash Course System Design #4 - YouTube
- Everything You Always Wanted to Know About TCP But Too Afraid to Ask ⏫
- The Foundation of REST API: HTTP - ByteByteGo Newsletter ⏫
- EP13: TCP or UDP for Zoom? Also… - by Alex Xu
- Network Protocols behind Server Push, Online Gaming, and Emails ⏫
- Top 7 Most-Used Distributed System Patterns - YouTube ⏫
- EP9: Retry patterns - by Alex Xu - ByteByteGo Newsletter ⏫
- Mastering the Art of API Design - by Alex Xu
- How to choose between RPC and RESTful?
- Rate Limiting Fundamentals - by Alex Xu
- Rate Limiter For The Real World - by Alex Xu
- EP47: Common Load-balancing Algorithms - by Alex Xu
- EP72: OAuth 2.0 Explained With Simple Terms ⏫
Stateful
- Cache Systems Every Developer Should Know - YouTube ⏫
- Cache miss attack - by Alex Xu - ByteByteGo Newsletter ⏫
- Redis vs Memcached - by Alex Xu - ByteByteGo Newsletter ⏫
- Cache warming: Agility for a stateful service | by Netflix Technology Blog | Netflix TechBlog
- EP30: Why is PostgreSQL the most loved database
- Database Indexing Strategies - ByteByteGo Newsletter
- Understanding Database Types - by Alex Xu
- Database Selection Process
- Data Replication: A Key Component for Building Large-Scale Distributed Systems
- Database Indexing Strategies - ByteByteGo Newsletter
- Why is Kafka so fast? How does it work?
- Pay attention to Zero copy
- How to Choose a Message Queue? - ByteByteGo Newsletter
- EP 43: 8 Data Structures That Power Your Databases
- Why is a solid-state drive (SSD) fast - by Alex Xu
- Understanding database Indexes in PostgreSQL
- Things DBs Don’t Do - But Should | Nile - The database for modern SaaS
Security
- EP75: How Does A Password Manager Work
- Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 1
- Password, Session, Cookie, Token, JWT, SSO, OAuth - Authentication Explained - Part 2
Low Level Design
- Grokking the Low Level Design Interview Using OOD Principles - Learn Interactively ⏫
- How to diagnose a mysterious process that’s taking too much CPU, memory, IO, etc ⏫
- Tricks of the Trade: Tuning JVM Memory for Large-scale Services | Uber Blog ⏫
- Java Multithreading for Senior Engineering Interviews - Learn Interactively ⏫
- 11 Principles for building and scaling feature flag systems | Unleash
- 8 Key OOP Concepts Every Developer Should Know
- Java For The Experienced Beginner | Kevin Sookocheff
- Guide to the Most Important JVM Parameters | Baeldung
- The 5 rules for tuning and improving JVM Garbage Collector performance | by Diego A. Rojas | Javarevisited | Medium
- How Java Memory Works?. Before we move on to the performence… | by Berkay Haberal | Jul, 2023 | Stackademic