This section contains my notes on various technical books I am reading or have read. Like the rest of my notes section, these are largely WIP, since I’m migrating them from various other locations.
Additionally, I have also moved to a physical notes system for books, and I later digitize my notes, so these notes will not be up to date.
Cracking the Coding Interview
This book is touted as the best resource for preparing for tech interviews. One caveat is that all the examples are in Java. I’m maintaining notes and solutions to all the examples in Python here.
Designing Data-Intensive Applications
Martin Kleppmann’s book is the best resource on preparing to understand scale and how large tech organizations manage to meet their requirements. This book is mandatory reading once a year to keep up to speed on how to scale applications.
While all of us use databases, Alex Petrov is an expert in how they work. This book is an excellent resource in understanding what happens under the hood of databases.
Problem Solving with Data Structures and Algorithms using Python
This is the companion book to the MIT 6.006 - Introduction to Algorithms course. I read this book everytime I’m preparing for interviews, and the notes I’ve made help a lot.
High Performance Browser Networking
This book goes in depth about how the internet works. It lives up to its subtitle: “What every web developer should know”.
This book is an excellent resource on understanding how CPython works under the hood.
Practices of the Python Pro
This is a book on Python best practices.
A Common-Sense Guide to Data Structures and Algorithms
This is one of the best books on understanding algorithmic complexity if you’re not confident about it.
Secure by Design
This book dives into the best security practices in software applications.
This book delves deep into the art of learning efficiently.
Elements of Programming Interviews in Python
This book teaches how to ace programming interviews. This is the Python edition of the book.