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
Pattern-Oriented Software Architectures: Programming Mobile Services for Android Handheld SystemsVanderbilt University via Coursera The Caltech-JPL Summer School on Big Data Analytics
California Institute of Technology via Coursera Automated Visual Software Analytics
openHPI Software Architecture & Design
Georgia Institute of Technology via Udacity Software Architecture for the Internet of Things
EIT Digital via Coursera