Skip to content

Menu

  • About me
  • Chlebik Reviews

Archives

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024

Calendar

August 2024
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  
« Jul   Sep »

Categories

  • AWS
  • Back To Basics
  • Blog
  • Book Review
  • Certification
  • Erlang
  • GC Theory
  • Go
  • Java
  • Kubernetes
  • Monthly summary
  • Valuable links
  • Weekly summary

Copyright Michał 'Chlebik' Piotrowski 2025 | Theme by ThemeinProgress | Proudly powered by WordPress

Michał 'Chlebik' Piotrowskiprogrammer, blogger, wizard apprentice
  • About me
  • Chlebik Reviews
Written by Michał Piotrowski2024-08-16

“System Design Interview” book review

Book Review Article

I have to start my review with a confession. I never actually had a system design interview. Never interviewed for FAANGs, and I don’t intend to. That’s why reading “System Design Interview”  by Alex Xu  books, was such a nice experience. Why? Keep on reading.

Table of Contents

Toggle
  • Bro, do you even interview?
  • Bottom-up or the other way around?
  • So what are we designing?
  • Should I design?

Bro, do you even interview?

Besides the fact, that I never had a system design interview, I don’t have that much experience in having the regular ones too. In the last ten years, I had in total four of them, and every one finished with a job offer. I don’t mention it to brag, but to put my view in the context. Obviously, my experience with interviewing is small, and I cannot possibly say what (if anything) I am lacking in that area. Therefore, I have never searched for books or other materials that could help me with interviewing. That is the reason why I don’t want to explore the actual “interview” part of those books. The first book’s entry chapters are covering that area, and also every chapter (dedicated to specific design problem), opens with setting up the interview scene. However, it seems that it is just to literally set a scene, and that’s it.

Bottom-up or the other way around?

It is hard to say how those books are usually being read. Or in the other words – what is the knowledge level of the usual readers. I think that my experience here was different, than the other readers have. If you remember, I have started my #SeniorDevRevamp project, with a re-read of “Designing Data-Intensive Applications“, and later, with reading “Mastering API Architecture”. Both of these books (especially Kleppmann’s book), dive deep into the inner workings of things. It is hard after the lecture, not to think in rather low-level concepts. Reading “System Design Interview” series after those two books, was like getting some serious practice, after taking a university-grade course in CS.

I found it refreshing, to see how all those lower level concepts of DB serialization isolation level, partitioning or eventual consistency, are put together to create a model of the working system. Every time I saw one of those concepts mentioned in the book, with the usual comment like this – “we don’t have the time to go deeper here, but here’s the link where you can read more” – I got a huge dose of satisfaction. The satisfaction based on the fact that I already had read something about the matter discussed, and can follow-up without problem.

So what are we designing?

Both parts of the book consist of separate chapters, discussing a specific type of system design. We find everything in there – streaming, geolocation, storage and more – usually with Google/Facebook/AWS level of usage and traffic. Obviously, all kinds of modern IT landscape solutions are used. And I don’t mean the aforementioned sharding or caching. I mean specific libraries/platforms/services, often enumerated by name. Therefore, we get not only the conceptual overview of the architecture, but also the actual tools that we can use. In my opinion, with almost thirty chapters covering a vast area of projects, every reader will find something of interest for sure.

What is even more important (and I have mentioned it above) – the links! Every concept that deserves more in-depth description, usually has some additional reference attached. Links to the actual scientific papers, whitepapers, corporate blog posts and all kinds of other valuable docs. Summary of every chapter points to a new world, just waiting to be discovered. That is what I recommend after the lecture. Dedicate some time to follow-up, and read at least one of the proposed materials. The sole fact that there is such a list present, at the end of every chapter, makes those books even more valuable. Reference material to be used when necessary.

Should I design?

Yes! Yes, you definitely should. As every chapter has a specific topic, and chapters aren’t linked in any way with each other, feel free to read whatever you are interested in. Believe me, it won’t be a time wasted.

 

Tags: api, architecture, cache, db, design, kafka, latency, loadbalancer, scaling, sharding, system, throughput

Leave a Reply Cancel reply

You must be logged in to post a comment.

Archives

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024

Calendar

August 2024
M T W T F S S
 1234
567891011
12131415161718
19202122232425
262728293031  
« Jul   Sep »

Categories

  • AWS
  • Back To Basics
  • Blog
  • Book Review
  • Certification
  • Erlang
  • GC Theory
  • Go
  • Java
  • Kubernetes
  • Monthly summary
  • Valuable links
  • Weekly summary

All the images (unless stated otherwise) come from Freepik.com

TwitterGithubLinkedinMail

Recent Posts

  • Valuable links #52 – PostgreSQL internals free book
  • Valuable links #51 – Is this post-developer era?
  • Valuable links #50 – Confessions of an Impostor
  • Valuable links #49 – The career craftsman manifesto
  • Garbage collection theory – Generational algorithms

Recent Comments

  1. Monthly summary #1 - June 2024 - Michał 'Chlebik' Piotrowski on About me
  2. Back to basics #3 - IP - Michał 'Chlebik' Piotrowski on Back to basics #2 – TCP/IP 101
  3. Weekly summary #6 - Michał 'Chlebik' Piotrowski on “Mastering API architecture” book review
  4. Weekly summary #5 - Michał 'Chlebik' Piotrowski on Back to basics #1 – Big O notation
  5. Weekly summary #5 - Michał 'Chlebik' Piotrowski on “Designing Data Intensive Applications” by Martin Kleppmann

Archives

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024

Categories

  • AWS
  • Back To Basics
  • Blog
  • Book Review
  • Certification
  • Erlang
  • GC Theory
  • Go
  • Java
  • Kubernetes
  • Monthly summary
  • Valuable links
  • Weekly summary

Copyright Michał 'Chlebik' Piotrowski 2025 | Theme by ThemeinProgress | Proudly powered by WordPress