Cracking the System Design Interview
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
24 students enrolled

Cracking the System Design Interview

The only course you need to crack system design interviews - Learn about scaling, databases, caching and more !
New
0.0 (0 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
24 students enrolled
Created by The Astra Academy
Last updated 7/2020
English
English [Auto]
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 3.5 hours on-demand video
  • 55 articles
  • 17 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand system design fundamentals like scaling, availability, consistency, latency, CAP theorem
  • Learn what load balancers are and how to implement them within your system.
  • Acquire knowledge about Relational and Non-relational databases. Different kinds of NoSQL databases will be covered in detail.
  • Learn about various distributed data architectures like GFS, Hadoop and Spark.
  • Learn how to improve your system's performance using sharding. We will also cover various strategies to shard databases.
  • Understand different uses of message queues and Kafka.
  • Develop deeper understanding about caches. Learn about cache eviction and data access policies. Redis and Memcached are also discussed.
  • Master the skill of designing scalable systems by studying real world applications.
Course content
Expand all 102 lectures 04:10:26
+ Introduction
3 lectures 01:17
Welcome
00:15
Download the e-book here
00:04
Assignment - Can you find problems in this system ?
00:58
+ Core Concepts
14 lectures 26:09
Introduction
00:10
Read - Scalability
01:16
Read - Latency
00:26
Throughput
01:56
Read - Throughput
00:28
Availability
04:05
Read - Availability
00:43
Consistency
02:24
Read - Consistency
00:22
CAP Theorem
04:00
Read - CAP Theorem
01:02
Conclusion
00:47

In this quiz, your understandinf of 'Core Concepts' section will be tested.

Core Concepts
6 questions
+ Load Balancers
13 lectures 35:14
Introduction
01:56
Introduction
00:27
Benefits of using Load Balancers
03:16
Read - Benefits of using Load Balancers
00:52
Read - Failure handling in Load Balancers
01:13
Types of Load Balancers
06:26
Read - Types of Load Balancers
01:06
Session Storage Problem
04:57
Read - Session Storage Problem
01:09
Load Balancing Strategies
05:40
Read - Load Balancing Strategies
01:07
Read - Consistent Hashing
01:26

In this quiz, your knowledge of Load Balancers will be tested.

Load Balancers
6 questions
+ Databases
25 lectures 49:25
Introduction
00:10
Relational Databases
03:36
Read - Relational Databases
00:29
ACID Properties
04:28
Read - ACID Properties
01:15
Pros and cons of using RDBMS
02:18
Read - Pros and cons of using RDBMS
00:18
Assignment - Design the databse schema
01:39
NoSQL Databases
01:33
Read - NoSQL Databases
00:16
BASE Properties
05:48
Read - BASE Properties
00:53
Pros and cons of using NoSQL
02:15
Read - Pros and cons of using NoSQL
00:40
RDBMS vs NoSQL
02:18
Read - RDBMS vs NoSQL
00:01
Types of NoSQL Databases
00:07
Key-Value based databases
01:55
Read - Key-Value based databases
00:27
Document based databases
04:42
Read - Document based databases
01:05
Column based databases
05:42
Read - Column based databases
01:02
Graph databases
05:08
Read - Graph databases
01:16

In this quiz, your knowledge of databses will be tested.

Databases
5 questions
+ Sharding
6 lectures 21:05
Introduction
04:54
Read - Introduction to Sharding
01:05
Pros and cons of sharding
04:39
Read - Pros and cons of sharding
01:07
Sharding strategies
06:43
Read - Sharding Strategies
02:36

In this quiz, your knowledge about sharding will be tested.

Sharding
4 questions
+ Caching
19 lectures 38:26
Introduction
02:51
Read - Introduction to caching
00:35
Common terms
02:10
Read - Common terms
00:28
Pros and cons of caching
02:18
Read - Pros and cons of caching
00:29
Eviction Policies
06:21
Read - Eviction Policies
01:00
Code - Implement a LRU cache
00:08
Data Access Policies
05:01
Read - Data Access Policies
01:22
Applications of caching
03:31
Read - Applications of caching
00:44
Memcached
04:36
Read - Memcached
00:54
Redis
03:20
Read - Redis
00:38
Memcached vs Redis
01:48
Read - Memcached vs Redis
00:10

In this quiz, your knowledge about caching will be tested.

Caching
6 questions
+ Distributed Data Systems
12 lectures 37:45
Google File System -1
04:50
Google File System -2
03:23
Read - Google File System
02:33
Hadoop
00:08
Hadoop - HDFS
05:46
Read - HDFS
01:57
Hadoop - MapReduce
06:45
Read - MapReduce
02:09
Assignment - Find the number of products sold for each category using Mapreduce
01:00
Spark
07:01
Read - Spark
01:35
Read - Spark vs Hadoop
00:37

In this quiz, your knowledge about distributed data systems will be tested.

Distributed data systems
5 questions
+ Message Queues
6 lectures 15:34
Introduction
04:17
Pros and cons of using message queues
02:22
Kafka
04:30
Read - Kafka
01:49
Can we use database as a message queue ?
02:15
Read - Can we use database as a message queue ?
00:21
+ Try out some problems !
4 lectures 25:27
Steps to crack your system design interview
01:20
Tiny URL - 1
11:13
Tiny URL - 2
12:30
Tiny URL- 3
00:24
Requirements
  • Computer science fundamentals
  • Basic knowledge of data structures and algorithms(Not mandatory)
Description

This is the only course you need to crack your system design interviews.

System design problems have become a major part of the interview process at big tech companies. This is a great way to test a candidate's knowledge of computer science as well as his problem solving capability.

However, these problems are especially difficult for students who are fresh out of college and have no experience in developing real world applications. This course has been designed keeping this problem in mind.

This is a 'learn by doing' course. We believe in giving you enough theoretical knowledge followed by getting our hands dirty with practical problems.

Various assignments, quizzes, coding exercises, case studies and reading materials have been included in this course to ensure you have complete grasp over each topic. Completing all the exercises will help you to understand the content in greater detail.

The field of system design is very wide. There is no fixed roadmap which students can follow and then confidently proceed to pass their system design interviews. We have accumulated all the scattered topics to create a well defined course which will teach you everything you need to crack any system design interview.


What will you learn?

  • Core concepts like scalability, latency, CAP theorem

  • Load balancers

  • Databases and their different types

  • Sharding

  • Caching

  • Message queues (Kafka)

  • GFS, Hadoop and Spark

  • Real world system design problems

  • How to design scalable systems with great performance


Interview preparation is all about time. Do not waste it any further and join this course to excel in your system design interview course.

Note: This is a growing course and latest design questions are added here frequently !

Who this course is for:
  • Programmers who wish to crack their System Design interviews
  • Professionals who want to expand their knowledge about designing scalable systems.