Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying System Design Guide for Software Professionals
  • Table Of Contents Toc
  • Feedback & Rating feedback
System Design Guide for Software Professionals

System Design Guide for Software Professionals

By : Dhirendra Sinha, Tejas Chopra
close
close
System Design Guide for Software Professionals

System Design Guide for Software Professionals

By: Dhirendra Sinha, Tejas Chopra

Overview of this book

Building scalable software systems is more critical than ever. Yet, many software professionals struggle to navigate the complexities of system design, especially when aiming for positions at top tech companies. Written by Dhirendra Sinha, a seasoned Engineering Leader at Google with a blend of experience working at large companies such as Cisco, Oracle, and Yahoo, and Tejas Chopra, a Senior Software Engineer at Netflix, a TEDx speaker, and a Co-Founder of GoEB1, this comprehensive and authoritative resource on system design offers invaluable insights and strategies to help you excel in interviews with all major tech companies. This guide covers the basics of system design, including the principles and techniques of distributed systems, and delves into core building blocks such as distributed system theorems, attributes, and the design and implementation of system components. Following examples of popular applications such as Uber, Twitter, Instagram, Google Docs, and Netflix, you’ll learn how to apply concepts to real-world scenarios. The book offers expert advice and strategies for preparing and acing system design interviews, along with a mind map/cheat sheet summarizing the key takeaways. By the end of this book, you’ll be equipped with unique techniques and the confidence to solve any coding interview question.
Table of Contents (21 chapters)
close
close
Lock Free Chapter
1
Part 1: Foundations of System Design
5
Part 2: Core Components of Distributed Systems
10
Part 3: System Design in Practice

Exploring high-level design

Now that we have a clear understanding of the functional and non-functional requirements, as well as the scale calculations, let’s dive into the high-level design of the Twitter-like service. The goal is to create an architecture that is scalable, reliable, and efficient in handling the massive volume of tweets, users, and interactions. Figure 11.2 shows the high-level design of the Twitter-like system, which includes a load balancer, API gateway, microservices such as User Service and Tweet Service, database tables, the caching layer, Kafka, and an object store. We will discuss these components at a high level in this section and in the next section do a deep dive into some of them.

Figure 11.2: High-level system design of Twitter

Figure 11.2: High-level system design of Twitter

Figure 11.2 shows different modules and microservices that need to be developed to build a system like Twitter. These are listed as follows, along with a brief explanation for each:

    ...
Visually different images
CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
System Design Guide for Software Professionals
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon