System Design: A Brand New Step By Step Guide for Interview
System Design, Stages of Typical System Design Interview, High Level Design, Detailed Design. And Many More!
What you’ll learn
-
Google Interview Question for Software Engineers!
-
Stages of a typical system design interview
-
Functional Requirements (API)
-
Non-Functional Requirements to consider: scalability, performance, availability, consistency, cost.
-
Data ingestion pipeline concepts: blocking vs non-blocking I/O, buffering and batching, timeouts, retries, exponential backoff and jitter, circuit breaker pattern, software vs hardware load balancing, load balancing algorithms, DNS, health checking and high availability of load balancers, partition strategy, hot partitions, client-side and server-side service discovery, single leader replication and leaderless replication, textual vs binary data formats.
-
Types of performance testing: load testing, stress testing, soak testing.
-
High-Level Design
-
Detailed Design
-
Data retrieval pipeline concepts: time-series data, data rollup, hot storage, cold storage.
-
Bottlenecks and Tradeoffs
-
Where we store Data
-
NoSQL databse
-
Data Processing
-
Important Features of Database writer
-
3 Components of the data ingestion Path
-
Data retrial Path
-
Technology stack
-
How to define a data model
-
How to scale a SQL database
-
Why requirements clarification is so important.
-
Apache Cassandra high-level architecture.
-
System Design
Who this course is for:
- Beginner for SQL Database
- System Design
- System Design Interview