System Design - tarunchhabra/parakalo GitHub Wiki
System Design
RoadMap - https://whimsical.com/system-design-roadmap-31C9vnRRATGW5Q95Krdciu https://www.youtube.com/watch?v=CC2euo2Ez3Y
Approach - https://www.youtube.com/watch?v=i7twT3x5yv8&t=469s
Basic concepts - https://www.youtube.com/watch?v=i53Gi_K3o7I https://www.youtube.com/watch?v=l3X1t3kpmwY https://www.youtube.com/watch?v=l3X1t3kpmwY
https://blog.tryexponent.com/what-is-system-design-in-technical-program-management/
How to know what Interviewer is asking and what to do in case you don't know solution for that problem
https://www.youtube.com/watch?v=ks5l5hmlYm4
Internet basics - Web Hosting, DNS, URL, User/Mobile request to Internet
DNS - https://aws.amazon.com/route53/what-is-dns/
Protocols - IP, TCP, UDP, HTTP/HTTPS 1,2,3, SSL/TLS, gRPC
https://www.youtube.com/watch?v=ldqG7Qvo3Lg
TCP vs UDP : https://www.baeldung.com/udp-in-java
DNS uses both TCP UDP - https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/dns-works-on-tcp-and-udp#:~:text=DNS%20uses%20TCP%20for%20Zone,information%20larger%20than%20512%20bytes.
https://www.ibm.com/docs/en/zos/2.2.0?topic=internets-tcpip-tcp-udp-ip-protocols
https://www.geeksforgeeks.org/differences-between-tcp-and-udp/
HTTPS : https://www.cloudflare.com/en-in/learning/ssl/what-is-https/
How does the INTERNET work?
https://www.youtube.com/watch?v=Kb6qPHAxURU
WebSockets, HTTP Long Polling, HTTP streaming, Server Sent Events
https://www.youtube.com/watch?v=k56H0DHqu5Y
https://www.youtube.com/watch?v=6RvlKYgRFYQ
Distributed Systems - Redis, Cassandra, MongoDB, Kafka
https://www.baeldung.com/cs/distributed-systems-guide
System design main concepts
https://www.freecodecamp.org/news/systems-design-for-interviews/
CAP theorem
https://blog.tryexponent.com/cap-theorem/
https://www.ibm.com/cloud/learn/cap-theorem
Web server and Application Server
https://www.nginx.com/resources/glossary/application-server-vs-web-server/
https://www.educative.io/edpresso/web-server-vs-application-server
https://www.ibm.com/cloud/learn/web-server-vs-application-server
Load-balancing
https://www.youtube.com/watch?v=1ALgz-q8FMA
https://www.nginx.com/resources/glossary/load-balancing/
https://www.nginx.com/blog/global-load-balancing-amazon-route-53-nginx-plus/
Active-Active and Active-Passive - https://www.youtube.com/watch?v=d-Bfi5qywFo
Reverse Proxy
https://www.youtube.com/watch?v=AuINJdBPf8I
https://www.youtube.com/watch?v=4NB0NDtOwIQ
Scalability
https://www.youtube.com/watch?v=EWS_CIxttVw
Consistent Hashing
https://www.youtube.com/watch?v=tHEyzVbl4bg
https://www.freecodecamp.org/news/systems-design-for-interviews/#section-7-consistent-hashing
https://learning.oreilly.com/videos/distributed-systems-in/9781491924914/9781491924914-video215269/
https://www.youtube.com/watch?v=zaRkONvyGr8&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX&index=5
Consistent Hashing and solving the problem of load balancing with consistent hashing
API Gateway
https://www.youtube.com/watch?v=TYw-lzL3-Kc
https://www.youtube.com/watch?v=1vjOv_f9L8I
Databases
https://blog.tryexponent.com/sql-vs-nosql/
https://neo4j.com/blog/aggregate-stores-tour/
https://neo4j.com/blog/why-graph-data-relationships-matter
https://www.youtube.com/watch?v=cODCpXtPHbQ&list=PLhgw50vUymycJPN6ZbGTpVKAJ0cL4OEH3&index=2
https://www.youtube.com/watch?v=5EnEELn4IL4&list=PLf1ixTn00SJZF0ojUcYEacuxXm-W-Wvwr
https://igotanoffer.com/blogs/tech/databases-system-design-interview
Database Indexing - https://www.youtube.com/watch?v=Jemuod4wKWo
SQL DB - https://www.youtube.com/watch?v=Le74ewlajxg
No SQL DB - https://www.youtube.com/watch?v=mTNkqMDCasI
Database Scaling -
https://www.youtube.com/watch?v=dkhOZOmV7Fo
Database Replication
https://www.youtube.com/watch?v=5u7QGpsceuE
Read after write inconsistency
https://avikdas.com/2020/04/13/scalability-concepts-read-after-write-consistency.html
Sharding
GS - https://www.youtube.com/watch?v=5faMjKuB9bc
https://igotanoffer.com/blogs/tech/sharding-system-design-interview
https://blog.tryexponent.com/what-is-system-design-in-technical-program-management/
https://www.freecodecamp.org/news/systems-design-for-interviews/#section-8-databases
https://www.youtube.com/watch?v=5faMjKuB9bc&list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX&index=8
Sharding in Oracle - https://www.youtube.com/watch?v=9sXYEM5s15A
https://aws.amazon.com/blogs/database/sharding-with-amazon-relational-database-service/
Database scaling strategies
https://www.youtube.com/watch?v=_1IKwnbscQU
Database Performance
https://www.y## outube.com/watch?v=UT_TVldzA64
Write Ahead logging for Durability and Reliability in Databases
Caching
https://www.youtube.com/watch?v=dGAgxozNWFE
basic - https://hazelcast.com/glossary/memory-caching/
https://aws.amazon.com/caching/
IMDG - https://hazelcast.com/glossary/in-memory-data-grid/
https://hazelcast.com/blog/architectural-patterns-for-caching-microservices/
https://reflectoring.io/spring-boot-hazelcast/
Caching Patterns- https://hazelcast.com/blog/a-hitchhikers-guide-to-caching-patterns/
Caching Creation Patterns - https://hazelcast.com/blog/architectural-patterns-for-caching-microservices/
Cache Access eviction strategies - Read Hazelcast PDF - LRU, LFU
https://www.youtube.com/watch?v=U3RkDLtS7uY
https://www.youtube.com/watch?v=wh98s0XhMmQ
Cache writes: https://www.youtube.com/watch?v=ULgXBImWVWQ
Security - SAML, OpenId, OAuth2.0
https://aws.amazon.com/identity/saml/
Big Data Processing
https://aws.amazon.com/big-data/what-is-spark/
Video Processing and Adding Ad in Video
Messaging - Kafka, RabbitMQ, SNS, SQS, ActiveMQ
https://www.youtube.com/watch?v=4R5PF-UbJBs
RabbitMQ- https://www.youtube.com/watch?v=7rkeORD4jSw
Pub-Sub - https://www.youtube.com/watch?v=FMhbR_kQeHw
Change Data Capture
https://cloud.google.com/blog/products/databases/new-cloud-based-cdc-replication-across-databases
https://www.striim.com/change-data-capture-cdc-what-it-is-and-how-it-works/
API
PUT vs PATCH
https://www.baeldung.com/http-put-patch-difference-spring
Observability
Observability vs. APM vs. Monitoring - https://www.youtube.com/watch?v=CAQ_a2-9UOI
APM - https://www.youtube.com/watch?v=QNaeegRFCzc
Prometheus Monitoring works - https://www.youtube.com/watch?v=h4Sl21AKiDg
Prometheus - https://www.infoq.com/articles/prometheus-monitor-applications-at-scale/
SRE
Google SRE - https://www.youtube.com/watch?v=uTEL8Ff1Zvk&list=PLIivdWyY5sqJrKl7D2u-gmis8h9K66qoj
Options for orchestrating periodic tasks
https://lethain.com/orchestrating-periodic-tasks/
Rate Limiting
https://aws.amazon.com/builders-library/timeouts-retries-and-backoff-with-jitter/
https://www.baeldung.com/spring-bucket4j
https://www.baeldung.com/spring-retry
https://spring.io/blog/2021/04/05/api-rate-limiting-with-spring-cloud-gateway
https://reflectoring.io/retry-with-resilience4j/
https://reflectoring.io/rate-limiting-with-springboot-resilience4j/
Exponential Backoff
https://www.baeldung.com/spring-webflux-backpressure
BackPressureOperational Aspects
Reliability - https://www.atlassian.com/incident-management/kpis/reliability-vs-availability
DDD - Domain Driven Design
https://www.youtube.com/watch?v=ZZp9RQEGeqQ
- Ubiquitous language within a bounded context.
- Tactical patterns - Aggregates
FrontEnd
Micro frontEnds
SSR - server side rendering
https://www.frontendinterviewhandbook.com/front-end-system-design https://www.frontendinterviewhandbook.com/front-end-system-design/ui-components/
https://aws.amazon.com/what-is/application-performance-monitoring/
Observability & APM -https://stackify.com/application-performance-metrics/
Full stack observability - https://www.youtube.com/watch?v=Ga5AvnVDnkw
Latency metrics - https://www.youtube.com/watch?v=lJ4NEMNBeS4 https://www.youtube.com/watch?v=BrzhaXSEWy8&t=205s https://www.youtube.com/watch?v=3JdQOExKtUY