nikunjsoni

System Design Resources

Feb 28th, 2022 (edited)
430
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. Hey leetcoders,
  2. Hope all of you are doing good and many must be preparing for multiple interviews as well.
  3. WIth an intention of giving back to leetcode community, as it helped me crack interviews, here's a small writeup about how I prepared for system design rounds of interviews for multiple companies in India...
  4.  
  5. Note: This post only covers system design(LLD+HLD) topics and crafted as per my 2.5 YoE in industry. For different roles, the expectations from candidate during interview may differ. Also this post doesn't promotes any YouTube channel or any paid resources and is my own personal experience. There are many posts available regarding the same but this post is about my own preparation strategy.
  6.  
  7. I took around 2-3 months for preparing for system design.
  8. Let's start...
  9. While preparing, I divided system design in 3 sections -
  10.  
  11. HLD (High Level Design)
  12. LLD (Low Level Design / Machine Coding)
  13. System Coding (Concurrency / Multithreading)
  14. HLD
  15.  
  16. System design primer - I read it twice(at start and end of prep) and it took me 2-3 weeks to complete it. There are many embeded links and so it takes some time although I skipped a few, but is worth reading as it covers all basic system design fundamentals. I solved problems at end after all prep and skipped the company tech blogs and decided to come over it later when I have extra time.
  17. SystemsExpert - This is a course being sold in market, I didn't buy it though but found the videos of it for free to download. I watched the System Design Fundamentals section of it. It helped to clear basic concepts.
  18. CodeKarle - I watched all of the videos on this channel twice. There's also a website of it where you can find HLD diagrams to quickly revise before the interviews, it's super helpful and is a substitute for last minute notes. This youtube channel covers most of the common system design problems asked in interviews.
  19. Tech Dummies Narendra L - After going through the above resources, I refered this channel as well. It contains many videos right from basics to high level of system design/microservices arch and a lot more. I got many of my concepts and doubts cleared from here and it has many system design tricks that are must to have under belt to crack the interviews. I skipped few of the problems from here as they were covered well in CodeKarle.
  20. SystemDesignInterview - I also watched all this videos. This contains some rare questions which are also asked in many interviews.
  21. Grokking the system design interview - No system design interview prep is complete without reading this. Since I had already covered system design concepts, I used this for problem solving. This by far has the best explanation of capacity estimation, data size estimation and all other calculations that one needs to explain during interviews. Also it has good DB schema explanation.
  22. LLD + Machine Coding
  23.  
  24. Head first design patterns - Design patterns and OOP are the basics of LLD and machine coding. One can read this book to understand design patterns or if you want to watch video, watch this one - Derek Banas - Design Patterns. I refered this resources as and when required if I wanted to know of some design patterns I didn't encounter before.
  25. Udit Agarwal - This has the best resouce for LLD + Machine coding. I watched all of his problem solving videos.
  26. G Balasubramanian - This resource is little tough to understand but nice one. I just watched 1-2 videos of it just to ensure I didn't miss out of anything from other resources.
  27. LLD - Soumyajit Bhattacharyay - This is perfect resource for LLD interviews where one needs to write only class declarations, relationship between them and class methods and attributes using design patterns.
  28. Also refer leetcode OOD section and solve plenty of question from there.
  29. System Coding (Usually asked in Rubrik, Uber, I didn't give any of them)
  30.  
  31. This is one of the rare rounds asked in interviews of few companies. It involves question of concurrency/multithreading and writing code for them. Example - implementing leaky bucket / token bucket algo, Job scheduler, producer-consumer type problems. I was to use C++ for coding so refered resources for C++ concurrent programming.
  32. Concurrent Programming in C++ - This was the only resource I refered.
  33. One can also refer this blog
  34. Few of my interview experiences...
  35. Amazon
  36. Zeta
  37. Media.net
  38. DevRev
  39. Google (Rejected in phone screen, will post in few days)
  40.  
  41. Additional resources which I had bookmarked(I read few blogs of companies and other general blogs from here)-
  42. https://github.com/prasadgujar/low-level-design-primer
  43. https://github.com/shashank88/system_design
  44. https://leetcode.com/discuss/general-discussion/665604/Important-and-Useful-links-from-all-over-the-LeetCode
  45. SudoCode youtube Channel
  46. Alex Xu's Linkedin Posts There's also a book of him
  47. DDIA book - If someone just wants to dive deep in system design.
  48.  
  49. Please upvote this post if you find it useful!!😊
Add Comment
Please, Sign In to add comment