I know you're wanting to jump right in and practice, but do yourself a favor and take a minute to get your head in the right place. So many people get super frustrated with this process and decide it's all a bunch of crap - and then they give up and either fail the interview or cancel before they get there.

Seriously - I can't tell you how many times I've heard a friend tell me how stupid Company X is becaust they wanted them to write a basic algorithm on the white board. The sentiment is always the same:

What does writing a search algorithm have to do with my job? NOTHING. Why are they even asking me this crap!

They're asking you these questions because, believe it or not, people like to lie on their resume. They don't know you and they especially don't know what you know. They want to be sure you can do the things you say you can do on your resume, so they're going to ask you to solve some problems.

So, deep breath. Let's do this - these are very good jobs and these companies want to pay you a lot of money. Let's show them what you can do!