Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/arpit20adlakha/Data-Structure-Algorithms-LLD-HLD

A Data Structure Algorithms Low Level Design and High Level Design collection of resources.
https://github.com/arpit20adlakha/Data-Structure-Algorithms-LLD-HLD

algorithm data-structures interview interview-questions leetcode

Last synced: about 2 months ago
JSON representation

A Data Structure Algorithms Low Level Design and High Level Design collection of resources.

Awesome Lists containing this project

README

        

# Data-Structure-Algorithms-LLD-HLD

## Data Structure Resources
### Theory with Practice Problems
#### For Readers
1. Competitive Programming (DS and Algo) Topcoder [Algo-Ds-List](https://cp-algorithms.com/)
2. CodeForces Blogs [List](https://technicalbattle.blogspot.com/2020/05/best-blogs-on-codeforces-links-for-best.html)
3. HackerEarth Tutorials [List](https://www.hackerearth.com/practice/algorithms/searching/linear-search/tutorial/)
4. TopCoder [DP Article](https://www.topcoder.com/thrive/articles/Dynamic%20Programming:%20From%20Novice%20to%20Advanced)
5. InterviewBit [Programming Path](https://www.interviewbit.com/courses/programming/)
6. [GeekForGeeks Algo](https://www.geeksforgeeks.org/fundamentals-of-algorithms/?ref=shm)
7. [GeekForGeeks DS](https://www.geeksforgeeks.org/data-structures/?ref=shm)
8. [List of Interview Questions based on Company](https://github.com/twowaits/SDE-Interview-Questions)
9. [List of FAANG Questions seperated by Company](https://github.com/neerazz/FAANG)
10. [Dynamic Programming Patterns Leetcode](https://leetcode.com/discuss/study-guide/458695/Dynamic-Programming-Patterns)
11. [Dynamic Programming Pattern LeetCode for Beginners](https://leetcode.com/discuss/general-discussion/662866/DP-for-Beginners-Problems-or-Patterns-or-Sample-Solutions)
12. [Dynamic Programming Categorisation](https://leetcode.com/discuss/study-guide/1000929/Solved-all-dynamic-programming-(dp)-problems-in-7-months.)
13. [Bit Manipulation All Tricks](https://leetcode.com/discuss/study-guide/1151183/TIPS-or-HACKS-WHICH-YOU-CAN'T-IGNORE-AS-A-CODER)
14. [Binary Search All Patterns LeetCode](https://leetcode.com/discuss/study-guide/786126/Python-Powerful-Ultimate-Binary-Search-Template.-Solved-many-problems)
15. [Sliding Window Pattern LeetCode](https://leetcode.com/discuss/general-discussion/657507/Sliding-Window-for-Beginners-Problems-or-Template-or-Sample-Solutions)
16. [Graph Pattern LeetCode](https://leetcode.com/discuss/general-discussion/657507/Sliding-Window-for-Beginners-Problems-or-Template-or-Sample-Solutions)
17. [Cloning Problems LeetCode](https://leetcode.com/problems/copy-list-with-random-pointer/discuss/1843061/Generalised-Solution-for-All-Clone-Related-Problems)
18. [DS Algo Leetcode guide](https://leetcode.com/discuss/study-guide/494279/Comprehensive-Data-Structure-and-Algorithm-Study-Guide)
19. [Cp Algorithms site](http://cp-algorithms.com/)
20. [Tech Interview Guide](http://adilet.org/blog/your-ultimate-guide-to-interview-preparation/)
21. [LeetCode DS Algo Guide](https://leetcode.com/discuss/study-guide/494279/Comprehensive-Data-Structure-and-Algorithm-Study-Guide)
22. [Github Repo Top University Courses Compilation](https://github.com/prakhar1989/awesome-courses#programming-languages--compilers)
23. [Dp Patterns LeetCode Article](https://leetcode.com/discuss/study-guide/1433252/Dynamic-Programming-Patterns)

#### For Video Enthusiasts
1. [FreeCodeCamp DSA](https://www.youtube.com/watch?v=RBSGKlAvoiM&t=1744s)
2. [MIT Course on ALGO](https://www.youtube.com/playlist?list=PLUl4u3cNGP61Oq3tWYp6V_F-5jb5L2iHb)
3. [Abdul Bari](https://www.youtube.com/channel/UCZCFT11CWBi3MHNlGf019nw)
4. [William Fiset](https://www.youtube.com/playlist?list=PLDV1Zeh2NRsB6SWUrDFW2RmDotAfPbeHu)

### Places to Find Interview Experiences
1. [GeeksForGeeks Interview Experience grouped by Company](https://www.geeksforgeeks.org/company-interview-corner/?ref=ghm)
2. [LeetCode Interview Discussion Section](https://leetcode.com/discuss/interview-question?currentPage=1&orderBy=hot&query=)

#### Compensation Related Information
1. [LeetCode Compensation Section](https://leetcode.com/discuss/compensation?currentPage=1&orderBy=hot&query=)
2. [Levels.fyi](https://www.levels.fyi/?compare=Google,Facebook,Microsoft&track=Software%20Engineer)
3. [LinkedIn Salaries](https://www.linkedin.com/salary/search?countryCode=in&geoId=102713980&keywords=software%20engineer)
4. [GlassDoor Reviews and Salaries](https://www.glassdoor.co.in/Reviews/index.htm)
5. [Blind](https://www.teamblind.com/company/Amazon/posts)

### Solving Practice Problems
1. [CodeChef](https://www.codechef.com/)
2. [GeeksForGeeks Practice](https://practice.geeksforgeeks.org/topic-tags/?ref=shm)
3. [Leetcode](https://leetcode.com/)
4. [Hacker Rank](https://www.hackerrank.com/)
4. [Hacker Earth](https://www.hackerearth.com/)

### Low Level Design
1. [Work@Tech](https://workat.tech/practice)
2. [Github Repo](https://github.com/prasadgujar/low-level-design-primer)
3. [Design Patterns For Low Level Design](https://github.com/iluwatar/java-design-patterns)
4. [Low Level Primer](https://github.com/prasadgujar/low-level-design-primer)
5. [Design Patterns Simplified](https://github.com/kamranahmedse/design-patterns-for-humans)
6. [Video Tutorials](https://www.youtube.com/channel/UClsDOM_9oudXbaXK85wWAOQ)
7. [LLD Coding](https://lldcoding.com) - 50+ LLD Questions with Solutions

### Low Level Design Questions and Solution
1. [Snake and Ladder](https://github.com/championswimmer/low-level-design-problem/tree/main/solutions/java/03-snakeladder)
2. [Wordle](https://github.com/championswimmer/low-level-design-problem/tree/main/solutions/java/02-wordle)
3. [BattleShip](https://github.com/arpit20adlakha/BattleShip)
4. [Logger](https://github.com/arpit20adlakha/Logger-LLD)
5. [LLD Caching](https://github.com/anomaly2104/cache-low-level-system-design)
6. [Ticket Booking System](https://github.com/anomaly2104/ticket-booking-low-level-system-design)
7. [Cab Booking System](https://github.com/anomaly2104/lld-cab-booking-ola-uber-grab-lyft)
8. [Car Rental](https://github.com/gopalbala/carrental)
9. [Distributed Id generation](https://github.com/gopalbala/distributed-idgen)

### High Level System Design
#### For Readers
1. [Donne Martin System Design](https://github.com/donnemartin/system-design-primer)
2. [High Scalability Website](http://highscalability.squarespace.com/blog/category/example)
3. [System Design Collection of Concepts](https://sites.google.com/site/includemak/system-design)
4. [System Design Architecture Diagrams](https://github.com/codekarle/system-design/tree/master/system-design-prep-material/architecture-diagrams)
5. [Work@tech Collection of Tech Blogs](https://workat.tech/system-design/article/best-engineering-blogs-articles-videos-system-design-tvwa05b8bzzr)
6. [System Design Collection of Concepts](https://medium.com/system-design-blog)
7. [Azure architecture center](https://docs.microsoft.com/en-us/azure/architecture/guide/)
8. [System design questions collection](https://github.com/relogX/system-design-questions)
9. [System Design Best Papers and Talks](https://github.com/InterviewReady/system-design-resources)
10. [Company and Individual Blogs](https://github.com/kilimchoi/engineering-blogs)
11. [Just Another Collection](https://tianpan.co/notes/2016-02-13-crack-the-system-design-interview)
12. [Martin Fowler](https://martinfowler.com/articles/patterns-of-distributed-systems/)
13. [Baisc Concepts Nicely Explained](https://www.linkedin.com/newsletters/distributed-systems-made-easy-6937319059256397824/)
14. [AWS System Design Concepts Compilation](https://aws.amazon.com/builders-library/)
15. [Byte Sized System Design by Alex Xu](https://github.com/ByteByteGoHq/system-design-101)
16. [System Design Collection of Questions By Difficulty](https://github.com/ashishps1/awesome-system-design-resources)
17. [System Design Chapter Wise](https://github.com/karanpratapsingh/system-design)
18. [Awesome Design Patterns](https://github.com/DovAmir/awesome-design-patterns)
19. [System Design Questions/Concepts Categorised with real world case studies](https://github.com/binhnguyennus/awesome-scalability)

#### For Video Enthusiasts
1. [Gaurav Sen](https://www.youtube.com/playlist?list=PLMCXHnjXnTnvo6alSjVkgxV-VH6EPyvoX)
2. [Code Karle](https://www.codekarle.com/)
3. [InfoQ](https://www.youtube.com/nctv/videos)
4. [Backend Engineering 101](https://www.youtube.com/c/HusseinNasser-software-engineering)
5. [Alex Xu Byte Byte Go](https://www.youtube.com/channel/UCZgt6AzoyjslHTC9dz0UoTw)
6. [Database Depth CMU](https://www.youtube.com/c/CMUDatabaseGroup/videos)
7. [Arpit Bhayani Youtube](https://www.youtube.com/@AsliEngineering)

### DataBase Designs, SQL vs NoSQl
1. [Vertabelo Database Articles](https://www.vertabelo.com/blog/)
2. [InDepth Comparison SQL Vs NOSQL](https://towardsdatascience.com/datastore-choices-sql-vs-nosql-database-ebec24d56106)

### Github Repos for all things Software
1. [Coding Interview University](https://github.com/jwasham/coding-interview-university)
2. [FreeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp)
3. [Programming Ebooks Repo](https://github.com/EbookFoundation/free-programming-books)
4. [List of Public Apis](https://github.com/public-apis/public-apis)
5. [Developer RoadMap Repo](https://github.com/kamranahmedse/developer-roadmap)
6. [Awesome Web Resources](https://github.com/sindresorhus/awesome)
7. [Customised interview preparation based on the time you have](https://www.techinterviewhandbook.org/grind75)

### Interview Day Help
1. [Questions to Ask Yourself while solving Problems](https://docs.google.com/spreadsheets/d/1gy9cmPwNhZvola7kqnfY3DElk7PYrz2ARpaCODTp8Go/edit#gid=0)

## Concepts and Articles for System Design
- [Latency Numbers which Every Software Engineer Should Know](https://colin-scott.github.io/personal_website/research/interactive_latency.html)
- [Content Delivery Network (CDN)](https://www.cloudflare.com/learning/cdn/what-is-a-cdn/)
- [Caching](https://medium.com/must-know-computer-science/system-design-caching-acbd1b02ca01)
- [System Design BluePrint](https://medium.com/bytebytego-system-design-alliance/system-design-blueprint-the-ultimate-guide-e27b914bf8f1)
- [Caching Patterns](https://aws.amazon.com/caching/)
- [Distributed Caching](https://redis.com/glossary/distributed-caching/)
- [Latency vs Throughput](https://aws.amazon.com/compare/the-difference-between-throughput-and-latency/)
- [Uptime calculation for SLA](https://uptime.is/)
- [CAP Theorem](https://www.bmc.com/blogs/cap-theorem/)
- [Event-Driven Architecture: Request/Reply Processing](https://www.developertoarchitect.com/lessons/lesson1.html)
- [How Kafka Differs From Standard Messaging](https://www.developertoarchitect.com/lessons/lesson2.html)
- [Load Balancing](https://aws.amazon.com/what-is/load-balancing/)
- [Disk IO Part 1](https://medium.com/databasss/on-disk-io-part-1-flavours-of-io-8e1ace1de017)
- [Disk IO Part 2](https://medium.com/databasss/on-disk-io-part-2-more-flavours-of-io-c945db3edb13)
- [Disk IO Part 3](https://medium.com/databasss/on-disk-io-part-3-lsm-trees-8b2da218496f)
- [ACID Transactions](https://redis.com/glossary/acid-transactions/)
- [How Uber predicts Arrival Times](https://www.uber.com/en-IN/blog/deepeta-how-uber-predicts-arrival-times/)
- [How LedgerStore stores trillion indexes at Uber](https://www.uber.com/en-IN/blog/how-ledgerstore-supports-trillions-of-indexes/?uclick_id=bb28014d-a32a-45a5-b67d-0e87d1bed96c)
- [Modern Load Balancing and Networking by the creator of Envoy](https://lnkd.in/gn4BA3sD)
- [The Log: What every software engineer should know about real-time data's unifying abstraction](https://lnkd.in/gQ7WsE8k)
- [How Uber predicts Arrival Times](https://www.uber.com/en-IN/blog/deepeta-how-uber-predicts-arrival-times/)
- [How LedgerStore stores trillion indexes at Uber](https://www.uber.com/en-IN/blog/how-ledgerstore-supports-trillions-of-indexes/?uclick_id=bb28014d-a32a-45a5-b67d-0e87d1bed96c)
- [Modern Load Balancing and Networking by the creator of Envoy](https://lnkd.in/gn4BA3sD)
- [The Log: What every software engineer should know about real-time data's unifying abstraction](https://lnkd.in/gQ7WsE8k)
- [Unified Payment Data Reads at Airbnb](https://medium.com/airbnb-engineering/unified-payments-data-read-at-airbnb-e613e7af1a39)
- [One million online users in a single discord server](https://discord.com/blog/maxjourney-pushing-discords-limits-with-a-million-plus-online-users-in-a-single-server)
- [๐‚๐š๐ฉ๐ญ๐ฎ๐ซ๐ข๐ง๐  ๐š ๐๐ข๐ฅ๐ฅ๐ข๐จ๐ง ๐„๐ฆ๐จ๐ฃ๐ข๐ฌ ๐š๐ญ ๐‡๐จ๐ญ๐ฌ๐ญ๐š๐ซ](https://blog.hotstar.com/capturing-a-billion-emojis-62114cc0b440)
- [๐‡๐จ๐ฐ ๐๐ข๐ง๐ญ๐ž๐ซ๐ž๐ฌ๐ญ ๐๐ฎ๐ข๐ฅ๐ญ ๐š ๐‘๐ž๐š๐ฅ-๐“๐ข๐ฆ๐ž ๐”๐ฌ๐ž๐ซ ๐€๐œ๐ญ๐ข๐จ๐ง ๐‚๐จ๐ฎ๐ง๐ญ๐ข๐ง๐  ๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐Ÿ๐จ๐ซ ๐€๐๐ฌ](https://lnkd.in/gSRg368z)
- [How Uber Serves 40 Million reads per second](https://www.uber.com/en-IN/blog/how-uber-serves-over-40-million-reads-per-second-using-an-integrated-cache/)
- [๐‡๐จ๐ฐ ๐€๐ข๐ซ๐›๐ง๐› ๐€๐ฏ๐จ๐ข๐๐ฌ ๐ƒ๐จ๐ฎ๐›๐ฅ๐ž ๐๐š๐ฒ๐ฆ๐ž๐ง๐ญ๐ฌ](https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb)
- [๐๐ฎ๐ข๐ฅ๐๐ข๐ง๐  ๐…๐š๐ฌ๐ญ๐ž๐ซ ๐ˆ๐ง๐๐ž๐ฑ๐ข๐ง๐  ๐š๐ญ ๐ƒ๐จ๐จ๐ซ๐ƒ๐š๐ฌ๐ก](https://doordash.engineering/2021/07/14/open-source-search-indexing/)
- [Unified Payment Data Reads at Airbnb](https://medium.com/airbnb-engineering/unified-payments-data-read-at-airbnb-e613e7af1a39)
- [One million online users in a single discord server](https://discord.com/blog/maxjourney-pushing-discords-limits-with-a-million-plus-online-users-in-a-single-server)
- [๐‚๐š๐ฉ๐ญ๐ฎ๐ซ๐ข๐ง๐  ๐š ๐๐ข๐ฅ๐ฅ๐ข๐จ๐ง ๐„๐ฆ๐จ๐ฃ๐ข๐ฌ ๐š๐ญ ๐‡๐จ๐ญ๐ฌ๐ญ๐š๐ซ](https://blog.hotstar.com/capturing-a-billion-emojis-62114cc0b440)
- [๐‡๐จ๐ฐ ๐๐ข๐ง๐ญ๐ž๐ซ๐ž๐ฌ๐ญ ๐๐ฎ๐ข๐ฅ๐ญ ๐š ๐‘๐ž๐š๐ฅ-๐“๐ข๐ฆ๐ž ๐”๐ฌ๐ž๐ซ ๐€๐œ๐ญ๐ข๐จ๐ง ๐‚๐จ๐ฎ๐ง๐ญ๐ข๐ง๐  ๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐Ÿ๐จ๐ซ ๐€๐๐ฌ](https://lnkd.in/gSRg368z)
- [How Uber Serves 40 Million reads per second](https://www.uber.com/en-IN/blog/how-uber-serves-over-40-million-reads-per-second-using-an-integrated-cache/)
- [๐‡๐จ๐ฐ ๐€๐ข๐ซ๐›๐ง๐› ๐€๐ฏ๐จ๐ข๐๐ฌ ๐ƒ๐จ๐ฎ๐›๐ฅ๐ž ๐๐š๐ฒ๐ฆ๐ž๐ง๐ญ๐ฌ](https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb)
- [๐๐ฎ๐ข๐ฅ๐๐ข๐ง๐  ๐…๐š๐ฌ๐ญ๐ž๐ซ ๐ˆ๐ง๐๐ž๐ฑ๐ข๐ง๐  ๐š๐ญ ๐ƒ๐จ๐จ๐ซ๐ƒ๐š๐ฌ๐ก](https://doordash.engineering/2021/07/14/open-source-search-indexing/)
- [SQL vs NoSQL by Sc Gupta](https://www.ml4devs.com/articles/datastore-choices-sql-vs-nosql-database/)
- [Consistent Hashing](https://arpitbhayani.me/blogs/consistent-hashing/)
- [Database Index](https://www.progress.com/tutorials/odbc/using-indexes)
- [Rate Limiting](https://www.imperva.com/learn/application-security/rate-limiting/)
- [Microservices Architecture](https://medium.com/hashmapinc/the-what-why-and-how-of-a-microservices-architecture-4179579423a9)
- [Microservices Guidelines](https://newsletter.systemdesign.one/p/netflix-microservices)
- [Connection Pooling](https://www.cockroachlabs.com/blog/what-is-connection-pooling/)
- [Strong vs Eventual Consistency](https://hackernoon.com/eventual-vs-strong-consistency-in-distributed-databases-282fdad37cf7)
- [Consistency Patterns](https://systemdesign.one/consistency-patterns/)
- [REST vs RPC](https://aws.amazon.com/compare/the-difference-between-rpc-and-rest/)
- [Batch Processing vs Stream Processing](https://atlan.com/batch-processing-vs-stream-processing/)
- [HeartBeat](https://martinfowler.com/articles/patterns-of-distributed-systems/heartbeat.html)
- [Distributed Tracing at Uber](https://www.uber.com/en-IN/blog/distributed-tracing/)
- [Ambassador Pattern](https://learn.microsoft.com/en-us/azure/architecture/patterns/ambassador)
- [Circuit Breaker](https://medium.com/geekculture/design-patterns-for-microservices-circuit-breaker-pattern-276249ffab33)
- [Idempotency](https://blog.dreamfactory.com/what-is-idempotency/)
- [Database Scaling](https://thenewstack.io/techniques-for-scaling-applications-with-a-database/)
- [Database Sharding](https://www.mongodb.com/features/database-sharding-explained#)
- [Fault Tolerance](https://www.cockroachlabs.com/blog/what-is-fault-tolerance/)
- [Domain Name System (DNS)](https://www.cloudflare.com/learning/dns/what-is-dns/)
- [Message Queues](https://medium.com/must-know-computer-science/system-design-message-queues-245612428a22)
- [WebSockets](https://www.pubnub.com/guides/websockets/)
- [Bloom Filters](https://www.enjoyalgorithms.com/blog/bloom-filter)
- [Consensus Algorithms](https://medium.com/@sourabhatta1819/consensus-in-distributed-system-ac79f8ba2b8c)
- [Gossip Protocol](http://highscalability.com/blog/2023/7/16/gossip-protocol-explained.html)
- [API Gateway](https://www.nginx.com/learn/api-gateway/)
- [Distributed Locking](https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html)
- [Data Replication](https://redis.com/blog/what-is-data-replication/)
- [Data Redundancy](https://www.egnyte.com/guides/governance/data-redundancy)

- [Building and Operating S3 the biggest storage system](https://www.allthingsdistributed.com/2023/07/building-and-operating-a-pretty-big-storage-system.html)
- [Keeping Netflix reliable using Load Shedding](https://netflixtechblog.com/keeping-netflix-reliable-using-prioritized-load-shedding-6cc827b02f94)
- [How Discord stores billions of messages](https://discord.com/blog/how-discord-stores-billions-of-messages)
- [How Discord stores trillions of messages](https://discord.com/blog/how-discord-stores-trillions-of-messages)
- [Netflix Fault Tolerance in a high volume distributed system](https://lnkd.in/gGFensR4)
- [How Pinterest runs Kafka at scale](https://lnkd.in/gb5skEtU)
- [How browsers work](https://developer.mozilla.org/en-US/docs/Web/Performance/How_browsers_work)
- [Practical Guide to Kafka Storage Internals](https://medium.com/@durgaswaroop/a-practical-introduction-to-kafka-storage-internals-d5b544f6925f)
- [Building In-Video Search](https://netflixtechblog.com/building-in-video-search-936766f0017c)
- [How Canva scaled Media uploads from Zero to 50 Million per Day](https://www.canva.dev/blog/engineering/from-zero-to-50-million-uploads-per-day-scaling-media-at-canva/)
- [How Airbnb avoids double payments in a Distributed Payments System](https://medium.com/airbnb-engineering/avoiding-double-payments-in-a-distributed-payments-system-2981f6b070bb)
- [Airbnb Delayed Job Queuing System](https://medium.com/airbnb-engineering/dynein-building-a-distributed-delayed-job-queueing-system-93ab10f05f99)
- [Stripeโ€™s payments APIs - The first 10 years](https://stripe.com/blog/payment-api-design)
- [Real time messaging at Slack](https://slack.engineering/real-time-messaging/)

## Please star โญ the repo if you find it helpfull :)