The Course

Hey there, aspiring tech wizards! If you're looking to land a top-notch job in the tech industry or just up your game in understanding how complex software systems work, you've stumbled upon the perfect course. Dive headfirst into the nuts and bolts of designing scalable, reliable, and efficient systems, just like the ones that anchor major tech companies. From unraveling the mysteries of load balancing to mastering the art of data sharding, and navigating through the cloud like it's your own backyard, you'll emerge with a designer's toolkit that's jam-packed with strategies, concepts, and a solid understanding of the technical considerations that make or break systems today.

But it's not all about theory – oh no! You'll get your hands dirty with real-world scenarios, typical of those pesky interview questions that try to throw you off your game. This is about turning you into a problem-solving powerhouse, able to dissect complex requirements, identify potential pitfalls, and present solutions with the confidence of a seasoned pro. Imagine walking into any system design interview with a cool head, ready to impress with knowledge and practical skills that'll make you an asset from day one. So, start powering through those techie career milestones and become the system design hero every company is on the hunt for!

What you will learn

I crafted this course with your journey in mind, starting from the ground up. Knowing how daunting technical interviews can be, especially when you're faced with those tricky system design questions, I've put together a roadmap that gradually builds your confidence and knowledge. It's structured in digestible modules, infused with real-world scenarios to give you hands-on practice. What makes it super helpful is that each lesson has clear objectives and follows a logical progression; so no matter where you're starting from, you'll find yourself leveling up your skills in no time. It's like having a personal coach to walk you through the complexities, turning what was once intimidating into something you can approach with a strategic mindset.

Curriculum

  Introduction
Available in days
days after you enroll
  Week 1 (Coding - Introduction to Data Structures, Array, Matrix)
Available in days
days after you enroll
  Week 1 (System Design - Introduction, Load Balancing, API Gateway)
Available in days
days after you enroll
  Week 2 (Coding - Stack, Queue, LinkedList)
Available in days
days after you enroll
  Week 2 (System Design - Key Characteristics of Distributed Systems, DNS, Caching)
Available in days
days after you enroll
  Week 3 (Coding - Tree, HashTable, HashSet)
Available in days
days after you enroll
  Week 3 (System Design - CDN, Data Partitioning, Proxy Server)
Available in days
days after you enroll
  Week 4 (System Design - Replication, CAP & PACELC Theorems, Databases, Indexes)
Available in days
days after you enroll
  Week 5 (System Design - Bloom Filters, Long-Polling, WebSockets, Quorum, Heartbeat))
Available in days
days after you enroll
  Week 6 (System Design - Checksum, Leader & Follower, Messaging System)
Available in days
days after you enroll
  Week 7 (System Design - Introduction to System Design Interview, Master Template, Designing URL Shortening and Pastebin)
Available in days
days after you enroll
  Week 8 (System Design - Designing Dropbox, Facebook Messenger, Twitter, Netflix)
Available in days
days after you enroll
  Week 9 (System Design - Designing Typeahead Suggestion, API Rate Limiter, Twitter Search, Web Crawler)
Available in days
days after you enroll
  Week 10 (System Design - Designing Facebook Newsfeed, Yelp, Uber, Ticketmaster)
Available in days
days after you enroll
  Week 10 (Coding - Modified Binary Search, Bitwise XOR, Top 'K' Elements)
Available in days
days after you enroll
  Week 11 (System Design - Design a Key-Value Store)
Available in days
days after you enroll
  Week 11 (Coding - K-way Merge, Backtracking, Topological Sort, Multi-threaded)
Available in days
days after you enroll
  Week 11 (Behavioral Interview)
Available in days
days after you enroll
  Week 12 (Coding - Dynamic Programing, 0/1 Knapsack, Fibonacci Numbers, Longest Common Substring)
Available in days
days after you enroll
  Week 12 (System Design - Designing Distributed Messaging System)
Available in days
days after you enroll

This course is closed for enrollment.

Your instructor

Gabriel Do brings a wealth of experience to the realm of System Design, with a robust background in creating scalable, efficient, and resilient architectures across a variety of tech environments. His journey has been marked by hands-on roles that included software development, systems engineering, and consulting, where he excelled at turning complex requirements into tangible solutions. His expertise is not only grounded in academic foundations but has been refined by real-world challenges and the mentorship of industry leaders.

As the instructor for the "System Design Interviews" course, Gabriel has designed an immersive curriculum that mirrors the dynamic and ever-evolving landscape of technology systems. His passion for teaching is anchored in the belief that a deep understanding of system design principles is crucial for anyone looking to excel in tech roles, particularly when navigating the critical juncture of interview processes. Gabriel is dedicated to sharing his insights, providing practical strategies, and empowering students with the knowledge and confidence to succeed.

Masterful

Crafting Elegant Solutions for Complex Problems

Strategic

Navigating Trade-offs in High-Stakes Environments

Innovative

Pioneering Cutting-Edge Approaches to Design Challenges