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
Group Anagram
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
Find Minimum In Rotated Sorted Array
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
Priority Queue
Stack
Monotonic Stack
Ways To Sort A Hash Map
Database
postgres
COUNT
Filtering Data
Group Data
Join Tables
Postgres
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
On this page
AWS Lambda & CloudWatch Events (Eventbridge)
We can create CRON or Rate
EventBridge
rule that trigger Lambda every hour.
Or create a
CodePipeline
EventBridge rule that trigger on state changed.
← AWS Cognito
AWS Lambda →