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

      • Common Table Expression (Cte)
      • COUNT
      • Database Indexing
      • Filtering Data
      • Group Data
      • Join Tables
      • Modifying Data
      • Postgres
      • Query Data
    • 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

      Gotcha

      • Python Gotcha
      • Keep track of global variable in recursion
      • Default variable gotcha
      ← Default Variable Gotcha
      Happy Condition First Before Failure →