Austin's SWE Notes 😭
GitHub
main
Home
Vault
Alexu System Design Interview
1. Scale from zero to millions of users
Cache Tier
CDN Consideration
Database Replication
Database Scaling
DataCenter
Horizontal Scale User Session
Horizontal Vs Vertical
Load Balancer
Logging
Message Queue
Scale From 0 To Millions
10. Design a Notification System
Android Push Notification
Design A Notification System
Email Notification
IOS Push Notification
SMS Push Notification
11. Design a new feed system
Design A New Feed System
12. Design a chat system
Design A Chat System
HTTP Long Polling
HTTP Short Polling
Server-Sent Events (Sse)
WebSocket
13. Design a search autocomplete system
Design A Search Auto Complete System
14. Design youtube
DAG Config File
DAG Scheduler Pattern
DASH
Design Youtube
HLS
RTMP
RTSP
15. Design google drive
Block Servers
Design Google Drive
Resumable Upload
Sync Conflict Resolution
2. Back-of-the-envelope estimation
Back-of-envelop Estimation
3. Framework for system design interviews
System Design Framework
4. Design a rate limiter
Design Rate Limiter
Fixed Window Counter Algorithm
Leaking Bucket Algorithm
Sliding Window Counter Algorithm
Sliding Window Log Algorithm
Token Bucket Algorithm
5. Design Consistent Hashing
Consistent Hashing PseudoCode
Design Consistent Hashing
6. Design Key-Value store
Design Key-Value Store
7. Design Unique ID generator
Design Unique ID Generator In Distributed System
Multi-master Replication ID Generator
Ticket Server
Twitter Snowflake ID Generator
Universally Unique Identifer (Uuid)
8. Design a URL shortener
Design A URL Shortener
9. Design a web crawler
Design A Web Crawler
Algorithms
Arrays
Array Rotation
Boyer-Moore Majority Voting Algorithm
Cyclic Sort
Encode And Decode
Largest Number
Longest Consecutive Sequence
Merge Intervals
Partition Equal Subset Sum
Perfect Rice Bags
Pigeonhole Principle
PrefixPostFix Product
TwoSum (Hashtable Way)
Traversal
1D Traversal
Spiral Traversal
Backtracking
Combination Sum
Combination, Permutation And Subset
Generate Parentheses
Letter Combination
N-Queens
Palindrome Partitioning
Permutation
Subset
WordSearch
Dynamic Programming
1-D Dynamic Programming
Climbing Stairs
Coin Change II
Coin Change
Decode Ways
House Robbery II
House Robbery
Longest Increasing Subsequence
Maximum Product Subarray
Word Break
2-D Dynamic Programming
Longest Common Subsequence
Longest Palindrome Substring
Palindromic Substrings
Traverse DP Table
Unique Paths
Graph
Alien Dictionary
Clone Graph
Course Schedule
Graph Traversal
Graph Valid Tree
Number Of Connected Component In A Graph
Number Of Islands
Pacific Atlantic Water Flow
Rotting Oranges
Topological Sort (Kahn'S Algorithm)
Union Find
Greedy
Greedy Algorithm
Jump Game
Maximum Subarray (Kadane'S Algorithm)
Meeting Rooms II
Non Overlapping Intervals
HashMap
LRUCache
Heaps
Find Median From Data Stream
Merge K Sorted Linked List
Merge K Sorted Lists
Top K Elements
LinkedList
Find Half Of A Linked List
In-place Reversal Linked List
LinkedList Cycle
Odd Even Linked List
Remove Nth Node From End Of List
Reorder List
Swap Nodes In Pairs
Misc
Anagram Check
Max Product Vs Max Sum
Palindrom Check
Trick
Tricky Time Complexity
Things to watchout
Default Variable Gotcha
Gotcha
Happy Condition First Before Failure
Keep Track Of Global Variable In Recursion
Recursion Base Condition Mistake
Pointers
3Sum
Container With Most Water
Fast And Slow Pointers
Floyd's Loop Detection
Two Pointers
TwoSum (Two Pointers Way)
Recursions
Tail Vs Non-Tail Recursion
Search
Binary Search In Rotated Sorted Array
Binary Search
Sliding Windows
Longest Contiguous Sub Array Less Than Or Equal To K
Longest Repeating Character Replacement
Longest String Without Repeating Characters
Minimum Swaps To Group All 1'S Together
Minimum Window Substring
Sliding Windows
Stack
Decode String
Largest Rectangle In Histogram
Tree
Binary Tree Maximum Path Sum
Construct Binary Tree From Preorder And Inorder Traversal
Kth Smallest Element In A BST
Lowest Common Ancestor
Maximum Depth Of Binary Tree
Same Tree
Serialise And Deserialise Binary Tree
Subtree Of Another Tree
Tree BFS (Level-By-Level)
Tree DFS
Validate Binary Search Tree
Tries
Design Add And Search Words DataStructure
Implement Trie Prefix Tree
WordSearch II
Resources
assets
EtherChannel 2024-08-04 21.44.01.Excalidraw
Switching Loop 2024-08-04 22.07.02.Excalidraw
AWS Certified Developer (DVA-C01)
Advanced Identity
Advanced IAM
AWS Directory Services
Pass Role And Get Role
STS Overview
Trust Policy
API Gateway
API Gateway - HTTP API Vs REST API
API Gateway Authoisation And Authentication
API Gateway Caching
API Gateway Canary Deployment
API Gateway Common HTTP Errors
API Gateway CORS
API Gateway Endpoint Types
API Gateway Integration Types
API Gateway Monitoring, Logging And Tracing
API Gateway Resource Policy
API Gateway Stage And Deployment
API Gateway Swagger & Open API Spec
API Gateway Throttling
API Gateway Usage Plans & API Keys
API Gateway WebSocket API
API Gateway
AWS Amplify
AWS Amplify
AWS AppSync
AppSync Security
AWS AppSync
AWS CDK
AWS CDK (Infrastructure As Code)
AWS CLI
AWS CLI Profile
AWS Credentials Provider Chain
AWS Signature V4 Signing
Dryrun
MFA With CLI
STS Decode
AWS Cognito
AWS Cognito Identity Pools (Federated Identitiy)
AWS Cognito Sync
AWS Cognito User Pools Vs Identity Pools
AWS Cognito User Pools
AWS Cognito
AWS Lambda
AWS Lambda & CloudWatch Events (Eventbridge)
AWS Lambda
AWS Lambda@Edge
Lambda Aliases
Lambda And CloudFormation
Lambda And CodeDeploy
Lambda And VPC
Lambda Asynchronous Invocation
Lambda Cold Start
Lambda Concurrency And Throttling
Lambda Container Image
Lambda Destinations
Lambda Environment Variables
Lambda Event Queue
Lambda Event Source Mapping
Lambda Execution Context
Lambda Execution Role (Iam Role)
Lambda External Dependencies
Lambda Function Performance
Lambda Integration With ALB
Lambda Integration With S3
Lambda Layers
Lambda Limits To Know
Lambda Monitoring & X-Ray Tracing
Lambda Provisioned Concurrency
Lambda Reserved Concurrency
Lambda Resource Based Policies
Lambda Synchronous Invocation
Lambda Version
AWS SAM
AWS SAM And CodeDeploy
AWS SAM CLI
AWS SAM Policy Templates
AWS SAM Summary
AWS SAM
AWS SAR
AWS Security and Encryption
AWS KMS Encryption Patterns
AWS KMS Key Policy
AWS KMS Key
AWS KMS Limitations
AWS KMS Symmetric API Summary
AWS KMS
AWS Secrets Manager
AWS SSM CLI
AWS SSM Parameter Store
AWS SSM Parameters Policies
Envelope Encryption
SSM Parameter Store Vs Secret Manager
AWS Step Functions
AWS Step Functions Error Handling
AWS Step Functions States
AWS Step Functions Task State
AWS Step Functions
CloudFormation
ChangeSets
CloudFormation Drift
CloudFormation Rollbacks
CloudFormation
Conditions
Functions
Mappings
Nested Stacks
Outputs
Parameters
References
Resources
Stacksets
CloudFront
CloudFront Advanced Concepts
CloudFront Caching
Cloudfront Security
Cloudfront Signed URL - Signed Cookies
CloudFront
Development Services
CodeArtifact
CodeBuild
CodeCommit
CodeDeploy
CodeGuru
CodePipeline Artifact
CodePipeline
CodeStar
DynamoDB
Dynamo Basic APIs
Dynamo Local Secondary Index (Lsi)
DynamoDB Accelerator (Dax)
DynamoDB And S3
DynamoDB CLI
DynamoDB Global Secondary Index (Gsi)
DynamoDB Hash And Range Primary Key
DynamoDB Hash Primary Key
DynamoDB On-Demand
DynamoDB Operations
DynamoDB Optimistic Locking
DynamoDB PartiQL
DynamoDB Partition Strategies
DynamoDB Partitions Internal
DynamoDB Provisioned
DynamoDB Security And Other
DynamoDB Streams
DynamoDB Throttling
DynamoDB Time To Live (Ttl)
DynamoDB Transactions
DynamoDB Write Type
DynamoDB
ECS
ECR CLI
ECS Rolling Updates
ECS Task Placement
Task Defnitions
Elastic BeanStalk
BeanStalk Integration With HTTPS
CLI
Cloning
Components
Custom Platform
Deployment Options
Deployment Process
Elastic Beanstalk
Extensions
Integration With Docker
Lifecycle Policy
Migration
RDS With Elastic Beanstalk
Supported Platforms
Update Options
Web Server Tier
Worker Tier
ElasticCache
ElasticCache Redis Cluster Mode
ElasticCache Strategy
Integration & Messaging
Dead Letter Queue
Fanout Pattern
Kinesis Client Library
Kinesis Consumer - AWS Lambda
Kinesis Consumer
Kinesis Custom Consumers
Kinesis Data Analytics
Kinesis Data Firehose
Kinesis Data Stream Vs Kinesis Data Firehose
Kinesis Data Streams
Kinesis Data Vs SQS Ordering
Kinesis Operation
Kinesis Producers
Kinesis
SNS FIFO Topic
SNS Message Filtering
SNS
SQS Access Policy
SQS API
SQS Consumer
SQS Delay Queue
SQS Extended Client
SQS FIFO Deduplication
SQS FIFO Message Grouping
SQS FIFO
SQS Long Polling
SQS Message Visibility Timeout
SQS Producer
SQS Short Polling
SQS Standard Queue
SQS Vs SNS Vs Kinesis
SQS
Monitoring & Audit
CloudTrail Insights
CloudTrail Vs CloudWatch Vs X-Ray
CloudTrail
CloudWatch Alarms
CloudWatch Custom Metrics
CloudWatch Events
CloudWatch Logs Agent
CloudWatch Logs Insight
CloudWatch Logs Metric Filter
CloudWatch Logs Subscription
CloudWatch Logs
CloudWatch Metrics
CloudWatch Unified Agent
CloudWatch
EventBridge Schema Registry
EventBridge
X-Ray & ECS
X-Ray & Elastic Beanstalk
X-Ray Read & Write Apis
X-Ray Sampling
X-Ray
Others
AWS Amazon Certificate Manager (Acm)
AWS CloudMap
AWS Databases Summary
AWS DataSync
AWS Fault Injection Simulator (Fis)
AWS SES
Exponential Backoff & Service Limits Increase
Exponential Backoff (Any AWS Service)
S3
Athena
S3 Bucket Key
S3 Encryption Advance
SSE-C
Strong Consistency Model
VPC
3 Tier Solution Architecture
NACL, SG, VPC Flow Logs
VPC Peering, Endpoints, VPN, DX
VPC, Subnets, IGW, And NAT
Exam Summary
Notes
README
Azure
App Service
Application Insights
ARM (Azure Resource Manager)
ASG (Application Security Group)
Computer Vision
Container Registry
Content Moderator
Endpoint
Function App
IFX (Instrumental Framework)
Key Vault
Logic App
MA (Geneva Monitoring Agent)
MDM (Multi-Dimensional Metrics)
MDS (Monitoring & Diagnostics Service)
Network Interface
NSG (Network Security Group)
Resource Group
SFMC (Service Fabric Managed Cluster)
SQL Database
SQL Server
Storage Account
Virtual Machine
Virtual Network
Container
Docker
Creating A New Network Bridge
Default Bridge Network
Docker Default Gateway
How Docker Works
Mac Docker Limitation
Data Structure
Circular Buffer
Circular Buffer
CleanCode
Summary
GeoHash
Quad Tree
Graph
Adjacency List
Directed Acyclic Graph
Undirected Cyclic Graph
Vertex
HashMap
Chaining (Hash Collision)
Hash Collision
HashMap
Load Factor And Resize
Open Addressing (Hash Collision)
Probing Sequence
Heap
Heap Implementation
Heap Python
Heap Theory
Probabilistic Datastructure
Bloom Filter
Count-min Sketch (Cms)
Skip List
Queue
Primary Queue
Stack
Monotonic Stack
Ways To Sort A Hash Map
Database
ACID (Consistency)
ACID (Isolation)
ACID
B Tree And B+ Tree
BASE
Cassandra
Clustered Index Vs Non-Clustered Index
Database Denormalisation
Database Index (Secondary Key)
Database Race Condition
Database Scaling
Database Sharding
Database Transaction
DocumentDB And MongoDB
Graph Database
LSM Tree (Log Structured Merge Tree)
LSM Tree Vs B Tree
NoSQL
Partition Key Vs Primary Key Vs Sort Key Vs Clustering Key
Range Lock
RDS Proxy
Read Lock
SQL Vs NoSQL
SQL
WAL (Write A-head Logging)
Write Lock
Hardware
Blocking IO Vs Non-blocking IO
DWDM (Dense Wavelength Division Multiplexing)
How Fiber Optics Work
Kubernetes
Api Server
Container Runtime
Controller Manager
Etcd
K8s (Kubernetes)
K8s Cluster
K8S Control Plane
Kube-Proxy
Kubelet
Node
Pod
Scheduler
Lesson Learned
JPA Saveandflush() Doesn'T Reflect Immediately In Database
Kafka Live Lock
SQS Event Duplication When Autoscale
Linux
Namespace
Netlink
Networking
Cisco
Adding IP Address For An Interface
Assign IP To VLANS
Cisco Switch Type
L3 Switch Configure Switch To Run As L2 Or L3
GNS3 Practice
DHCP And Switch
Network Design
Campus LAN
Datacenter Desgin
SOHO (Small Office, Home Office)
Tier 2 Design (Collapsed Core)
Tier 3 Design
WAN (Wide Area Network)
OSI Layers
Header Vs Trailer
OSI Layers
Physical Layer
P4
BMv2
P4
Protocol
2. Data Link Layer Protocol
Data Link Layer
LLDP (Link Layer Discovery Protocol)
PPP (Point-To-Point Protocol)
3. Network Layer Protocol
ARP (Address Resolution Protocol)
ICMP (Internet Control Message Protocol)
IP (Internet Protocol)
IPv4 Address
IPv6 Address
IRDP (Icmp Router Discovery Protocol)
NAT (Network Address Translation)
Network Layer
IPSec protocols
AH (Authentication Header Protocol)
ESP (Encapsulating Security Payload)
IKE (Internet Key Exchange)
IPSec Protocols
4. Transport Layer Protocol
BGP (Border Gateway Protocol)
Networking Commands
QUIC
TCP (Transmission Control Protocol)
Transport Layer
UDP (User Diagram Protocol)
5. Session Layer Protocol
NFS (Network File System Protocol)
PAP (Password Authentication Protocol)
PPTP (Point-To-Point Tuneling)
Session Layer
6. Presentation Layer Protocol
Presentation Layer
SSL (Secure Sockets Layer)
TLS (Transport Layer Security)
7. Application Layer protocol
Application Layer
DHCP (Dynamic Host Configuration Protocol)
DNS (Domain Name System) Protocol
FTP (File Transfer Protocol)
HTTP (Hyptertext Transfer Protocol)
HTTP 1.1
HTTP 1
HTTP 2
HTTP 3
HTTPS (Hypertext Transfer Protocol Secure)
IMAP (Internet Message Access Protocol)
Network Time Protocol (Ntp)
POP (Post Office Protocol)
SFTP (Secure File Transfer Protocol)
SMTP (Simple Mail Protocol)
SNMP (Simple Network Management Protocol)
SSH (Secure Shell Protocol)
SONiC
DASH (Disaggregated API For SONiC Hosts)
SONiC (Software For Open Networking In The Cloud)
Wireless
AP (Access Point)
BSS (Basic Service Set)
EAP (Extensible Authentication Protocol)
Wireless Security
Wireless
WLC (Wireless Lan Controller)
WPA (Wifi Protected Access)
(Lag) Link Aggregation
802.1Q
ACL (Access Control Lists)
AD (Administrative Distance)
Anycast Address
Anycasting
ARP Table
AS (Autonomous System)
AS Path
Autonegotation
Backplane
BPDU (Bridge Protocol Data Units)
Broadcast Address
Broadcast Storm
Broadcast
Browser To Web Process
CDP (Cisco Discovery Protocol)
Chassis Switch (Modular Switch)
CNAME Vs ARecord
Console Connection
Contention Based
Control Plane
CRC (Cyclic Redundancy Check)
Cross-stack EtherChannel
Default Gateway
Drop Counter
DTP (Dynamic Trunking Protocol)
Ebgp (External Border Gateway Protocol)
Ebgp Route
EOS (Ethernet Operating System)
Ethernet Auto-Negotiation
EUI-64 (Extended Unique Identifier 64)
Extranet, Intranet Vs Internet
FIB (Forwarding Information Base)
Firewall
Flapping
Flood
Forward Proxy
Frame Check Sequence (Fcs)
FRR (Free Range Routing)
Gateway Address
Gateway
Gnmi
Gratuitous ARP
Hop
How Two Node Communicate To Eachother
Ibgp (Interior Border Gateway Protocol)
Ibgp Route
Inter-VLAN Routing
ISL (Inter Switch Link)
LACP (Link Aggregation Control Protocol)
LAN (Local Area Network)
Line Card
Link Local IP
Link
Mac Address Instability
Mdns (Multicast DNS)
MEC (Multichassis Etherchannel)
MIB (Management Information Base)
Modem Vs Router Vs Gateway Vs Switch Vs Hub
Modem
MTU (Maximum Transmission Unit)
Multicast Address
Multicasting
Multiplexing
NDP (Neighbor Discovery Protocol)
NETCONF
Network Address
Network Bridge
Network Gateway
Network Hub
Network Interface
Network Link
Network Node
Network Planes
Network Port
Network Prefix
Network Propagation Delay
Network Switch
Network Topology
Networking
Next Hop Resolution
NIC (Network Interface Card)
NLRI (Network Layer Reachibility Information)
Northbound Interface
NOS (Network Operating System)
Out Of Band Circuits (Oob)
Packet Test Framework (Ptf)
Packet
PAgP (Port Aggregation Protocol)
Parallel Detection
PAT (Port Address Translation)
PFC (Priority Flow Control)
Plane
Proxy ARP
PSTN (Public Switch Telephone Network)
PVST (Per VLAN Spanning Tree)
PVST+ (Per-Vlan Spanning Tree Plus)
QoS (Quality Of Service)
RESTCONF
Reverse ARP
Reverse Proxy
RFC (Request For Command)
Router Discovery
Router On A Stick
Router
Routing Table
RSTP (Rapid Spanning Tree Protocol)
SAI (Switch Abstraction Interface)
SDN (Software-Defined Networking)
SLAAC (Stateless Address Autoconfiguration)
Southbound Interface
Storm
STP (Spanning Tree Protocol)
Subnet Mask
Subnet Vs VLAN
Subnet
Subnetting
Supervisor Card
SVI (Switch Virtual Interface)
SWAN (Software Driven Wide Area Network)
Switch Address Learning
Switching Loop
TACACS (Terminal Access Controller Access-Control System)
TCP-IP Reference Layers
Transmission Mode
Type Of Networks
Unicast
Untitled
Virtual Switch (Vswitch)
VLAN (Virtual Local Area Network)
Vlan Tagging
Vlan Trunking
VLSM (Variable Length Subnet Mask)
Vpc (Virtual Port Channel)
VPN (Virtual Private Network)
VSS
VTP (Vlan Trunking Protocol)
VTP Password
VTP Prunning
VTY (Virtual Teletype)
Why Device Need A Default Route
Why Enterprise Need Proxy
YANG
Operating System
Disk Vs Device
High Memory Address
Kernel Space
Low Memory Address
MMU (Memory Management Unit)
Physical Memory
Program Structure In Memory
Stack Vs Heap
User Space
Virtual Memory
Programming
Ansible
Adhoc Command
Ansible Encryption Decryption
Ansible Variables
Ansible-Doc
Ansible.Cfg
Background Task Execution
Control Node
Get Priveledge
Inventory
Main Components
Managed Node
Parallelism
Play
Playbook
Tasks
Variables
module
Setup
Structure
Folder Structure
Play
Playbook
Role
Tasks
Bash
GDB (Gnu Project Debugger)
Gzip
LLDB (Low Level Debugger)
Make
C
Argc Vs Argv
Char
Const Keyword
Header File
How Variable Work In C
Include
Lvalue
Macro
Object File
Printf Format Type
Puts Vs Fputs
Rvalue
Signed Vs Unsigned
String In C
Array
2D Array
Array Arithmetic
Array Declaring
Array Initialiser
Array Supscripting
Copy An Array
Pass Array To Function
Retrieve Array Length
Pointer
Pointer And Array
Pointer Arithmetic
Pointer Subscripting
Pointer Variable
Void Pointer
String
A More Optimal Way Of Looping Through String
Copy A String
Remember To Malloc When Return A String
String In C
Struct
Struct Example
Struct
Typedef Struct
Design Patterns
Abstract Factory Pattern
Adapter Pattern
Builder Pattern
Facade Pattern
Factory Pattern
Iterator Pattern
Observer Pattern
Repository Pattern
Singleton Pattern
Strategy Pattern
GraphQL
Aliases
Arguments
Directives
Entry Point
Fields
Fragments
Mutation
Query
Resolver
Schema
Summary
Variables
Java
DelayQueue
VersionControlSystem
AOP
AspectJ
Concepts
== Vs Equals()
Abstract
ArrayDeque Vs Linkedlist
Checked Exception Vs Unchecked Exception
Checked Exception
Comparator Chaining
Comparator Vs Comparable
Composition Vs Aggregation
Constructor
DAO
Domain
DTO
Field Initialisation Vs Constructor Initialisation
Final
HashCode
Jar
Java SPI Vs @Autoservice
JavaBean
Javax AbstractProcessor
Misc
POJO
Serialisation
Servelet
Static
Thread State
Type Parameter
Unchecked Exception
Volatile
Wildcard
Gradle
Implementation Vs Api
Publish Maven Local
JPA
Flush() Vs Commit()
Generate Primary Key
Save() Vs Saveandflush()
JVM
JVM Stack And Heaps
Manifest File
Object Expiration
RMI (Remote Method Invocation)
Logging
Slf4j Vs JUL Vs Logback Vs Log4j
Slf4j
Multithreading
CAS Pattern
CAS Vs Synchronisation
Common Pool
Compare And Swap (Cas)
Consumer Producer Implementation
Notify And Wait
Process Vs Thread Vs Coroutine
Processor Thread Scheduler
Virtual Thread
Concurrency Collection
ArrayBlockingQueue
Atomic Operation
Concurrency Package And Synchronisation
ConcurrentHashMap Vs HashTable
ConcurrentSkipListMap
CopyOnWriteArrayList
CountDownLatch
CyclicBarrier
ForkJoinPool
Future And Callable
Future
Java Scheduler
LinkedBlockingQueue
Mutex Vs Semaphore
Synchronised Collections Vs CopyOnWriteArray
SynchronousQueue
TransferQueue Vs SynchronousQueue
TransferQueue
Reactive Programming
ReactiveStream API
Reactive Stream
Reactor Core
Adapt From-To Other Classes
Blocking To Flux
Concat Vs Merge
Error Handling
Flux Vs Stream
Flux
Logging
Mono
Multithread
Never Vs Empty
Publisher And Subscriber
Reactor Framework
Reactor Map Vs Flatmap
StepVerifier
Subscribeon Vs Publishon
Zip
RxJava
Flowable
Main Concept
Processor
Publisher (Observable)
Single
Subscriber (Observer)
Subscription
Thread based programming
Instinct Lock
Synchronisation
Thread
Spring
Annotation @Autoconfiguration
Annotation @Autowired
Annotation @Configurationproperty
Annotation @Import
Annotation @Profile
Annotation @Springbootapplication
Annotation @Value
Async
Dependency Management
Environment Variable
Everything About Dependency Injection
Export To Jar
Full @Configuration Vs Lite Bean
Gradle
Lazy Initialise
Naming Convention For Test Packages
Spring Context
Spring External Configuration
Spring Property File
Spring Property Profile
Spring Scheduler
Starters
Why Avoid @Autowired Field Injection
API
API Exception Handler
Path Variable
RequestBody
ResponseBody
ResponseEntity
RestController
Transactional
Events
Default Events
Redis
Redis With SpringBoot
SpringBatch
Chunk Size Vs Page Size
Transaction
SpringBoot
SpringBoot With Redis
Stream
Intermediate Operation
Terminal Operation
Javascript
How Async Await Works
Javascript Is Single Thread
WebAPI
When Not To Use Async Await
Micro Frontends
Micro Frontends
React
Hydration
React Context
Suspense
Serverside Rendering
Server Component
Serverside Rendering (Ssr)
Service Worker
Offline Cache Implementation
Service Worker
Testing
Jest
Transpilers
BalbelJS
BrowserifyJS
SystemJS
Transpilers Code
Webpack
Module API Standard
AMD (Asynchronous Module Definition)
CommonJS (Cjs)
CommonJS Vs ESM Vs AMD Vs UMD
ECMAScript Module (Esm)
RequireJS
UMD
WebRTC
ICE Trickling
WebRTC Quick Start
Kafka
ClientID, Consumer Group ID And Consumer ID
Consumer Group Vs Partition
Kafka Broker Leader
Kafka Broker Replica
Kafka Brokers
Kafka Cluster
Kafka Connect
Kafka Consumer Group
Kafka Delivery Model
Kafka Events (Message, Record)
Kafka Offset
Kafka Partition
Kafka Redundancy
Kafka Stream
Kafka Topic
Kafka
Why Kafka
Spring Kafka
Kafka Exception Handling (Retry)
Spring Kafka Quick Start
Listeners
Concurrency Attribute
Listening To Message
Producers
Partition Strategy
Producing Message
Python
Asyncio
Counter
Custom Comparator For Sort
Custom Decorator
Dataclasses
Defaultdict
Deque
Generator
GIL
Heapq
Kwargs Vs Args
Python Caching
Python Gotcha
Python Module
Python
Slicing
Unpacking
pytest
Class Test
Collect
Conftest
Fixture
Function Test
Mark
Overview
Parameterised Test
Redis
Sorted Set
Typescript
Decorator
Security
Digital Signatures
Firewall Vs Intrusion Prevention System
Symmetric Vs Asymmetric Encryption
System Designs
Software migration pattern
Strangler Fig
System Design Pattern
CQRS (Command Query Responsibility Segregation)
Event Sourcing
Leader Election
Pubsub
System Design Template
Chat System
Design Google Drive
Design Youtube
Frequency Count (Top K Hitters)
Kubernetes
Message Queue
New Feed System
Notification System
Offline Synchronisation
Search System
Websocket Architecture
Cache Improvement
Cache Scaling
LRU Cache System
Database Improvement
Database Connection
Database Sharding NoSQL
Database Sharding SQL
Request Coalescing
File upload
Service Upload To Blob Storage
User Uploads To Blob Storage
Job Scheduler
DAG Scheduler Pattern
DAG Scheduler
Resource Manager
Web crawler
Web Crawler Frontier
Web Crawler
Transaction Management
Saga Architecture Pattern
Saga Vs TCC Vs 2Pc
TCC - Try Confirm Cancel
Three Phase Commit
Two Phase Commit
Apache Flink Vs Spark Vs Kafka Stream
Block Storage Vs File Storage Vs Object Storage
Caching
Chef And Puppet
Compression Algorithm
Data Streaming Architecture
Design REST API
ECS OR EKS
ElasticSearch
Erasure Coding
How Discord Scale
Important HTTP Status Code
Kinesis Or Kafka
Kubernetes
Live Stream Video Architect
Load Balancing Algorithm
Map-Reduce
Message Queue Vs Streaming
Multiple Database Vs Multiple Table
Optimisation
Optimistic Locking
Pessimistic Locking
Pick A DB
Push Vs Pull
PUT POST PATCH DELETE GET
Read Replica Pattern
Redis Vs Memcache
Streaming Vs Message Queue
Super Disk
System Design Interview
The Right Way To UPLOAD A File Using REST
X-Www-Form-Urlencoded Vs Form-Data
Terms
ABI (Application Binary Interface)
Access Token
Active Directory
All-to-all Multicasting
Anti Entropy
API (Application Program Interface)
Apple Push Notification Service (Apns)
ASIC
Authentication
Authorisation
BackPressure
Base62
CAP Theorem
CDN
Chaos Engineering
Clang
Clock Drift
Consensus
Cookies
Coroutine
CSRF (Cross Site Request Forgery Attack)
DDoS
Event Queue
FIFO
Firebase Cloud Messaging (Fcm)
GCC
GNU (Gnu'S Not Unix)
Goroutine
Gossip Protocol
GraphQL
Grpc
Hadoop
Hateous
Hexadecimal
Hinted Handoff
Horizontal Scaling
Idempotent
IndexDB
IO Multiplexing
Javascript Cache
JWT
LIFO
Linux
LLVM (Low Level Virtual Machine)
Local Storage
Makefile
Master Database
Merkle Tree
Mutli-part Content-Type
NewSQL
Observable
Observer Pattern
Observer
OLAP
OLTP
PACELC Theorem
Percentile
Polyfill
Protocol Buffer
Python Wheels
QPS (Query Per Second)
Quorum
Race Condition
Raft
RAID 0
RAID 1
Refresh Token
Request Coalescing
RPC
Session Storage
Slave Database
Sloppy Quorum
SOLID
Spoke And Hub Model
SSTable
Stateful Web Architecture
Stateless Web Architecture
Sticky Session
Test Bed
Transpilers
Unix
Vector Clock
Vertical Scaling
Work Stealing
Zookeeper
The Pragmatic Programmer
0. Preface
1. Pragmatic Philosophy
On this page
DASH (Disaggregated API For SONiC Hosts)
DASH extends
SONiC (Software for Open Networking in the Cloud)
to support other edge devices
← SSH (Secure Shell Protocol)
SONiC (Software For Open Networking In The Cloud) →