Back to Basics
Agenda
-
Arrays & Linked Lists
- Hashtables
-
Stacks & Queues
- Dequeues & Priority Queues
- Trees
- Graphs
- Sorting & Searching
- Parallelism/Concurrency
-
Object-Oriented Design
- Design Patterns
- Functional Programming
- Testing
-
Specific Domains
- Network Programming
- Web Development
What is this?
Now that I've graduated university, I need to prepare for my upcoming interviews. I've decided to go back and review data structures and algorithms as well as some other important concepts (such as parallelization/concurrency). The intent is to both refresh my memory on some that I may not have touched for a few years, as well as create a reference that I or other interested people can look back on.
Code samples may be provided in a number of different languages. Since I'm using this to prepare for interviews, I will focus on traditional languages such as Java, Javascript, Python and C++, but don't be too surprised to see a Scala, Dart or Haskell example sneak in here or there.
I also hope to include actual use cases of the topic being reviewed. Whether that's a simple demonstration I develop or just a reference to someone else's demonstration, or even a link to an open-source project that actually uses it remains to be seen.
Finally, I may (and probably will!) make mistakes. Please feel free to send your feedback to me! I will do my best to keep everything correct, but remember that I'm human!