System Design Concepts and Interview Preparation
Offered By: freeCodeCamp
Course Description
Overview
Dive into a comprehensive 54-minute tutorial on system design concepts and interview preparation. Explore essential topics including computer architecture, production app infrastructure, design requirements, networking protocols, API design, caching strategies, proxy servers, load balancing, and database scaling techniques. Gain practical insights through clear explanations and real-world examples to enhance your understanding of scalability, reliability, and high-level architecture. Access accompanying presentation slides for further study and prepare effectively for system design interviews with this informative guide.
Syllabus
⌨️ Introduction
⌨️ Computer Architecture Disk Storage, RAM, Cache, CPU
⌨️ Production App Architecture CI/CD, Load Balancers, Logging & Monitoring
⌨️ Design Requirements CAP Theorem, Throughput, Latency, SLOs and SLAs
⌨️ Networking TCP, UDP, DNS, IP Addresses & IP Headers
⌨️ Application Layer Protocols HTTP, WebSockets, WebRTC, MQTT, etc
⌨️ API Design
⌨️ Caching and CDNs
⌨️ Proxy Servers Forward/Reverse Proxies
⌨️ Load Balancers
⌨️ Databases Sharding, Replication, ACID, Vertical & Horizontal Scaling
Taught by
freeCodeCamp.org
Related Courses
Computer ArchitecturePrinceton University via Coursera Introduction to Computer Architecture
Carnegie Mellon University via Independent Build a Modern Computer from First Principles: From Nand to Tetris (Project-Centered Course)
Hebrew University of Jerusalem via Coursera 计算机系统基础(一) :程序的表示、转换与链接
Nanjing University via Coursera Computer Architecture
Indian Institute of Technology Madras via Swayam