Machine learning system design interviews are the most difficult to tackle of all technical interview questions. This book provides a reliable strategy and knowledge base for approaching a broad range of ML system design questions. It provides a step-by-step framework for tackling an ML system design question. It includes many real-world examples to illustrate the systematic approach, with detailed steps you can follow.
This book is an essential resource for anyone interested in ML system design, whether they are beginners or experienced engineers. Meanwhile, if you need to prepare for an ML interview, this book is specifically written for you.
What’s inside? - An insider’s take on what interviewers really look for and why. - A 7-step framework for solving any ML system design interview question. - 10 real ML system design interview questions with detailed solutions. - 211 diagrams that visually explain how various systems work.
Table Of Contents Chapter 1 Introduction and Overview Chapter 2 Visual Search System Chapter 3 Google Street View Blurring System Chapter 4 YouTube Video Search Chapter 5 Harmful Content Detection Chapter 6 Video Recommendation System Chapter 7 Event Recommendation System Chapter 8 Ad Click Prediction on Social Platforms Chapter 9 Similar Listings on Vacation Rental Platforms Chapter 10 Personalized News Feed Chapter 11 People You May Know
1. In contrary to the previous 2 installments, I don't consider myself an expert in ML, so the challenge level was higher this time 2. The scenarios are REALLY interesting - initially, I had an impression that some of them may be too similar, but I did enjoy each one (there are 10 AFAIR). 3. Very clear structure, solid & clear reasoning (in 2-3 chapters, the reasoning felt too rushed, so I wasn't sure why some other options were not even considered or prioritized lower), great references - NOT limited to the ML part of the problem 4. To be clear - this is NOT an intro book. It will not teach you all the basic methods, tools, and math foundations - so all the chapters go pretty much straight to the point & I really enjoyed that. 5. In previous books, my favorite part was the clarification & scope-tuning question sets. TBH, in this one, that section didn't feel that good - I've caught myself skimming over those questions as they were not really revealing. 6. I like all the tiny practicalities (that none of the theory books covers) - e.g., when the author is about to face the choice of LTR algo, so quickly goes through 3 types while "thinking aloud" to clarify which will work and why others won't. Very useful. 7. I made a lot of notes and ended up with tons of follow-up material. That means even more fun ;D
What did I miss in this book? 1. MORE cases :) 2. As I've mentioned - in few cases the clarification felt rushed 3. Obviously the biggest issue is the lack of exposure on the iterativeness of the process :) How will I know I'm getting into the good direction, how should I react when quality metrics do not improve, etc. Of course it's hard to capture in such scenarios, the book is about drafting the high-level design, paper has its capacity limitations, etc. At least each chapter covers the offline and online metrics - which is already a good thing.
In the end, I rate it 5. The book is not perfect, but I haven't seen any better (in this narrow, specific niche). Recommended.
The book does give a good understanding of the structure of a typical machine learning system design interview. It also gives a nice selection of different use cases to think about.
However, while the book succeeds in outlining the interview framework, the depth and practicality of the proposed solutions leave much to be desired. For instance, the clarifying sections often cite large-scale scenarios (e.g., �1 billion videos for YouTube video search�), but the subsequent design sections fail to meaningfully address these challenges. For example, only suggesting the use of approximate nearest neighbors (ANN) for retrieval feels overly simplistic without further elaboration and cover of data ingestion.
The design choices also tend to lack justification or exploration of alternatives. A good example is the proposed shallow neural network for session-based recommendation, which is mentioned briefly and without sufficient reasoning, without comparing it to architecture like transformers or RNNs. Furthermore, the book’s heavy focus on different sorts of recommendation systems makes the examples repetitive and limits coverage of other machine learning topics and use cases.
In summary, I would recommend this book to anyone seeking to grasp the general structure of machine learning system design and the design thinking process. However, the proposed solutions and designs may be too abstract for people already familiar with the Data Science field.
The breadth covered in the book is pretty vast. I would have liked to have seen different recommendations based on the position level, and also also greater detail on which items are "need to know" (unless they really think everything in there is "need to know").
This book provides a comprehensive view of the questions asked in the machine learning system design interview. The book is basically designed for someone who knows the basics of ML and deep learning techniques but have never seen/faced the E2E system design for ML in production setting. It talks about structured approach to deal with the system design problem. Starting with clarifying the requirements, modelling problem as an ML problem, data engineering and feature preparation, model training and evaluation, and lastly how to serve the model in production. The book covers 10 commonly asked problems asked in ML interview settings. I myself have seen this being asked in indeed and S&P Global interview. A must read for someone preparing for ML interview.
This book is very good. It gives a mental framework on how to approach ML system questions. The framework will be applicable to any question in this space for years. There book is remarkable in that it remains contemporary without an overemphasis on any specific technological detail. My main issue is the occasional lack of details that would actually be needed at the interview. For example, you can't just write a loss function without explaining it. No interviewer will be happy with a bunch of math without an explanation.
As a book to learn how to actually architect systems, it is not very good. The examples are too superficial, there is a lot of repetition. Some things are not well explained and for domains I am not familiar with like ad, the case study is not enough to get a sense of how it would actually work.
I guess it is ok to prepare interviews though, which is what this book is for.
I love the system design book from Alex before, but this book is more on repetitive contents (mostly focus on recommendation related systems, but cover some chapter on other realm). The design is very similar (not on model part) but on ML system overall architecture for each chapter.
Good overview of a lot of subjects relevant to ML system design, but you definitely need to go more in depth outside of what's presented in the book in order to get a stronger grasp of everything presented.
A very helpful book for gaining breadth of knowledge of ML techniques used in industry and preparing for ML System Design Interview. It's not perfect, but it's the best I've seen.