The BigTech System Design Interview Bootcamp
What you’ll learn
Develop a deeper understanding of architecture principles and design patterns, which will enhance your overall software engineering skills and knowledge.
Become more confident and well-prepared to tackle any system design interview with ease and effectiveness, gaining a competitive edge.
Differentiate yourself from other candidates and increase your chances of landing your dream job in big tech.
Knowledge of functional and non-functional requirements engineering and capacity estimation in system design.
Gain Hands-on experience with component-level system design and real-world application through 10 mock interview challenges.
Pursue more rewarding career opportunities in the tech industry, max-out your earning potential!
No dedicated prior system design experience required.
No paid tools required, we will use a free and easy to use web-based whiteboard tool.
A discord account is required to join our private community to discuss your designs
It’s 2023 and this is the year, you finally land your dream job in big tech! Hiring season has already started! Do you want to make the next big step in your software engineering career and land a a job at one of the big tech company like Google, Facebook, Amazon, Microsoft, Netflix, or other tech-savvy companies? But, you don’t have any idea how to even start systematically prepare for the system design interview? Then this course is for you! This course is taught by an experiences senior software engineer who landed a job in big tech just after going through the same as go you through right now. Only a minority of developers today own a computer science degree, many more are “self taught” or boot camp graduates. Many feel intimidated by the system design interviews of big tech as topics large-scale architecture and design patterns you will barely learn from day-to-day coding experience.This course allow to catch up and learn enough system design fundamentals to get through the interview, without drowning students in endless theory lessons. Included in the course fee is your access to a private online community to find fellow students to discuss system design question and find a sparring partner for mock interviews! In this course you will learn the following: This course covers all commonly discussed systems!I help you to understand what’s the expectation and take you on a deep-dive into all commonly discussed systems within the system design interview. NetflixYoutubeAmazonDropboxInstagramFacebookTwitterWhatsappLearn the interview structure hands-on!For each system we walk through the entire interview structure together step-by-step:1. Functional Requirements Engineering 2. Non-Functional Requirements Engineering3. Capacity Estimations4. Data Model Design5. System Design6. Component DesignAll Technologies, Architectures and Patterns are explained, no prior experience needed!We will draw each of these real-world systems and discuss all design choices made. I introduce all technologies, architectures and patterns we come across:Micros ServicesLoad BalancerServers & ClientsDatabasesMessage BrokerMany MoreDrill-down to Component Level DesignThe course is intended to go beyond covering the bare minimum of knowledge to barely pass the interview. I cover enough depth so you feel confident to handle any bar raiser question your interviewer might come up with. That’s why we will down the the component level design to make sure you have some backup knowledge to shine with! Disclaimer: This course is applied!You won’t be asked to just lean back and enjoy the show. I leverage Excalidraw, the great collaborative white board tool to draw to help you actively follow the course, make up your own mind about each design and draw it the way you believe would be best! Who is your Instructor?I am an experienced instructor with more than 10.000 taught students on Udemy alone. I am also a senior software engineer working in big tech. I have gone through the same interview process myself and I also conduct interviews from the other side of the table. Moreover, I design system architectures on a daily bases.My goal is to teach you everything it takes for you to master your system design interview with confidence and ease!You don’t have to be an expert in any of it to get started!
Section 1: Mock Interview: Todo List
Lecture 1 Intro
Lecture 2 Requirements
Lecture 3 Capacity Estimation
Lecture 4 Data Model
Lecture 5 API Design
Lecture 6 System Design
Lecture 7 Design Discussion
Section 2: URL Shortener Systems
Lecture 8 Housekeeping
Lecture 9 Introduction
Lecture 10 Interview Prep: Requirements Engineering
Lecture 11 Deep-dive: How does encoding work?
Lecture 12 System Component: Key-Value Store
Section 3: Mock Interview: TinyURL
Lecture 13 Intro
Lecture 14 Requirements Engineering
Lecture 15 Capacity Estimation
Lecture 16 Data Model
Lecture 17 API Design
Lecture 18 System Design
Lecture 19 Design Discussion
Section 4: Technical Deep-dive: ACID vs BASE
Lecture 20 Introduction
Lecture 21 Relational Databases (ACID)
Lecture 22 Non-relational Databases (BASE)
Lecture 23 Summary
Section 5: File Sharing Systems
Lecture 24 Introduction
Lecture 25 Interview Prep: Capacity Estimation
Lecture 26 Deep-dive: File Synchronization
Lecture 27 Deep-dive: Notifications
Lecture 28 System Component: Message Queue
Lecture 29 System Component: File Storage
Section 6: Mock Interview: Dropbox
Lecture 30 Intro
Lecture 31 Requirements Engineering
Lecture 32 Capacity Estimation
Lecture 33 Data Model
Lecture 34 API Design
Lecture 35 System Design
Lecture 36 Design Discussion
Section 7: Streaming Systems
Lecture 37 Introduction
Lecture 38 Interview Prep: Data Model
Lecture 39 Interview Prep: API Design
Lecture 40 Deep-dive: How to upload video content on scale?
Lecture 41 Deep-dive: How does streaming work?
Lecture 42 System Component: Cache & CDN
Lecture 43 System Component: Search Engine Database
Section 8: Mock Interview: Netflix
Lecture 44 Introduction
Lecture 45 Requirements Engineering
Lecture 46 Capacity Estimation
Lecture 47 Data Model
Lecture 48 API Design
Lecture 49 System Design
Lecture 50 Design Discussion
Section 9: Mock Interviews
Lecture 51 Introduction
Lecture 52 Mock Interview – Twitter System
Lecture 53 Mock Interview – Instagram System
Lecture 54 Mock Interview – WhatsApp
Lecture 55 Mock Interview – Amazon
Lecture 56 Mock Interview – Spotify
Lecture 57 Bonus Mock Interview – Uber
Any software engineer who want to prepare for a system design interview.,Any graduate who want to understand how system design interviews work.,Anyone who wants to become a better developer.,Any self taught programmer who missed out on a computer science degree.,Everyone who are interested in large-scale system architecture.,Software Architects / Tech Leads who want to extend their knowledge.,Experienced Engineers who have been laid off and want to brush up their interviewing skills.
Udemy | English | 5h 38m | 3.24 GB
Created by: Fabian Hinsenkamp | Senior Software Engineer @Microsoft