Prepping for a Technical Interview

March 18, 2014

Intro

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.

Algorithms

  • 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
    • order,
    • breadth/level
    • depth
  • 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.

Links

General Review and Tutorials - http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index

Videos


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. - https://gist.github.com/stanzheng/9631465 - http://community.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index - http://cs.stanford.edu/people/eroberts/courses/cs106b/chapters/13-trees.pdf

StackOverflow Questions

Notes

  • 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