/TechnicalConceptsForInterviews

Various technical concepts for interviews - Feel free to contribute and make it better!

Technical Concepts For Interviews

  • Overview
  • High level overview of architecture questions / concepts
  • RDBMS vs. NoSQL
  • Row store vs. Column store
  • Hadoop vs. NoSQL
  • Common types of NoSQL
  • Basic frontend terms and concepts
  • HTML and CSS specific frontend interview questions
  • HTTP headers
  • Request methods
  • Cookies
  • JavaScript: Basics and Tricky Questions
  • Node / Express / Readline / FS / Stream / etc.
  • Explain Internet
  • Pointers
  • Memory Allocation
  • Mutex vs. Semaphore
  • Thread locking
  • More basic concepts before reading the architecture section
  • Example questions
  • Twitter
  • Instagram
  • CheatSheet - System Design
  • David Hu is currently making a great repo on TypeScript crash course. Check it out!
  • How would you design a URL Shortner?
  • What really happens when you navigate to a URL
  • You just visited google.com. What happened?
  • What is a web crawler?
  • How does it work?
  • What is WebSocket
  • Contrast to other alternatives
  • Resources

More Topics...

Feel free to work on any of these and make a pull request!

  • API Design and Webhooks
  • Topological Sort, Dijkstra's Algorithm, Priority Queue
  • Hash Table Collision Resolution
  • Rabin-Karp Substring Search
  • AVL Trees / Self-balancing BST
  • Red-Black Trees
  • MapReduce
  • Bellman-Ford Algorithm
  • Floyd-Warshall Algorithm
  • Minimum Spanning Trees

How To Contribute

To fix a bug or create a feature, follow these steps:

  1. Fork the repo
  2. Create a new branch (git checkout -b awesome-feature)
  3. Make changes or add new changes.
  4. Commit your changes (git add -A; git commit -m 'Awesome new feature')
  5. Push to the branch (git push origin awesome-feature)
  6. Create a Pull Request, add appropriate label and assign Raymond Lee as a reviewer.

Please click here to report an issue or request a new feature.

... or simply star the repo :D

Contributors