Skip to content

r-shreesha/Interview-Prep

Repository files navigation

Subscribed Courses

Coding

Behavioral

  • FAQ
  • Work Scenarios

System design

Tradeoffs while designing systems

Read Heavy Write Heavy
Caching Database Optimization (Cassandra using LSM trees)
Database Replication Asynchronous Processing
CDN Write Batching and Buffering
Load Balancing Database Partitioning
Data Partitioning Command Query Request Seggregation (CQRS) - Separate handling for Read and Write
Optimized Data Retrieval (Indexing frequently queried data or move them all to a one partition) Event Sourcing

Key Characteristics of a Distributed System

Key Strategies
Scalability Horizontal, Vertical
Availability * Redundancy & Replication
* Load Balancing
* Distributed Data Storage
* Health Monitoring & Alerts
* Regular System Maintenance & Updates
* Geographic Distribution
Latency & Performance Data Locality, Load Balancing, Caching
Monitoring & Observability * Metrics Collection
* Distributed Tracing
* Logging
* Alerting & Anomaly Detection
* Visualization & Dashboards
Resiliencey & Error handling * Fault Tolerance
* Graceful Degradation (Circuit Breakers, Timeouts, Fallbacks)
* Retry & Backoff
* Logging errors & Generating Alerts
* Chaos Engineering

Resources

Guide on How to answer questions - Video

Most Common System Design Questions

System Design Questions 2.0 by Jordan has no life

Designing Data Intensive Applications - Videos - PPT

Low Level Design

Brushup concepts

Ultimate Crash course

Cheatsheet

InterviewReady - System Design Resources

Concepts

System Design Algorithms Every Engineer should know

How to Scale a system from 0 to 1 Million users

How to Identify the right database for a system

Software Architecture Patterns

API Architecture Styles

Rest vs GraphQL

BluePrint

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published