00:00:00 Intro
00:02:11 Let’s Begin
00:02:42 System Design Interview Tips
00:07:38 Structuring an Interview Response
00:08:35 Requirements Clarification
00:10:04 Functional Requirements
00:10:22 Non-Functional Requirements
00:10:48 Extended Requirements
00:11:32 Estimation and Constraints
00:12:38 Designing the Data Model
00:16:25 API Design Overview
00:18:46 High-Level Component Design
00:23:07 Identifying and Resolving Bottlenecks
00:26:24 Case Study Part 1 – URL Shortener Overview
00:29:16 What is a URL Shortener?
00:30:00 Why Do We Need a URL Shortener?
00:31:53 Requirements for a URL Shortener
00:33:44 Estimations & Constraints Analysis
00:34:26 Traffic Handling
00:37:20 Bandwidth Considerations
00:39:08 Storage Requirements
00:41:57 Caching Mechanisms
00:44:41 High-Level Estimation Techniques
00:45:52 Data Modeling
00:47:10 Choosing a Database