Skip to content

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

Notifications You must be signed in to change notification settings

rlee0525/TechnicalConceptsForInterviews

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Technical Concepts For Interviews

Study guide to prepare for technical interviews. Feel free to contribute and help improve the repo!

  • 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
  • What is a hash table?
  • What are hash collisions?
  • Open Addressing
  • Linear and Quadratic Probing
  • Separate Chaining – Robin Hood Hashing – Cuckoo Hashing
  • HTTP headers
  • Request methods
  • Cookies
  • JavaScript: Basics and Tricky Questions
  • Node / Express / Readline / FS / Stream / etc.
  • What is OOP?
  • Why OOP?
  • Key Concepts
  • Pointers
  • Memory Allocation
  • Mutex vs. Semaphore
  • Thread locking
  • High-level thoughts
  • Bubble sort
  • Selection sort vs. Insertion sort
  • Quick sort
  • Merge sort
  • Heap sort
  • Bucket sort
  • Radix sort
  • Why is Quicksort preferred?
  • More basic concepts before reading the architecture section
  • Example questions
  • Twitter
  • Instagram
  • CheatSheet - System Design
  • How would you design a URL Shortner?
  • What really happens when you navigate to a URL
  • What is a web crawler?
  • How does it work?
  • Speeding up your website
  • What is WebSocket?
  • Contrast to other alternatives
  • Resources
  • HTTP vs. HTTPS
  • XSS vs. CSRF
  • Web server vs. Application server
  • Cookie / SessionStorage / LocalStorage
  • Cookies vs. Tokens

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
  • 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!

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

... or simply star the repo!

Contributors

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published