Skip to content

Software

Data Structures and Algorithms

  • Hand written notes
  • CodeNCode youtube
    • Graph Theory 1
    • Graph Theory 2
    • Disjoint Data Set
    • Segment Tree
    • Mo’s Algo & SQRT
    • Bit Manipulation
    • Queries on trees
  • Aditya Verma youtube
    • Heap Playlist
    • Stack
    • Binary Search
    • Sliding window
    • Recursion
    • Backtracking
    • Dynamic programming
  • Erricto Algorithms youtube (Algo lectures playlist)
  • cp-algorithms
    • Algebra
    • Data structures
    • Dynamic programming
    • String processing
    • Linear algebra
    • Combinatorics
    • Numerical methods
    • Geometry
    • Graphs
    • Miscellaneous
  • Leetcode hard problems

Object Oriented Design

Concurrency

Cache

System Design

  • Books by ByteByteGo
    • System Design Interview - An insider’s guide
    • System Design Interview - An Insider’s Guide: Volume 2
    • Machine Learning Design Interview
  • (book) Hacking the system design interview: Real Big Tech Interview Questions and In-depth solutions
  • Design guru system design interview roadmap
    • Grokking System Design Fundamentals
    • Grokking the System Design Interview
    • Grokking the Advanced System Design Interview
    • Grokking Microservices Design Patterns
    • Grokking Design Patterns for Engineers and Managers
  • Kiki’s Bytes youtube
  • (book) Load Balancing Servers, Firewalls, and Caches
  • System Design for Interview and Beyond course youtube playlist
  • System Design Interview youtube channel
  • karanpratapsingh/system-design github
  • ByteByteGo youtube channel
  • donnemartin/system-design-primer github
  • Quastor blog

Distributed Computing

  • Gaurev Sen Research paper breakdowns playlist
    • 20 Whitepapers that changed the world [For Senior Software Engineers] (also look for data platforms like Spark)
  • Distributed systems course by Chris Colohan website, playlist
  • Distributed Systems lecture series by Martin Kleppmann link
  • CSE 138 Distributed Systems lectures Spring 2021 by Lindsey Kuper link
  • MIT 6.5840 Distributed Systems Spring 2021 link
  • MIT 6.858 Computer system security link
  • Books
    • Distributed systems by Andrew Tanenbaum
    • Designing data intensive applications
    • Database internals: A Deep Dive into how distributed data systems work
    • Google SRE books
      • Site Reliability Engineering How Google Runs production systems
      • Building secure and reliable systems
      • The Site Reliability Workbook
    • System Performance: Enterprise and the Cloud 2nd edition
    • Understanding Software Dynamics by Richard L. Sites
    • BFP
      • BFP Performance Tools Linux System and Application Observability by Brendan Gregg
      • Learning eBFP: Programming the Linux Kernel for Enhanced Observability, Networking, and Security
      • Linux Observability with BPF: Advanced Programming for Performance Analysis and Networking
    • Capacity Planning
      • The Art of Capacity Planning: Scaling Web Resources in the Cloud
      • A-Z of Capacity Management: Practical Guide for Implementing Enterprise IT Monitoring & Capacity Planning
  • fly.io
  • Conferences
    • Operating SYstems Design and Implementation (OSDI)
    • Symposium on Operating Systems Principles (SOSP)
    • Tigerbeetle Systems Distributed link

Database and SQL

Random topics

  • Cryptography
  • Theory of computation
  • Security
  • Information theory
  • Computer architecture
  • Operating systems
  • Quantum computing
  • Linear algebra
  • Differential calculus
  • integral calculus
  • differential equations
  • matrices