Skip to content

Latest commit

 

History

History
23 lines (20 loc) · 1.16 KB

job prep.md

File metadata and controls

23 lines (20 loc) · 1.16 KB

System design interviews play a very important role in any Software development interviews in most of the companies. Not only this, it is very imperative to understand all the concepts behind designing large scale distributed scalable systems. Obviously, there is no replacement to hands on experience but if you wish to learn the basic concepts and understand the different algorithms at play then fret not! I have compiled a list of must do algorithms, techniques and sources that will definitely help you become a better engineer and will ultimately improve your system design skills.

Algorithms required to do before any system design interview:

  1. Trie algorithm
  2. Reverse index
  3. Frugal Streaming
  4. Geo-hashing
  5. Leaky bucket, Token bucket and its variation
  6. Bloom Filters
  7. Operational transformation
  8. Quadtree / Rtree
  9. Loose Counting
  10. XMPP / Web Sockets uses
  11. HTTP Long polling
  12. Consistent Hashing

Some of the good resources available online which can easily help in understanding these concepts more deeply:

  1. System design primer in Github (Free).
  2. AWS Documentation(Free).
  3. Amazon ReInvent videos in youtube(Free).

Rest is continued in the comments.