HOME > Development > Pragmatic System Design

Pragmatic System Design

  • Development
  • May 15, 2025
SynopsisPragmatic System Design, available at $99.99, has an average...
Pragmatic System Design  No.1

Pragmatic System Design, available at $99.99, has an average rating of 4.58, with 120 lectures, 5 quizzes, based on 3681 reviews, and has 27569 subscribers.

You will learn about How to solve most popular FANG interview questions Most important scalability concepts Common communication protocols Caching and Redis Concurrency Database design and PostgreSQL Sharding strategies This course is ideal for individuals who are Software engineers of all levels preparing for System Design interviews or Senior engineers that are looking to make the next step in their career or Software architects that are looking to broaden their knowledge It is particularly useful for Software engineers of all levels preparing for System Design interviews or Senior engineers that are looking to make the next step in their career or Software architects that are looking to broaden their knowledge.

Enroll now: Pragmatic System Design

Summary

Title: Pragmatic System Design

Price: $99.99

Average Rating: 4.58

Number of Lectures: 120

Number of Quizzes: 5

Number of Published Lectures: 103

Number of Published Quizzes: 5

Number of Curriculum Items: 125

Number of Published Curriculum Objects: 108

Original Price: £22.99

Quality Status: approved

Status: Live

What You Will Learn

  • How to solve most popular FANG interview questions
  • Most important scalability concepts
  • Common communication protocols
  • Caching and Redis
  • Concurrency
  • Database design and PostgreSQL
  • Sharding strategies
  • Who Should Attend

  • Software engineers of all levels preparing for System Design interviews
  • Senior engineers that are looking to make the next step in their career
  • Software architects that are looking to broaden their knowledge
  • Target Audiences

  • Software engineers of all levels preparing for System Design interviews
  • Senior engineers that are looking to make the next step in their career
  • Software architects that are looking to broaden their knowledge
  • Prepare yourself for system design interviews and leverage your knowledge in real-world scenarios with my comprehensive course. Gain the confidence and skills to excel in system design discussions, whether for job interviews or day-to-day work.

    In today’s industry, designing new systems is a rare opportunity for most engineers. Architecture discussions often involve only a select few individuals within companies. However, when it comes to interviews, the expectation is that everyone is a system design master. My course bridges this gap by covering essential topics and providing effective approaches to common system design interview questions.

    Additionally, this course offers senior engineers an alternative perspective on system design. I encourage open discussions and aim to remove the stigma around imperfect real-world designs.

    Choose your preferred method of course consumption based on your availability. If you have ample time, follow the logical order of my videos for a step-by-step learning experience, gradually building your confidence.

    Alternatively, if time is limited or you’re not currently actively preparing for interviews, you can start with the design videos. If any unfamiliar topics arise, I provide supplementary videos or links to relevant articles.

    System design interviews typically evaluate breadth of knowledge first and depth of knowledge second. Thus, I’ve kept the theoretical portion of each topic concise, aligning with interviewers’ expectations.

    Remember, there’s no such thing as a perfect design. Every system involves trade-offs and compromises. Moreover, each design is unique, reflecting your areas of expertise. Approach my videos as a collection of ideas rather than the definitive way to design a system.

    I value your input! If you have additional system design interview questions or topics you’d like me to address, please let me know. Your feedback shapes my content and ensures its relevance to your needs.

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction to Pragmatic System Design

    Lecture 2: Diagram building blocks

    Lecture 3: Diagram flow

    Lecture 4: Making Estimates

    Chapter 2: Networks

    Lecture 1: Load Balancing

    Lecture 2: CDN

    Chapter 3: Caching

    Lecture 1: Introduction

    Lecture 2: Caching Strategies

    Lecture 3: Eviction Policies

    Lecture 4: Redis

    Chapter 4: Queues

    Lecture 1: Introduction: Queues

    Lecture 2: Messaging

    Lecture 3: RabbitMQ

    Lecture 4: Kafka

    Chapter 5: Protocols

    Lecture 1: TCP

    Lecture 2: UDP

    Lecture 3: Summary: TCP vs UDP

    Lecture 4: HTTP

    Lecture 5: HTTP – Methods

    Lecture 6: HTTP – Status Codes

    Lecture 7: REST

    Lecture 8: RESTfulness

    Lecture 9: WebSockets

    Lecture 10: Long Polling

    Lecture 11: gRPC

    Lecture 12: GraphQL

    Lecture 13: Summary

    Chapter 6: Concurrency

    Lecture 1: Concurrency vs Parallelism

    Lecture 2: Processes

    Lecture 3: Threads

    Lecture 4: Thread Pools

    Chapter 7: Databases

    Lecture 1: Indexes

    Lecture 2: Sharding

    Lecture 3: Consistent Hashing

    Lecture 4: Partitioning

    Lecture 5: CAP Theorem

    Lecture 6: ACID transactions

    Chapter 8: Architectural Patterns

    Lecture 1: Web Sessions

    Lecture 2: Serialization

    Lecture 3: CQRS

    Chapter 9: Design a Taxi Hailing App (aka Uber)

    Lecture 1: Problem Introduction – Design a Taxi Hailing App

    Lecture 2: Driver Locations

    Lecture 3: Storing Locations

    Lecture 4: Taxis Around You

    Lecture 5: Matching

    Lecture 6: Summary – Design a Taxi Hailing App

    Chapter 10: Design a Chat (aka WhatsApp)

    Lecture 1: Problem Introduction – Design a Chat

    Lecture 2: Basic Design – Chat

    Lecture 3: Scaling Reads

    Lecture 4: Sharding Chat Messages

    Lecture 5: Scaling chat using queues

    Lecture 6: Summary – Design a Chat

    Chapter 11: Design a Web Crawler (aka Google Crawler)

    Lecture 1: Problem Introduction – Design a Web Crawler

    Lecture 2: Basic Design – Web Crawler

    Lecture 3: Fetching Content

    Lecture 4: Whats a new URL?

    Lecture 5: Uniqueness

    Lecture 6: Priorities

    Lecture 7: Summary – Design a Web Crawler

    Chapter 12: Design an Auction (aka eBay)

    Lecture 1: Problem Introduction – Design an Auction

    Lecture 2: Basic Design for an Auction

    Lecture 3: Optimistic Locking of Bids

    Lecture 4: Serialisation of Bids

    Lecture 5: Event-Driven Approach for Bids

    Lecture 6: Scaling an Auction

    Lecture 7: Summary – Design an Auction

    Chapter 13: Design a URL Shortener (aka TinyURL)

    Lecture 1: Problem Introduction – Design a URL Shortener

    Lecture 2: Basic Design for a URL Shortener

    Lecture 3: Short Identifiers

    Lecture 4: Scaling Reads

    Lecture 5: Extra: DynamoDB

    Lecture 6: Caching

    Lecture 7: Summary – Design a URL Shortener

    Chapter 14: Design a Coupon System (aka Groupon)

    Lecture 1: Problem Introduction – Coupon System

    Lecture 2: Basic Design

    Lecture 3: Concurrency

    Lecture 4: Scalability

    Lecture 5: Summary – Coupon System

    Lecture 6: Extra: Scaling Using Queues

    Chapter 15: Design a News Feed (aka Twitter)

    Lecture 1: Problem Introduction – News Feed

    Instructors

  • Pragmatic System Design  No.2
    Alexey Soshin
    Senior Solutions Architect @AWS
  • Rating Distribution

  • 1 stars: 31 votes
  • 2 stars: 55 votes
  • 3 stars: 347 votes
  • 4 stars: 1386 votes
  • 5 stars: 1862 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!