Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Fundamentals of High Level System Design
Rating: 3.6 out of 5(73 ratings)
375 students

Fundamentals of High Level System Design

A guide to the building blocks of High Level System Design
Last updated 8/2020
English

What you'll learn

  • Considerations to be made while designing a large scale system
  • The building blocks of large scale software systems
  • Managing tradeoffs while designing large scale applications
  • The must-knows to clear the system design interview

Course content

5 sections70 lectures3h 10m total length
  • Introduction2:21
  • Introduction to Scalability4:15
  • Vertical vs Horizontal Scaling1:55
  • Scalability
  • Introduction to Availability1:44
  • Availability Patterns3:56
  • Putting Availability in Numbers1:51
  • Availability
  • Introduction to Consistency2:29
  • Consistency Patterns1:41
  • Consistency Guarantee3:17
  • Consistency
  • Reliability3:45
  • Quiz: Reliability
  • CAP Theorem1:49
  • Quiz : CAP Theorem

Requirements

  • Background in Computer Science

Description

This course in introduction to the fundamentals of High-Level System Design. Whether you are an undergrad who wants to learn more about a distributed system or an aspirant to crack the system design interview in one of the top tech companies - this course is for you!

The course starts by higlighting some of the considerations and tradeoffs to be made while designing a large scale system. We are gonna cover the topics of Scalability, Reliability, Availability, and Performance.

Next, we dwell on the key system resources like - compute, storage, and network and how they can be scaled in a large scale system. We then cover some of the building blocks of large scale systems like Load balances, Proxies, Gateways, Caching solution and Databases

Finally, we wrap up with an introduction to inter-process communication in large scale applications. This is key to architecting large scale micro-service-based applications

This course is designed keeping in mind the current trends in computing is filled with real-world examples. The course has quizzes at the end of each topic to keep you engaged throughout.

I'm looking forward to you joining me on this journey of unravelling the art of designing large scale systems. Let's get started!

Who this course is for:

  • Software Developers, Interviewees