I also want to add my 2 cents on that. I am terrible at white-board/ phone interviews but recently I think I was able to crack at it, and here are my thoughts about it:
- go to the root of the problem, run some examples by hand and try to think as a computer. e.g., I was at apple interview and there was this trick question that could be solved using a modified version of binary search. When I ran some example I kept asking myself "if I know that this element in the middle of the matrix is smaller (or larger) than X, what does that mean?"
- be very comfortable about big O notation. If necessary, be ready to present some formula.
- show that you can do the brute force solution. Sometimes the brute force solution seems very stupid (e.g., enumerate all possible subsets and find the best one), but you need to say it!
- most of all, be confident, but not arrogant. It is not the end of the world to not know something, but it is important to show what you do know!
Can you suggest any resources to freshen up on big o notation and fundamental data structures & algorithms that are not academically dense (i.e CLRS)?
I'm currently working through Cracking the coding interview & Elements of programming interviews but I really need to revisit the fundamentals, specially recurrence relations and calculating the order of complexity for an algorithm but I can't find any resources that are not too academically verbose, I have a really hard time reading mathematical notation.
thalesfc|9 years ago
- go to the root of the problem, run some examples by hand and try to think as a computer. e.g., I was at apple interview and there was this trick question that could be solved using a modified version of binary search. When I ran some example I kept asking myself "if I know that this element in the middle of the matrix is smaller (or larger) than X, what does that mean?"
- be very comfortable about big O notation. If necessary, be ready to present some formula.
- show that you can do the brute force solution. Sometimes the brute force solution seems very stupid (e.g., enumerate all possible subsets and find the best one), but you need to say it!
- most of all, be confident, but not arrogant. It is not the end of the world to not know something, but it is important to show what you do know!
fspear|9 years ago
I'm currently working through Cracking the coding interview & Elements of programming interviews but I really need to revisit the fundamentals, specially recurrence relations and calculating the order of complexity for an algorithm but I can't find any resources that are not too academically verbose, I have a really hard time reading mathematical notation.