I’m studying up for a real-deal interview.
There will be whiteboards.
There will be coding questions much more involved than FizzBuzz.
There will be algorithms and math and data structures and all of the things I have successfully avoided for much of my career.
This is potentially a dream job, and if I put the work in I think I’ve got a good chance. No more complaining about FizzBuzz or whining about JavaScript for the next bit (FWIW I’m being sarcastic in calling that whining – those are very viable topics).
In an effort to make sure I’m absorbing what I’m studying, I’m going to write about it here on my lovely WordPress website, and hopefully, do a talk or workshop on it for others at some point. The best way to truly learn something is to teach it, amirite? These posts are not going to be perfect since they are mainly part of my learning technique, so please excuse the lack of editing and any missing explanations. I will link to lots of excellent resources in each though, so those can serve as a learning guide as well!
I’m using the “Need to Know” list of fundamentals in Cracking the Coding Interview as an initial guide for my studies – I figure it’s a good place to start, especially considering the book’s author, Gayle Laakmann McDowell, has excellent videos explaining each of these topics. First up are data structures, which will be followed by algorithms, and finally an outline of core concepts.
Stay tuned for (linking to the posts as I make them):
Data Structures | Algorithms | Concepts |
---|---|---|
Linked Lists | Breadth First Search | Bit Manipulation |
Binary Trees | Depth First Search | Singleton Design Pattern |
Tries | Binary Search | Factory Design Pattern |
Stacks | Merge Sort | Memory (Stack vs Heap) |
Queues | Quick Sort | Recursion |
Vectors/ArrayLists | Tree Insert/Find/etc | Big-O Time |
Hash Tables |