Websites

Books

I’m not going to share links for these, but you can find them quite quickly. I haven’t fully read ALL of these, but they’re useful as references to me. I would not be able to answer quizzes on them.

  • DDIA: Designing Data-Intensive Applications - Covers some system design fundamentals, as well as internal issues around consistency, reliability, consensus and more.
  • Java Performance: The Definitive Guide - Teaches you how to optimise programs that have a garbage collector
  • Effective Java - Teaches you some boring principles
  • Pragmatic Programmer - I read this maybe 6 years ago. It’s alright if you’ve only done assignments
  • CLRS - Fundamental book, really

I’ve read a lot more than this, but these are the ones I actually remember.