πŸ“‹ Things to know πŸ€”


πŸ”‘ Data Structures


  • [ ] Trees, Tries & Graphs
  • [ ] Stacks & Queues
  • [ ] Heaps
  • [ ] Vectors/ ArrayLists
  • [ ] Hash Tables

πŸ”‘ Algorithms


  • [ ] Breadth-First Search
  • [ ] Depth-First Search
  • [ ] Binary Search
  • [ ] Merge Sort
  • [ ] Quick Sort

πŸ”‘ Concepts


  • [ ] Bit Manipulation
  • [ ] Memory(Stack vs. Heap)
  • [ ] Recursion
  • [ ] Dynamic Programming
  • [ ] Big O Time & Space

πŸ”Ί Note:

Make sure you understand how to use and implement them and where applicable, the space and time complexity.


πŸƒ Walking through a Problem πŸ’‘


                       πŸ‘‚ Listen / πŸ‘€ Read
                            Carefully
                                ↓

                          πŸ“ˆ  Draw an
                             Example

                                ↓

                          ✊  State a
                           Brute Force

                                ↓

                           πŸ”§ Optimize

                                ↓

                            πŸƒ Walk
                             Through

                                ↓

                           πŸ”¨ Implement

                                ↓

                            πŸš€  Test


Before you do this

WOOT 😱
WOOT 😱

Just hear me out, I totally understand you won’t be needing them in jobs. You could easily live with just basic knowledge and googling API’S. This list basically trains you to think otherwise and reason with. Who knows you might use them when required 😎.


After going through the checklist and having that awesome knowledge πŸ’‘, check out some sick libraries out there:


Persistent Data Structures w/structural sharing



Stay Awesome! 😎
Stay Awesome! 😎

πŸ” REFERENCE

Cracking the Coding Interview