I gave a talk at my local ACM about how to prepare for technical interviews. It’s a topic not emphasized on much at my school and I wanted to give students some advice about starting and what helped me.
- Learn about Big O notation and try being able to recognize their O(time).
- Perform two sortings. O(nLog(n)) QuickSort & Merge Sort maybe familiar yourself with others
- Tree Traversals
- in, post, pre
- tree structures, binary, trinary, heap trees, AVL
- Graph problems… Dijkstra, A, common n = np problems. Know Edges and Vertices.
- Learn about what n = np problems. and what makes it a n=np problem.
General Review and Tutorials
- Open Source CourseWare MIT http://www.youtube.com/user/MIT
- Harvard CS50 http://www.youtube.com/user/cs50tv
- Tree’s sheet from Stanford
Google Recruiter Suggested Tips
I got these really helpful tips from a recruiter from Google. They sent me this email for the new interview round info.
- Quick vs Merge http://stackoverflow.com/questions/7878768/when-to-use-merge-sort-and-when-to-use-quick-sort
- Use quick if you can but doesn’t always guarantee nlog(n) and can become O(n^2)
- Merge sort is the best alternative when no Random Access (Stack, Queue, list) of the structure
- Heap sort is also in there if quicksort starts degenerates