The topics at hand for the next two weeks are: Complexity Analysis (a.k.a BigO), Arrays, Stacks, Queues, Linked List, Trees, Tries, Graphs (BFS and DFS), Hash Tables, Heaps, Sorting, Searching
- Know what topics are expected to arise during a code interview
- Be aware of where to find resources on the expected topics
- Understand Big-O notation
- Be able to estimate Big-O by looking at an algorithm
- O(log n) as the law of dimishing returns
- HackerRank / Leetcode algorithm practise strategies based on learning theory TL;DR: Set a timer, solve without assistance for 30 minutes. If you haven't solved in time, look at the solution. Finish solving for another 30. (potentially) Reduce time allocation as you improve.
- Time complexity and Space complexity - don't forget about memory
- https://www.youtube.com/watch?v=oz9cEqFynHU Tren Black's 15 minute firehose of information "Data Structures and Algorithms in 15 minutes"
- https://www.youtube.com/watch?v=v4cd1O4zkGw Gayle Laakmann McDowell 8 minute overview
- https://www.youtube.com/watch?v=Ee0HzlnIYWQ 30 minute lecture - pragmatic big-O
- https://www.youtube.com/watch?v=shs0KM3wKv8 Gayle Laakmann McDowell 6 minute overview - good rule for interview questions, the answer is always a hash table
- https://www.youtube.com/watch?v=CltYi33y0ls (Nick White) How to use LeetCode effectively
- https://www.youtube.com/watch?v=dIrS31CCITM Techlead: How to solve coding interview problems ("Let's leetcode")
- Solve 4 easy and 1 medium algorithm problem in HackerRank or Leetcode. Adjust for your skill level and avialable time.