Summary
Keywords
Full Transcript
Article - https://codewitharyan.com/system-design/low-level-design Structured DSA (Basics to Advanced) Practice - https://codewitharyan.com/cwa-sheet/practice-problems My Uber Interview Experience - https://youtu.be/VGYJIX5yl74 My Coinbase Interview Experience - https://youtu.be/IjOC18b_dCw My American Express Inteview Experience - https://youtu.be/c3UhYefhnqk My JP Morgan & Chase Interview Experience - https://youtu.be/-jacTpY57no ..... more coming soon (along with LLD course on Second Channel) Most Frequently asked questions based on Leetcode Premium - https://codewitharyan.com/cwa-sheet/aryan-dsa-master-sheet LLD Syllabus which we gonna cover - https://codewitharyan.com/system-design/low-level-design Let's Connect: Main Channel for DSA & Live Streams - https://www.youtube.com/@ARYANMITTAL X Twitter : https://x.com/aryan_mittal007 π±Discord (Join Community) : https://discord.gg/vwUAz2pEHZ πLinkedin (About me): https://www.linkedin.com/in/aryan-mittal-0077 πΈ Instagram: https://www.instagram.com/codewitharyanbhai π±Telegram : https://t.me/aryan_mittal_group π€ Github: https://github.com/aryan-0077 β¨ Timelinesβ¨ 00:00 - Introduction 00:29 - Transition to Kafka and Pre-requisites 01:22 - Pub/Sub vs Message Queues 02:14 - Broadcast Use-case in Pub/Sub 02:34 - Course Structure and Design Process 03:17 - Basics of Pub/Sub Model 04:54 - Core Concepts: Topic 06:37 - Scaling with Partitions 08:49 - Kafka Implementation Simplification 10:03 - Offsets and Their Role 11:56 - Consumer Flexibility and Offset Reset 13:42 - Delivery Guarantees via Offsets 14:15 - Consumer Groups and Parallelism 16:32 - Topic vs Partition Simplification in Code 16:44 - Consumer Lag and Pull vs Push Model 18:10 - Parallel Consumption and Processing 19:22 - Key Operations 20:39 - Design Features 21:09 - Beginning the System Design 23:01 - Clarifying Questions 24:28 - Message Ordering and Offline Subscribers 25:06 - Core Entities 27:14 - Thread-safe Topic-Subscriber Pairing 29:05 - Kafka Controller 30:45 - Design Challenges 31:20 - Class Design Strategy 33:42 - Implementation Phase 35:05 - Message and Subscriber Structure 37:00 - Topic Design and Concurrency 39:08 - Runnable Topic Subscriber 40:30 - Notifying Subscribers 42:06 - Locking and Waiting Logic 44:06 - Message Consumption Flow 45:51 - Kafka Controller Functions 47:59 - Thread Pool Setup 49:03 - Publishing Messages 50:01 - Resetting Offsets 50:46 - Shutdown Logic 50:52 - Client Code Walkthrough 54:28 - Offset Reset Demo 55:06 - Kafka vs BlockingQueue 55:29 - Separation of Concerns 57:00 - Outro β¨ Hashtags β¨ #programming #Interviews #leetcode #faang #maang #datastructures #algorithms #low-level-design #lld-by-aryan #lowleveldesign #multithreadinginterviewquestionsinjava #multithreadinginterviewquestions #topmultithreadinginterviewquestion #multithreadinginjava #lowlevelsystemdesign #lowleveldesigninterviewquestions #systemdesign #designprinciples #lowlevelsystemdesigninterviewquestions #designpubsubsystemlld #pubsubdesign #designpubsubsystem #pubsubdesignpattern #objectorienteddesign #lowleveldesigninterview #systemdesigninterview
