Fundamentals of High Level System Design

A guide to the building blocks of High Level System Design

Ratings: 3.69 / 5.00




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!

What You Will 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

Who Should Attend!

  • Software Developers, Interviewees